Vitalik Buterin 提出了他精简EthereumEthereum精简计划的一部分,旨在使其更简洁、更安全。
EIP-6780 的核心在于大幅简化了 SELFDESTRUCT 操作码的功能,限制了其销毁trac并擦除其代码和存储空间的能力,除非该trac源自同一事务。虽然从协议规范的角度来看,这似乎并非简化的一大飞跃,但它通过强制执行两条新规则显著减轻了实现的负担:限制单个区块内可更改的存储槽数量,并确保如果trac以代码开始一个事务或区块,则它将以相同的方式结束该事务或区块。
在此次变更之前, Ethereum 生态系统更为复杂。trac可以利用 SELFDESTRUCT 机制清除区块内无限数量的存储槽位,这使得 Verkle 树的实现变得复杂,并因需要编写额外的高效处理代码而拖慢了客户端的开发速度。trac还可以自毁,然后立即以不同的代码重新生成,这给账户trac钱包的交易验证带来了安全隐患。EIP-6780 的引入解决了这些挑战,简化了 Ethereum 客户端和其他基础设施的构建。
Ethereum持续进行的清理工作
Ethereum对简化的追求并未止步于 EIP-6780。例如,Geth 最近停止支持合并前(工作量证明)网络,从而大幅精简了数千行代码。另一项改进是正式承认“空账户”不再是问题,这得益于 EIP-161 中引入的修复。此外,Dencun 升级为 Blob 数据引入了 18 天的存储窗口,显著降低了 Ethereum 节点的存储需求。
关注点也转移到了预编译协议——专为标准 EVM 代码无法高效处理的复杂密码学而设计的特殊trac。尽管它们取得了成功,尤其是在支持 ZK-SNARK 应用方面,但某些预编译协议,例如 RIPEMD-160、dent、BLAKE2 和 MODEXP,如今已很少使用。它们的应用范围有限,加上它们引入的共识漏洞,使得它们有可能被移除或替换为 EVM 代码,尽管这样做会增加 gas 消耗。
EIP-4444 是简化以太坊网络的又一重要举措,旨在解决节点defi存储所有历史区块这种不可持续的做法。通过引入数据块(blob)并设定存储期限,EIP-4444 旨在减轻节点的存储负担,使更多用户能够运行节点,从而进一步增强 Ethereum的去中心化特性。
革新日志记录并向 SSZ 过渡
Ethereum的日志机制改革也在考虑之中。传统的日志对于去中心化应用程序 trac链上事件至关重要,但其效率低下,导致大多数应用程序转而依赖中心化服务。拟议的解决方案包括弃用布隆过滤器并简化 LOG 操作码,以促进利用零知识证明(ZK-SNARKs)和增量可验证计算等更高效、去中心化的日志检索方法的发展。
最后, Ethereum的数据存储和访问机制即将通过采用 SimpleSerialize (SSZ) 进行重大革新。此次转型旨在取代过时的 RLP 和 Merkle Patricia 树,并有望带来诸多优势,例如更清晰的规范、更短且有界的 Merkle 证明,以及消除复杂的位操作代码。向 SSZ 的过渡是统一 Ethereum加密数据结构的关键一步,为未来奠定了基础,届时一个单一的、与 SNARK 兼容的哈希函数即可服务于整个 Ethereum。

