注:原文作者是 Alex Beckett,目前就职于 Celestia。
全节点验证区块的方式,是通过下载所有交易并重新执行它们来检查其有效性,毫不奇怪的是,更大的区块会给全节点带来更大的负担,因为处理和验证每个区块需要更多的硬件。而欺诈和有效性证明等技术使得节点能够检查有效性,而无需重新执行每笔交易。数据可用性采样技术使得节点能够验证数据可用性,同时只下载每个区块的一小部分。
剩下的最后负担之一就是状态。要验证区块,全节点还必须存储整个状态的副本。随着状态的增长,对全节点的存储需求也会增加。幸运的是,状态增长在一定程度上也是可以解决的。
所谓无状态(Statelessness)是一种特性,是指全节点可以在不存储状态的情况下验证区块(这就叫无状态)。而无状态主要有两种:
a16z合伙人:有很多项目在未来12个月内推出:金色财经报道,a16z合伙人Chris Dixon在播客采访中表示,对明年推出的web3游戏感到兴奋,在未来12个月内,有很多的项目推出。Dixon描述说,在过去的三年中,大多数开发web3游戏的团队都是“游戏爱好者的加密人”。但现在,暴雪、Riot和Valve等“顶级游戏团队”“决定要么制作包含nft的传统游戏,要么创造完全的链上游戏”。
a16z在5月推出了一个6亿美元的基金,以建立web3游戏产业。(the block)[2022/12/20 21:55:14]
强无状态:不需要节点来存储状态。
弱无状态:只需要区块生产者来存储状态。
SBF、a16z合伙人、蚂蚁集团CEO等Web3领域人物将出席香港金融科技周并发表演讲:10月28日消息,据香港金融科技周官网信息,SBF、a16z合伙人AlexRampell、AnimocaBrands联创YatSiu、蚂蚁集团CEO井贤栋等加密和Web3领域重磅人物将出席香港金融科技周并发表演讲。该活动将于10月31日至11月4日举行。
10月16日,香港财政司司长陈茂波表示,特区政府将在该活动上发布有关虚拟资产在港发展的政策宣言,内容涵盖愿景和策略、监管制度、对于开放投资者接触虚拟资产的取态,以及为把握虚拟资产带来的技术优势推出先导项目。陈茂波称,政策宣言将向全球业界展示推动香港发展成国际虚拟资产中心的愿景,以及与全球资产业界一同探索金融创新的承担和决心。[2022/10/28 11:52:45]
强无状态引入了一个数量级的复杂性和权衡,所以我们现在只关注弱无状态。
a16z合伙人:加密市场低迷给风投公司更多投资机会,希望创造一个更好的互联网:8月23日消息,a16z合伙人Chris Dixon在接受《金融时报》采访时表示,目前的加密市场低迷给风险投资公司更多的投资机会。目前互联网上的权力由一小部分公司掌握。我们可以做的是创造一个更好的互联网,创造新的系统,让网络效应累积到社区而不是公司。(CoinDesk)[2022/8/23 12:43:10]
一个(弱)无状态 rollup 是一种至少需要定序器(sequencer)来存储状态的 rollup,但全节点是无状态的。一个 optimistic rollup 可能还需要观察器( watcher)存储状态以生成欺诈证明,这取决于是否允许为定序器(sequencer)节点生成欺诈证明。
a16z前合伙人:Web3是关于所有权,而不是去中心化:1月9日消息,Andreessen Horowitz(a16z)前合伙人Jesse Walden发推表示,Web3是关于所有权,而不是去中心化。去中心化只是对支持互联网原生、可编程资产所有权的基础设施合法性的要求。这种基础设施独特地使所有权成为互联网规模的用户体验的基石。[2022/1/9 8:35:57]
为了验证一个区块的有效性,全节点从一个 pre-state root 开始,它是在将前一个区块附加到链上之后的状态树的根。然后重新执行交易,生成一个新的状态根(称为 post state root)。然后,根据提议的区块头中的 post state root 来验证计算的 post state root。如果匹配,则该区块有效,如果不匹配,则该区块无效并被拒绝。但是,无状态节点一开始没有 pre-state root,因为它们不存储状态。
在无状态 rollup 当中,定序器将为每个区块分配一个 pre-state root 和 post state root,以验证该区块。还有许多其他细微差别,但这是无状态验证的基本思想。
如果无状态 rollup 具有一个 p2p 网络,则定序器只需将区块和相应的状态根发送到初始对等组,然后它们可以在整个网络中传播它们。但如果无状态 rollup 没有 p2p 网络(目前很多 rollup 都是这种情况),那么单个定序器将需要将区块和状态根单独分发到网络中的每个节点。在没有 p2p 网络情况下的 rollup 中实现无状态,将给定序器带来不切实际的巨大负担。因此,p2p 网络是一个先决条件。
除了验证区块,全节点还服务于状态请求(例如,将地址 0x 的账户余额发送给我……)。无状态节点与全节点一样完全验证状态转换,但依赖于全节点来访问状态。因此,仍然需要最少数量的全节点来向网络的其余部分提供状态请求。
实际上,由于硬件要求较低,用户可能会倾向于使用无状态节点,因此,能够依赖的全节点会越来越少。如果没有足够的全节点来服务于状态请求,那么无状态 rollup 将遇到瓶颈,因为状态无法在整个网络中以足够快的速度传播以满足需求。
全节点在将传入交易转发到 mempool 之前验证它们,以防止 mempool 和区块生产者收到无效的垃圾交易。然而,交易验证需要访问状态以获取发送者的帐户余额和 nonce 等数据,无状态节点在没有向全节点发出状态请求的情况下无法执行这些数据。此过程会给无状态节点带来 DoS 攻击的问题,它们可能会收到垃圾交易,但不能拒绝交易,直到它们发出所需的状态请求以检查交易是否有资格转发到 mempool,此外,由于无状态节点在转发交易之前必须采取的额外步骤,因此交易传播速度会变慢。
取消全节点存储状态的要求会降低硬件门槛,从而降低更多用户运行全节点的障碍。减轻状态增长的负面影响对于 rollup 以及任何其他链一样重要,因为它们也很脆弱。由于弱无状态并不能免除定序器存储状态的责任,因此使用最多的 rollup 会发现状态增长可能会成为一种障碍。我们可以实施进一步的措施来减少定序器的状态增长,例如,在状态到期时,在给定的时间段内未被访问的状态将从状态中删除。
顺便说一句,无状态还移除了磁盘 IO 的 DoS 攻击向量,因为无状态节点不再需要执行状态访问,如果 rollup 具有较大的状态,这将特别有用。
无状态(Statelessness)和欺诈证明是同一枚硬币的两面,只要实现了其中一个,就能免费获得另一个。节点需要 pre-state root 和 post state root 来验证欺诈证明,这与无状态区块验证的的要求类似。诚然,关于欺诈证明还有其他考虑因素,例如单轮与多轮、bonding(绑定)以及一般审查阻力细节。
如果防欺诈实现允许它们在 rollup 的 p2p 网络中分布,则轻客户端在此过程中的信任度会最小化。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。