2015年以太坊主网上线时,Vitalik Buterin曾自信地表示状态存储不会成为问题。十年后的今天,这个乐观估计正在变成以太坊最棘手的技术债务——全节点存储需求已超过1.2TB,而每一次EVM操作都在向这个无底洞倾倒数据。如果不采取行动,以太坊的去中心化特性将在五年内被存储门槛彻底摧毁。
2026年,以太坊核心开发团队终于将这个问题列入了正式的升级议程。在Glamsterdam升级完成并行处理优化之后,下一个代号为Hegotá的硬分叉将目光瞄准了状态管理的根本性重构。这不是一次性能补丁,而是一场关于”以太坊应该记住什么、遗忘什么”的哲学变革。
被忽视的定时炸弹:理解以太坊的状态膨胀
要理解Hegotá升级的意义,首先需要区分两个常被混淆的概念:历史数据与状态数据。
以太坊节点需要存储两类数据。第一类是历史数据——这是区块链的”账本”,记录着从创世区块到现在的每一笔交易,任何人都可以重新验证这些历史记录。以太坊通过Portal Network等方案,已经在探索将历史数据卸载到专用网络,让节点不必背负完整的交易归档负担。
第二类是状态数据,这才是真正的棘手问题。状态是以太坊的”当前记忆”,包括每个账户的余额、每个智能合约的存储内容、每个地址的nonce值。与历史数据不同,状态数据必须随时可读可写——当你发起一笔转账时,节点必须立即查询你的余额、计算gas、扣除金额、写入收款方地址,这个过程要求状态数据始终处于”热”状态。
问题在于,以太坊的状态只会增长,从不”遗忘”。即使某个账户十年没有活动,即使某个NFT早已被转移,相关的状态数据仍然占据着每个全节点的存储空间。根据最新统计,以太坊当前约有2.3亿个非零状态条目,而其中超过60%属于”沉睡”状态——这些数据可能在未来十年内都不会被任何合约访问。
这种持续膨胀带来的后果是毁灭性的。运行一个完整的以太坊验证节点需要高性能NVMe SSD、32GB以上内存、8核CPU,硬件成本轻松超过2000美元。更令人担忧的是门槛还在持续上升:过去三年,全节点的存储需求年均增长约40%。如果放任不管,十年后的以太坊全节点将成为只有数据中心才能运行的”怪物”。
去中心化的本质是广泛分布的节点网络。当存储门槛高到只有少数机构能够承担时,以太坊赖以生存的去中心化假设就会崩塌。攻击者不再需要51%的算力,只需让普通用户无法运行节点、让验证者数量萎缩到可控范围。这不是危言耸听,而是摆在以太坊面前的残酷现实。

