自2013 年首次发布白皮书至今,以太坊已经度过了九年。在这漫长而辉煌的时光里,以太坊成功经历了11 次重大升级,每次都为其生态系统注入了新的叙事和机会。在目前的Senerity 阶段(以太坊2.0),创始Vitalik Buterin 计画用六个阶段来完成升级路线,这些升级的主要涉及的方向是:扩容、提高安全性、共识机制、以及经济模型优化。从Vitalik Buterin 发布的以太坊路线图来看,Dencun 升级是以太坊升级路线图中「The Surge」的一部分。
The Surge
The Surge 阶段主要是为了解决一直以来困扰的可扩展性问题,目标是使以太坊的性能最终能达到10 万TPS 的水平,接近传统电子支付的速度。而这项升级是透过Danksharding(“DS”,即分片)来实现的。这也是本文要介绍的重点,计画今年进行的坎昆升级。
什么是坎昆升级?
坎昆升级是以太坊的重要升级,旨在增加资料储存和降低费用。坎昆升级包括五个EIP,其中最受到市场关注的是EIP-4844,主要目的是解决以太坊的可扩展性问题,帮助降低以太坊Layer2 解决方案的交易成本,直接利好L2 等相关生态。除了核心EIP-4844,其他改进提案有EIP-1153、EIP-4788、EIP-5656、EIP-6780。
2024 年1 月17 日和1 月30 日,以太坊开始在Goerli 和Sepolia 测试网路上进行坎昆升级测试,目前测试网路运作正常,Blob 提交数量正常。接下来还有Holesky(2 月7 日)的后续测试,主网实施日期尚未公布。
EIP-4844(Proto-Danksharding)
目前,以太坊Layer 2 的所有交易资料都储存在Layer 1 的Calldata 中。然而Calldata 空间有限,无法满足日益增长的储存需求,同时导致了高昂的资料使用成本,增加了以太坊节点的运算负担。
而此次坎昆升级则会引入Blob,Blob 是EIP-4844 新引入的资料储存结构,专门为了储存Layer 2 往Layer 1 提交的交易数据,Blob 储存在共识层上,与Calldata 分开,以太坊虚拟机(EVM)无法存取。 Blob 作用是满足储存的资料在一定时间内(大约一个月内自动删除)被需求方存取验证,而不需要Layer 1 去全部执行,从而大大减少节点负担。
目前一个Blob 的大小固定为128 KB,因此单一Rollup 只能直接购买整个Blob,而无法按需购买其中的一部分资料。总的来说,区块附带六个完整的Blob 会使得区块大小增加40% 左右,考虑到目前一个区块的大小大约可以达到1.875 MB,而一个完整的Blob 集合可能增加约0.75 MB。而这种增加是在18 天的滚动周期发生的,因此网路节点不会增加其长期储存容量。
新预编译 Point Evaluation Precompile
另外,EIP-4844 也引进了一个新预编译叫Point Evaluation Precompile,可以让Optimistic rollup 和ZK rollup 方便地验证涉及Blob 的资料。
在Optimistic rollup 中,Point Evaluation Precompile 的主要用途是在提交诈欺证明时验证所提供的底层资料。在ZK rollup 中,Point Evaluation Precompile 主要用于验证两个关键承诺,即Blob 承诺和ZK rollup 本身的承诺。透过利用Point Evaluation Precompile,ZK rollups 可以有效地证明这两个承诺指向相同的数据,确保了数据的一致性,为整个ZK rollup 系统提供了可靠性和安全性的保障。
EIP-1153(瞬时储存操作码)
目前,以太坊上所有的资料储存都遵循永久存储模型,包括储存临时数据,造成了浪费,同时也消耗了大量的Gas 费用。 EIP-1153,旨在带来一种新的机制,用于处理智慧合约执行期间临时或瞬时储存。瞬时存储操作码的引入允许智能合约使用瞬时存储,智能合约可在一次完整的事务执行周期中读取和调用临时存储的数据,且在事务执行周期结束后,直接清除临时数据。
EIP-4788(Beacon 区块根提交)
目前以太坊虚拟机器EVM(以太坊执行层)与Beacon链(以太坊共识层)相互独立的特性带来了一些挑战,EVM 没办法直接存取Beacon 链,只能透过外部可信任预言机的方式取得Beacon 链上的数据和状态,这种模式存在着预言机故障、恶意操控等风险。
而EIP-4788 将为每个执行区块头上放置一个Beacon 链区块根,EVM 就可以直接获取以太坊共识层的状态和数据,这相当于引入协议层面的预言机,提升了营运效率和准确性,并消除了与外部预言机相关的风险。
EIP-5656(MCOPY操作码)
EIP-5656 引进 MCOPY 操作码,优化智慧合约执行期间记忆体复製资料的过程。记忆体复製是指將资料从记忆体的一个位置移动到另一个位置的过程,这是计算中用於建构资料结构和复製物件的一项基本操作。MCOPY 操作码的採用將会降低相关操作的 Gas 费,同时提升合约执行的效能。
EIP-6780(限制 SELFDESTRUCT 自毁)
顾名思义,现存的SELFDESTRUCT 自毁操作码,就是允许开发者透过此操作码将智慧合约从区块链上彻底删除,执行完成后会从以太坊中移除合约的程式码和存储,并将合约中剩余的ETH 传送到指定地址。此操作会对帐户的状态进行大量的更改,因为它涉及移除已经部署在链上的合约程式码和储存资料。
EIP-6780,旨在限制SELFDESTRUCT 操作码的使用方式。只有当建立智慧合约并在同一交易中执行SELFDESTRUCT 操作码时,它才会生效。而其他情况下,不会出现任何的程式码或储存删除。
总结
作为区块链技术的先驱,以太坊一直在推动自身技术的更新与升级,以满足日益增长的业务需求与用户期望。本次坎昆升级正是以太坊在可扩展性与效能提升路线图上的重要一步。
随着坎昆升级的实施,以太坊在安全性、可扩展性和可持续性方面都取得了显着的进展,为未来更广泛的区块链应用奠定了坚实基础。