坎昆升级简介
Cancun-Deneb(Dencun,以下简称为坎昆升级)是以太坊区块链下一个重要的升级,将提高以太坊网络的可扩展性、安全性和可用性。
Cancun 是基于上海升级基础之上的以太坊执行层的额外升级,第一步已经于今年 4 月 12 日的上海升级中完成,而 Deneb 则代表了以太坊共识层的升级。该升级包括备受期待的 EIP-4844,又被称为 Proto-DankSharding,此功能将为全面的 DankSharding 的实施奠定重要的基础。
DankSharding
信标链的推出和合并的实施是以太坊整个框架图升级的前两部分,而 DankSharding 是第三部分,也是重头戏。这个新设计的结构,将完全取代核心团队最初提出的引入 64 条分片链的想法。
DankSharding 并非去允许主链进行更多交易,而是专注于增加 rollup 的数据可用性。Rollup 是将区块链交易捆绑在一起并对其进行处理的二层技术。任何 rollup 操作员都可以处理一批交易,并向主链提交结果和证明。使用 optimistic 或 ZK 等特定的 rollup 技术,网络中的其他验证者或智能合约可以对结果进行审查。
目前主流的以太坊二层扩展协议包括 Optimism,Arbitrum,Metis, zkSync Era 和 Scroll 等。为了帮助以太坊网络开启长期过渡到完整 DankSharding 的进程,EIP-4844 今年将引入许多关键执行层组件。
Proto-DankSharding
EIP-4844 又被称为 Proto-DankSharding,是以太坊开发者 Protolambda 和 Dankrad Feist 提出的以太坊网络临时升级。在 EIP-4844 问答页面上,以太坊联合创始人 Vitalik Buterin 将 Proto-Danksharding 描述为「stopgap」解决方案,它将在完整的分片实施之前大大降低 rollup 的 gas 费。
EIP-4844 是围绕着 Rollup 展开的扩容方案,也是以太坊扩容之路的第一步。在未升级之前,rollup 数据被永久储存于以太坊之上,储存费用昂贵,用户为 rollup 支付的交易成本 90% 是由于该储存成本导致。
为此,EIP-4844 引入了一种全新的交易类型——Blob Transaction,数据将迁移到「Blob」之被临时储存,储存时间大概为 1 个月,过后数据将被删除。要想将长期数据储存则由其他服务商根据实际需要进行储存。
Shard blob 交易
刚刚说到,EIP-4844 引入了一种被称为「blob 携带交易」的交易类型。Blob(二进制大型对象)是「binary large objects」的缩写,代表 125 KB 有效载荷数据。要创建一个 blob 携带交易,rollup 需要将其数据提交给 blob 并将其附加到区块上。一个 blob 携带交易最多可以包含两个 blob。此外,为了鼓励此类交易,升级将实施多维的 EIP-1559 费用市场。此功能将基于供需来为 blob 携带交易引入可变的 gas 费用。
Blob 携带交易的主要好处是成本效益。当前,rollup 通过 CallData 永久将交易数据存储在以太坊的区块链上。但是,blob 数据比 CallData 便宜得多,因为它不会永远保存在执行层上(以太坊虚拟机)。取而代之的是,信标节点将其存储在共识层中,并且一个月或者一年后,blob 会被删除。这个过程类似于清除笔记本电脑或设备的缓存数据。
Blob 虽然由 EIP-4844 引入,但将与最终分片中使用的格式完全兼容。在 EIP-4844 中,每次 rollup 交易最多包含 2 个 blob,每个区块包含 8–16 个 blob,约为 1MB 至 2MB。在完整的分片场景中,可以将 blob 进一步扩展到 16MB 至 32MB。
也就是说,当 Blob 通过 Proto-DankSharding 成为以太坊协议的一部分之后,将在以太坊区块中添加更多的 Blob,此时以太坊的吞吐量将又一次大幅扩展,同时交易成本也会下降。
在交易过程中,名为 KZG 的多项式方案(以其创作者 Kate,Zaverucha 和 Goldberg 的名字命名)将验证发布在 blob 中的交易数据。像其他零知识验证系统一样,KZG 可以在无需披露 blob 中的全部内容的前提下进行验证。
坎昆升级的核心:EIP-4844
根据 6 月份的以太坊执行层核心开发者会议,坎昆升级包含了 5 个 EIP,旨在增加更多的数据存储和降低费用。升级的核心内容为 EIP-4844,该 EIP 旨在通过以太坊节点实现链下数据的临时存储和检索,以满足区块链应用程序的数据和存储需求。
Devnet 测试网不断完善
自 2022 年 10 月,以太坊开发人员就为 EIP-4844 启动了多客户端测试网络,也称为 devnet。自今年 4 月 12 日「上海升级」成功激活以来,以太坊开发者第一时间将注意力转移到「坎昆(Cancun)升级」的筹备工作上。
确切地说,Cancun 是以太坊执行层(EL)下一次升级的名称,而 Deneb 是对应以太坊共识层(CL)的升级名称。在 ACDE 电话会议期间,开发人员讨论了 Cancun/Deneb 升级的最终范围,该升级将以 EIP-4844 为核心,即 blob 交易类型的实施,Deneb 的准备工作,从推出 Devnet 5 开始。
对 Devnet 5 进行了一些显著的更改,例如执行层(EL)禁止零 blob 交易,将 blob 交易类型切换为 0x03 以及解耦 blob 和区块。在引擎 API 更新方面,有计划将相应的证明添加到尚未合并的 getBlobsBundleV1 上,并将「getPayloadV3」和「getBlobsBundleV1」调用合并为一个。信标链 API 方面,添加 blob 签名端为可选。
今年 5 月底,以太坊社区开发人员 terence.eth 分享了第 22 次 EIP-4844 实施者电话会议内容,会议主要涵盖三大主题:1.Deneb 引擎 API 版本控制;2. 将「data_gas_used」添加至执行标头;3.Devnet 6 范围和测试更新。
其中,会议已确定在 EIP-4844 更新中将「data_gas_used」添加至执行标头,因为之前使用的 EIP1559 中,常规基本费用是使用当前标头计算的。在 EIP-4844 中,数据 gas 计算使用父标头而不是当前标头,excess_data_gas 是下一个区块的定价,而 base_fee 是当前区块的定价。此外,会议决定为让 Devnet 6 涵盖「data_gas_used」更新,在「data_gas_used」转移至 Devnet 6 之前,使用另一个从属于 EIP4844 的测试网进行测试。
6 月底,以太坊基金会 DevOps 团队的开发者表示,所有 EL 和 CL 客户端团队都通过了 Devnet 7 的相关 Hive 测试,计划最早在 6 月 30 日或 7 月 3 日推出 Devnet 7。Devnet 7 是 EIP-4844 的专用短期测试网络,不会测试其他代码更改。
Devnet 7 的启动目标为:blob 限制从 2 个上调到 3 个,最大 blob 限制则从 4 个上升至 6 个。增加 blob 容量的目标是由以太坊基金会研究员 Dankrad Feist,在进行数据实验测试网路处理大型区块的能力后所提出的。
目前关于 Cancun 升级进度,开发者已经同意更新 EIP-4844 的预编译地址、EVM 指令复制内存区域(EIP-5656)的测试用例已经加入测试框架、负责共识层和执行层间的沟通的引擎 API 会面临一些变动,Devnet 6 经过查漏补缺目前已经稳定并且同代码的 Devnet 7 将上线并专注于 EIP-4844 的相关测试。
坎昆升级预计上线时间
今年 5 月 26 日,以太坊基金会研究员 Alex Stokes 曾表示坎昆激活的合理目标日期是 2023 年 10 月。Geth (EL) 开发人员 Lightclient 肯定了这一说法,他认为基于其当前范围的升级至少还要 5–6 个月的时间。
6 月 9 日,以太坊核心开发者 Tim Beiko 在其社交平台发文总结最新一次的以太坊执行层核心开发者会议(ACDE)讨论内容。会议最终确定了坎昆升级包含 5 个 EIP,旨在增加更多的数据存储和降低费用。
其中核心内容为 EIP-4844,该 EIP 旨在通过以太坊节点实现链下数据的临时存储和检索,以满足区块链应用程序的数据和存储需求。其他入选的 EIP 包括 EIP-1153(降低链上存储数据的费用,从而改善区块空间)、EIP-4788(改进跨链桥和权益池的设计)、EIP-5656(添加与以太坊虚拟机相关的次要代码更改)以及 EIP-6780(去除可能终止智能合约的代码)。此次会议并未对坎昆升级时间做出准确预测,但预计其将于 2023 年底前进行。
坎昆升级的目标和影响
坎昆升级的总体目标是继续为完整数据分片网络做准备,同时在过渡期对 rollup 进行扩展。引入 blob 携带交易将增加 rollup 的数据可用性,并大大降低 rollup 的成本。EIP 4844 还将包括大多数执行层逻辑和完整分片的基础工作。此步骤将大大减少后续升级所需的实施工作。
坎昆升级激活后,用户在使用以太坊生态系统的原生加密货币、应用和基于 ERC 的 token 时将会体验到速度更快,更便宜的付款。坎昆升级是以太坊的一次重要升级,使得以太坊 L1 分片打开新的篇章,降低 L1 和 L2 之间的传输成本,实现更低的 gas 费和更高的 TPS,利好 L2 等相关生态,从而使「以太坊+L2」架构的竞争力进一步加强。