Hegotá升级的核心:状态过期机制的设计哲学
Hegotá升级的核心提案EIP-7623引入了一种革命性的机制:状态过期。简单来说,系统将不再永久保存所有状态,而是让”沉睡”超过一定期限的状态自动过期,只有在需要时才通过”恢复”操作重新激活。
这个设计的核心理念来自一个朴素的生活经验:人们不会永久保存所有旧物。你可能会保留重要文件的电子副本,但不会把十年前的超市小票、早已过期的会员卡留着。以太坊的状态管理也应该遵循同样的逻辑。
具体实现上,Hegotá引入了”租金”的概念——虽然这不是传统意义上的租金支付。系统设定一个状态存活周期(初始提案为一年),在此期间,所有活跃使用的状态条目可以自由读写。当账户或合约超过一年没有任何交互时,其状态就会进入”过期”状态。
过期的状态并非被删除,而是被”冻结”。它不再占用活跃状态的存储空间,节点不再需要为其支付高昂的内存和SSD成本。如果未来有人需要访问过期状态,可以通过一个特殊的”恢复”交易来重新激活——这个过程需要提供该状态对应的Merkle证明,证明其曾经是有效的历史状态。
恢复操作的成本将远低于当前的存储成本。对于普通用户而言,这意味着你的ETH永远安全——即使你的钱包一年没使用,只要你能提供私钥签名,就可以随时恢复账户并转移资产。而对于那些真正需要长期存储的数据(如NFT元数据、历史记录),开发者需要重新设计合约架构,将数据锚定到新的模式上。
Verkle树:让状态证明更轻量
状态过期机制的实现依赖一个关键技术:Verkle树。理解Verkle树之前,先回顾一下以太坊当前使用的Merkle Patricia Trie(MPT)。
MPT是以太坊状态存储的核心数据结构,它将所有状态组织成一棵树形结构,每个叶子节点代表一个账户或存储槽的最终值,而每个父节点都是其子节点哈希的哈希。这种设计使得任何人都可以通过提供一条Merkle路径来证明某个状态值在特定区块是正确的——这就是轻客户端能够验证交易有效性的基础。
然而MPT存在一个致命缺陷:证明体积过大。验证一个账户余额需要提供从叶子到根的完整路径,每一层都需要一个哈希值。以太坊账户的Merkle证明通常包含12到15个节点,每个节点32字节,总计超过400字节。更糟糕的是,随着状态规模增长,这个数字还在持续膨胀。
Verkle树应运而生。它采用了一种叫向量承诺(Vector Commitment)的密码学原语,可以将多个值压缩成单一承诺,同时支持高效的范围证明。与Merkle树不同,Verkle树的证明不再是路径式的,而是”多分支”式的——你只需要证明目标值在某个特定”短结构”中,而不需要遍历从叶子到根的完整链条。
这个改进的效果是惊人的。根据以太坊基金会的测试数据,Verkle树可以将状态证明的体积从400多字节压缩到不到100字节,压缩比超过75%。对于依赖状态证明的应用(如轻客户端、Layer2跨链桥、Rollup批次验证),这意味着网络带宽需求的大幅降低和用户体验的显著提升。
更重要的是,Verkle树为状态过期提供了技术可行性。如果状态证明体积过大,过期状态的恢复成本将高得令人望而却步——想象一下每次恢复账户都需要传输数KB的证明数据。Verkle树的高效证明使得过期状态的按需恢复成为可能,系统可以在可接受的gas成本下验证历史状态的有效性。
技术挑战:状态过期的实施困境
理想很丰满,现实很骨感。状态过期机制在技术实施层面面临着多重挑战。
第一个挑战是边界划定。以太坊有两种主要的状态类型:账户状态和合约存储状态。账户状态相对简单,每个地址对应一个账户,包括余额、nonce、代码哈希等字段。但合约存储状态要复杂得多——一个合约可能有数万个存储槽,每个槽都有自己的值、更新频率和重要性。如何在数以百万计的合约中公平且高效地划分”活跃”与”过期”的边界,是一个需要精心设计的治理问题。
当前提案建议以账户为基本单位进行过期判断:只要账户本身(及其所有存储)超过一年没有任何交互,就整体过期。但这又引出了新问题:某些合约(如著名的CryptoPunks合约)虽然很少被直接调用,但其存储数据被无数其他应用引用和读取。如果简单地对整个合约状态设置过期机制,可能会破坏这些依赖关系的稳定性。
第二个挑战是恢复机制的设计。当用户试图访问一个过期状态时,系统需要验证这个状态确实曾经存在。这需要一个高效的证明系统,让用户能够用最小成本说服全节点。
Verkle树在这里再次发挥作用,但实现细节远比理论复杂。用户不仅需要证明状态值本身,还需要证明这个状态值确实属于某个特定的历史周期——因为同一个地址在不同时间点可能拥有完全不同的状态。系统必须能够区分”这个地址在2024年3月有500ETH”和”这个地址在2025年7月有1200ETH”,而Verkle树本身并不原生支持这种时间维度。
核心开发者提出的方案是引入”状态周期”的概念。以一年为一个周期,每个周期的状态存储在独立的Verkle树中,过期机制针对整个历史周期而非单个状态。当用户需要恢复某个历史状态时,需要指定目标周期,系统再从对应的历史树中提取证明。这实际上是在状态空间中引入了一个新的维度。
第三个挑战是数据可用性。状态过期的本意是减轻节点负担,但如果过期状态的恢复完全依赖用户自己提供证明,那么在某些边缘情况下(比如用户丢失了历史数据、没有及时备份证明),状态可能会永久丢失。
为了解决这个问题,以太坊需要建立一套分布式状态存档网络。Archive节点(有足够存储空间的节点)将保存完整的状态历史,并在需要时为恢复请求提供服务。这与Portal Network的思路一脉相承:让专业化的存档节点承担历史数据的存储负担,而普通验证节点只需关心活跃状态。
对开发者和用户的影响
Hegotá升级对不同群体的影响差异显著。
对于普通ETH持有者,状态过期机制几乎是透明的。你的ETH永远不会因为”忘记操作”而丢失——只要保管好私钥,随时可以恢复账户并转移资产。唯一需要注意的是,如果你的钱包长期闲置,恢复操作可能需要额外的gas和时间。
对于智能合约开发者,影响则更为深远。那些依赖永久状态存储的合约需要重新审视其架构设计。例如,纯粹的存储型合约(如ENS域名注册表)可能需要迁移到新的模式,或者接受定期”激活”其状态的维护成本。
开发者还需要特别注意合约的可升级性设计。在状态过期的框架下,如果一个代理合约的存储过期了,升级后的实现可能无法访问原有的存储数据。透明升级代理(UUPS)等模式可能需要进行适配,确保代理状态和实现状态的过期周期保持一致。
对于Layer2项目,状态过期既是挑战也是机遇。ZK-Rollup的验证需要访问历史状态数据来生成有效性证明,而OP-Rollup的欺诈证明也依赖状态可用性。这些项目需要与以太坊的状态存档网络建立接口,或者自行维护必要的历史状态副本。
路线图展望:Hegotá何时到来
根据以太坊核心开发团队发布的2026年协议优先级更新,Hegotá升级预计在2026年下半年进行。在此之前,Glamsterdam升级(引入并行执行和ePBS)将先行部署,为Hegotá奠定基础。
状态过期的实施将分阶段进行。初始阶段只针对新创建的状态生效——这意味着升级后一年内,以太坊的状态规模仍会继续增长,但增长的部分将受到过期机制的约束。历史状态的处理将在后续阶段逐步推进,给整个生态足够的时间来适应新的范式。
值得注意的是,Hegotá只是以太坊状态管理演进路线图的一个节点。在Verkle树之后,长远目标还包括Danksharding带来的完整数据可用性采样能力、Keccak到Poseidon哈希函数的迁移、以及可能的历史数据完全归档化。这些技术组合在一起,将构建一个既保持去中心化特性、又能支撑全球规模的以太坊网络。
结语
Hegotá升级标志着以太坊从一个”存储一切”的系统向”选择性记忆”的系统转变。这不是技术退步,而是成熟度的体现——就像一个成年人学会区分什么是值得记住的、什么是可以放下的。
对于区块链行业而言,以太坊的状态过期实验具有深远的示范意义。其他公链迟早也会面临类似的状态膨胀问题,而以太坊的解决方案将为它们提供宝贵的参考。更重要的是,这种”状态分层”的思路可能会催生新的应用范式:活跃数据存储在链上、冷数据迁移到专用层、按需恢复而非永久保存。
以太坊的下一个十年,将从学会”遗忘”开始。

发表回复