02「坎昆升级」确定实施的改进提案一览
- EIP-4844
- EIP-1153
- EIP-6780
- EIP-4788
- EIP-5656
- EIP-7516
除了上文所述备受关注的改提案 EIP-4844,截至 2023 年 12 月 8 日,此次「坎昆升级」已确定正在实施的改进提案还包括:
▶ EIP-1153「Transient Storage Opcodes」:添加瞬态存储操作码。瞬态存储是专门用来解决区块内部通讯的解决方案。
瞬态存储不改变现有操作的语义,瞬态存储的数据在每次交易后会被丢弃,不会访问服务器磁盘,使用后也无需清除存储槽,客户端也不需要加载原始数据。
因此,相对来说,使用瞬态存储解决区块内部之间通讯问题的优势在于 Gas Fee 较低,且未来的以太坊数据存储设计中不需要考虑因临时存储而产生的操作费用退费的情况。但是,EIP-1153 并不适用于解决现有智能合约中临时存储数据的使用问题。
▶ EIP-6780「SELFDESTRUCT only in same transaction」:修改 SELFDESTRUCT 操作码的功能,为未来以太坊应用 Verkle Tree 架构 ( 常见简称「沃克尔树」) 做准备。
当前,以太坊应用的是 Merkle Tree 架构(常见简称「默克尔树」)架构,使用 SELFDESTRUCT 操作码可以对账户状态进行大量更改,比如,可以删除代码和存储。但是,当未来以太坊上应用 Verkle Tree 架构时,就无法轻易对账户进行修改或删除,因为 Verkle Tree 架构会把每个账户存储在不同的账户密钥中,这些密钥不会连接到根账户。
因此,EIP-6780 提出了对 SELFDESTRUCT 操作码功能的修改建议。根据 EIP-6780,修改后的 SELFDESTRUCT 操作码,在使用中不再具备更改或删除账户的能力,将只用于传送 ETH 给调用者,但有一种例外的情况是,当 SELFDESTRUCT 在由一个智能合约创建的相同交易中被调用。

△ 以太坊坎昆升级相关改进提案在客户端的实施进度 ( 截至 2023/12/8)
图源:github@Cancun Network Upgrade Specification
▶ EIP-4788「Beacon block root in the EVM」:在以太坊虚拟机中公开信标链区块根。信标链区块根是一种密码蓄能器(Accumulators),用于证明任意的共识状态。
在以太坊虚拟机中公开信标链区块根会允许实现对以太坊共识层最小化信任的访问。这也是一个有助于用例开发的改进协议,将支持 Staking Pools 、智能合约桥等用例改进其信任假设(Trust Assumptions)。
▶ EIP-5656「MCOPY - Memory copying instruction」:提供一个能够用于复制内存区域的、高效的以太坊虚拟机指令。内存复制是一个基础操作,对于各种计算量大的操作非常有用,不过未来实施到以太坊虚拟机上也会产生操作费用。
EIP-5656 引入的指令是一个以前不存在的新指令,已经发布的智能合约如果使用这个新指令要注意兼容性,可能需要调整操作。
▶ EIP-7516「BLOBBASEFEE opcode」:引入操作码 BLOBBASEFEE。该操作码与 EIP-3198 协议关联的 BASEFEE 操作码相同,只是 BLOBBASEFEE 是根据此次坎昆升级中的 EIP-4844 协议返回 Blob 基本费用。
在「坎昆升级」日程正式确定之初(2023 年 4 月 ~ 5 月左右)曾热议的、可能会被加入「坎昆升级」的执行层协议 EIP-2537(预编译 BLS12-381 曲线操作)、EIP-5920(引入新的操作码 PAY),截至 2023 年 12 月 8 日,依旧尚未展示在升级日程时间表中。

△ 客户端集成测试进度,Devnet-12 已激活 ( 截至 2023/12/8)
图源:github@Cancun Network Upgrade Specification