今日实时汇率
1 美元(USD)=
7.3043 人民币(CNY)
反向汇率:1 CNY = 0.1369 USD
更新时间:2025-04-19 08:02:31
原作者:Vitalik Buterin,《状态到期和无状态路线图》(A state expiry and statelessness roadmap)
以太坊的状态规模正在迅速增长。目前仅状态大小大约有 35 GB,如果包括所有 Merkle 证明在内,则超过 100 GB,并且每年大约增加一半。状态存储也是以太坊经济学的一个弱点:它也是唯一一种机制,使得参与者支付一次就可变成节点永远的负担。为了保持以太坊的可扩展性和可持续性,我们需要一些解决方案。
有两种途径的解决方案,并且已经存在很长时间:弱无状态和状态到期:
状态到期:从状态中移除最近没有被访问过的状态(例如:上一次访问还是去年),并需要见证人(witnesses)才能恢复过期状态。这会将每个人需要存储的状态减少到大约 20-50 GB。 弱无状态:只需要区块提议者存储状态,并允许所有其他节点无状态地验证区块。在实践中实现这一点需要切换到 Verkle 树以减少见证人的规模。
本文档描述了同时实施这两个想法的多阶段提案。 事实证明,这比先后连续执行这两个解决方案要容易得多。 没有 Verkle 树的状态到期需要非常大的见证大小来证明旧状态,而切换到没有状态到期的 Verkle 树需要就地转换程序(例如 EIP 2584),这几乎与仅实现状态到期一样复杂。 然而,如果同时进行,这两项改革解决了彼此面对的挑战:状态到期涉及每年创建一个新的状态树,允许 Verkle 树随着时间的推移逐步引入而无需就地转换,而 Verkle 树解决了 见证人规模的问题。
相关链接:状态到期和无状态思想的发展历史
无状态客户端概念,最初的 ethresear.ch 帖子(2017 年):https://ethresear.ch/t/the-stateless-client-concept/172(另见 EthHub) 状态租金(状态到期的前身),2015 年原始提案:https://github.com/ethereum/EIPs/issues/35 ReGenesis(Alexey Akhunov 的提议,可以说是状态到期 +历史到期的一种形式):https://medium.com/@mandrigin/regenesis-explained-97540f457807 Verkle 树:https://notes.ethereum.org/_N1mutVERDKtqGIEYc-Flw 关于边界见证大小的演示(Youtube):https://www.youtube.com/watch?v=qQpvkxKso2E 状态大小管理理论(2021 年 2 月):https://hackmd.io/@vbuterin/state_size_management 复活冲突最小化状态边界:https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739 无状态和状态到期的一些路径:
https://hackmd.io/@vbuterin/state_expiry_paths
回顾:状态到期是如何工作的?
这是对此处提议的机制以及本文档中提议的内容的描述。 核心思想是每个时期都会有一个状态树(如:1 个时期 ~= 1 年),当新时期开始时,会为该时期初始化一个空状态树,任何状态更新都会进入该树。 在一段时间内发生的所有写入都进入最新的树(因此新树和旧树可能存储相同的信息甚至相互冲突;新树总是优先)。