DeFi之道2022-06-29 14:52:14
注:原文作者是 Alex Beckett,目前就职于 Celestia。
全节点验证区块的方式,是通过下载所有交易并重新执行它们来检查其有效性,毫不奇怪的是,更大的区块会给全节点带来更大的负担,因为处理和验证每个区块需要更多的硬件。而欺诈和有效性证明等技术使得节点能够检查有效性,而无需重新执行每笔交易。数据可用性采样技术使得节点能够验证数据可用性,同时只下载每个区块的一小部分。
剩下的最后负担之一就是状态。要验证区块,全节点还必须存储整个状态的副本。随着状态的增长,对全节点的存储需求也会增加。幸运的是,状态增长在一定程度上也是可以解决的。
所谓无状态(Statelessness)是一种特性,是指全节点可以在不存储状态的情况下验证区块(这就叫无状态)。而无状态主要有两种:
强无状态:不需要节点来存储状态。
弱无状态:只需要区块生产者来存储状态。
强无状态引入了一个数量级的复杂性和权衡,所以我们现在只关注弱无状态。
一个(弱)无状态 rollup 是一种至少需要定序器(sequencer)来存储状态的 rollup,但全节点是无状态的。一个 optimistic rollup 可能还需要观察器( watcher)存储状态以生成欺诈证明,这取决于是否允许为定序器(sequencer)节点生成欺诈证明。
为了验证一个区块的有效性,全节点从一个 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 网络是一个先决条件。
注意事项1、状态请求除了验证区块,全节点还服务于状态请求(例如,将地址 0x 的账户余额发送给我……)。无状态节点与全节点一样完全验证状态转换,但依赖于全节点来访问状态。因此,仍然需要最少数量的全节点来向网络的其余部分提供状态请求。
实际上,由于硬件要求较低,用户可能会倾向于使用无状态节点,因此,能够依赖的全节点会越来越少。如果没有足够的全节点来服务于状态请求,那么无状态 rollup 将遇到瓶颈,因为状态无法在整个网络中以足够快的速度传播以满足需求。
2、交易验证全节点在将传入交易转发到 mempool 之前验证它们,以防止 mempool 和区块生产者收到无效的垃圾交易。然而,交易验证需要访问状态以获取发送者的帐户余额和 nonce 等数据,无状态节点在没有向全节点发出状态请求的情况下无法执行这些数据。此过程会给无状态节点带来 DoS 攻击的问题,它们可能会收到垃圾交易,但不能拒绝交易,直到它们发出所需的状态请求以检查交易是否有资格转发到 mempool,此外,由于无状态节点在转发交易之前必须采取的额外步骤,因此交易传播速度会变慢。
无状态 rollup 的好处1、状态增长取消全节点存储状态的要求会降低硬件门槛,从而降低更多用户运行全节点的障碍。减轻状态增长的负面影响对于 rollup 以及任何其他链一样重要,因为它们也很脆弱。由于弱无状态并不能免除定序器存储状态的责任,因此使用最多的 rollup 会发现状态增长可能会成为一种障碍。我们可以实施进一步的措施来减少定序器的状态增长,例如,在状态到期时,在给定的时间段内未被访问的状态将从状态中删除。
顺便说一句,无状态还移除了磁盘 IO 的 DoS 攻击向量,因为无状态节点不再需要执行状态访问,如果 rollup 具有较大的状态,这将特别有用。
2、欺诈证明无状态(Statelessness)和欺诈证明是同一枚硬币的两面,只要实现了其中一个,就能免费获得另一个。节点需要 pre-state root 和 post state root 来验证欺诈证明,这与无状态区块验证的的要求类似。诚然,关于欺诈证明还有其他考虑因素,例如单轮与多轮、bonding(绑定)以及一般审查阻力细节。
如果防欺诈实现允许它们在 rollup 的 p2p 网络中分布,则轻客户端在此过程中的信任度会最小化。
以太坊Layer 2必知必会2023-04-26 15:03:27
浅析NFT未来:仅少数项目上涨 出圈项目会成赢家2023-04-26 14:15:26
E-CNY时代来临:当你的工资成为数字人民币2023-04-26 12:43:48
浅谈为什么MEV搜索者矿池并不可行?2023-04-26 12:08:40
"庄家"互撕 曝出加密巨头拉的那些"帮派"2023-04-26 11:59:08
怎样到达Web3世界:使用Web3技术的公司及集成到业务的步骤2023-04-26 11:53:15
稳定币项目 HAI、Starknet 2023 路线图2023-04-26 11:46:35
ChatGPT类产品安全隐患解决?英伟达发布开源工具包2023-04-26 11:26:24
蚂蚁集团发布HOU、AntChainBridge、Web3开放联盟链等多个Web3产品2023-04-26 11:24:46
ChatGPT背后的算力博弈 中国企业亟待打破美国桎梏2023-04-26 10:59:28
简析DWF Labs:出手频繁 颇具争议的加密做市商2023-04-26 10:48:45
NFT 交易平台生存现状研究:后版税战争时代下的龙头之争2023-04-26 09:20:51
以太坊提款功能开启后的带宽使用情况2023-04-26 08:30:24
上海升级提款效应:数据揭示 LSD 项目们的表现2023-04-26 07:28:37
3分钟读懂基于LayerZero的多链抗MEV DEX聚合器Cashmere2023-04-25 20:05:34
对话去中心化流动性质押协议Rocket Pool:如何促进以太坊Staking民主化?2023-04-25 19:02:21
Bankless:欧美都想监管稳定币 他们怎么做?2023-04-25 17:43:44
Coinbase起诉SEC全文:请在合理时间内回应加密规则请愿书2023-04-25 16:43:34
慢雾:Web3 假钱包第三方源调查分析2023-04-25 15:43:36
Binance Sensei介绍:您的Web3 AI导师2023-04-25 13:20:55