2024 年 3 月 14 日,以太坊开发人员齐聚 Zoom 参加了 All Core Developers Execution (ACDE) call #183 会议。ACDE 电话会议是一个每两周举行一次的系列会议,由以太坊基金会协议支持主管 Tim Beiko 主持,开发人员在会上讨论和协调对以太坊执行层(EL)的更改。本周,开发者分享了对 Dencun 升级的回顾,该升级于 3 月 13 日星期三在主网上线。主要 Rollups,包括 Base、Optimism、zkSync 和 StarkNet,已经开始利用 Dencun 升级的 Blob 来降低用户的交易费用。「这是一个庞大的、非常庞大的分叉,我们已经努力工作了两年多,所以看到它顺利上线真的很酷,」Beiko 评论道。开发者还讨论了 Dencun 之后的下一个主要以太坊升级 Pectra 中可能包含的潜在代码更改。
Dencun 回顾
以太坊开发者分享了 Dencun 升级对网络的早期影响的评论。由于高比例的验证节点操作者升级了他们的软件以支持硬分叉,网络没有发生任何有意义的中断或区块处理延迟。事实上,Prysm 开发者 Terence Tsao 指出,网络似乎比他最初预期的更快地处理新的交易和 blob。尽管他预期 blob 交易会由于其大小偏大而比区块到达更晚,但由于「私有源」中继为了从 blob 和区块获得额外的 MEV 奖励而部署的优化,实际上 blob,尽管它们的重量更大,似乎比区块更早到达。有关 Blob 交易的更多信息,请阅读这份Galaxy Research 报告。有关 MEV 的更多信息,请阅读这份Galaxy Research 报告。有关 MEV 中继的更多信息,请阅读这份Galaxy Research 报告。
Tsao 对以太坊 Dencun 升级的早期影响的第二个观察是,他的节点每天经历的一次区块重组数量比升级前大约多了三到四次。Tsao 表示,在周三之前,他的节点每天大约会经历 15 次重组,升级后的节点每天大约会看到 17 到 18 次重组。以太坊节点是连接到并验证以太坊区块链的计算机。Tsao 在电话会议上询问其他开发人员,他们的节点是否也遇到了类似数量的重组增加。电话会议中并未立即得到对这个问题的回应。
随着 Dencun 升级的完成,开发人员会将九个包含在升级中的以太坊改进提案(EIP)的状态更新为「Final」。Beiko 表示,他将在接下来的一周开始提醒相关 EIP 作者进行此更新。此外,他指出,开发人员之前已经向以太坊社区宣布,Goerli 测试网络将在 Dencun 升级主网上线后不久被废弃。虽然开发人员计划在 2024 年 4 月 15 日之前支持该测试网络,但由于大量用户和节点操作者在截止日期之前提前退出 Goerli,网络已经开始出现延迟最终性和干扰的情况。
Pectra EIP
随后,开发人员讨论了一些可能纳入 Pectra 升级的 EIP。首先讨论的 EIP 已经获得了纳入 Pectra 的批准,即 EIP 2537。EIP 2537 的一位作者,以太坊基金会研究员 Alex Stokes,提出了与该提案实施相关的三个未决问题。该提案引入了以太坊的新加密原语,智能合约开发人员可以利用这些原语来构建更安全、更高性能的去中心化应用。从技术上讲,该 EIP 以 9 个新的预编译形式引入了这些原语,这些操作直接内置到以太坊的执行环境中,而不是通过智能合约实现。
Stokes 关于 EIP 2537 的一个问题是是否应该创建额外的预编译,以允许「点解压缩」(point decompression),这可能是 Layer-2 rollups 和其他「数据受限环境」利用该提案引入的新加密原语的更好方式。Stokes 还指出,需要对该提案进行燃气成本的更改,以准确定价这些新操作。在就 EIP 不同设计选择之间的权衡进行了一些讨论后,Stokes 表示他将在下一次 Rollcall 上从 Rollup 团队获得更多反馈,Rollcall 是主要以太坊 Rollup 之间的定期协调电话会议。下一次 Rollcall 定于世界协调时间 4 月 10 日星期三 14:00 举行。
EIP 3074: AUTH 和 AUTHCALL 操作码
开发者讨论的与 Pectra 升级相关的第二个 EIP 是 EIP 3074。这个代码更改是三个主要 EIP 之一,都有望纳入 Pectra,它们都致力于为用户控制的账户引入更大的可编程性和灵活性,也称为外部拥有账户(EOA)。在支持在 Pectra 中采用 EIP 3074 时,Metamask 钱包开发者 Dan Finlay 表示:「EOA 已经被证明为对于许多人来说提供的授权系统不够灵活,每天都有数百万美元的资金损失。我们相信 3074 是协议层为用户安全带来一些机会的机会,然后可以在钱包层实施。3074 允许 EOA 持有者采用智能合约来授权其交易,这最终可能意味着完全授权的单一私钥完全下线,并确保有更多的人使用我们继续完善的安全性和可用性模式。」
在进一步讨论 EIP 3074 的设计时,主要是该 EIP 下用户交易的授权以及对于交易赞助的信任中继的依赖,Beiko 建议开发人员花更多时间考虑 EIP 3074 的优点,首先考虑与 Pectra 有关的其他账户抽象相关的 EIP,其次考虑 Pectra 中建议纳入的所有其他 EIP。如果包含在 Pectra 中,Finlay 表示,Metamask 可以在今年内某个时候快速利用这个代码更改的功能。开发人员还简要讨论了首先为在诸如 Polygon 之类的 Rollup 上执行提案的原型的好处,以解决任何实施问题和设计细节。Geth 开发人员「Lightclient」对暂缓批准 EIP 3074 在 Pectra 中的提案直到其他 EIP 被优先考虑的想法提出了反对意见,称这个代码更改「是一个非常简单的实现」,不会阻止开发人员在升级中包含其他代码更改。尽管如此,Beiko 确认 EIP 3074 的下一步将是最终确定其规格并与客户端和/或 Rollup 团队原型化设计,然后重新讨论是否将该代码更改优先纳入 Pectra。
EIP 7547: 包含列表
接着,以太坊基金会研究员 Mike Neuder 重新提出了将 EIP 7547 纳入 Pectra 的论点。关于 EIP 7547 的背景,请听这个Galaxy Research 的播客。对于该提案的动机,Neuder 表示:「我试图表达的一点是,如果我们决定在 Electra 中不使用包含列表,我们就会让 MEV 基础设施在未来一年半到两年内继续发展,而我们却没有做出任何改变。在我们这边,我认为这本身就是一个非常积极的决定,因为不做任何事情几乎和做某事一样强烈。所以这是我想要说明的第一点。第二点是,这个包含列表的变更范围通常是相当受控制的。我们一直在研究这个概念验证规范,即 POC 规范只是试图减少风险并显示出在共识层、执行层和引擎 API 中的变化相当小。希望这能够激励在这次分叉中采用它。」
Reth 客户端团队表示支持将 EIP 7547 纳入 Electra。来自 Geth、Lighthouse、Lodestar 和 Nethermind 客户端团队的代表们表示,他们正在为该代码更改制作原型。此外,Besu 开发人员 Justin Florentine 表示个人支持将该代码更改纳入下一个以太坊升级。Neuder 鼓励开发人员查阅最新的 EIP 规范,并在包含列表的 Discord 频道中发表任何想法或问题。他还表示,他将在下周一,3 月 18 日,世界协调时间 14:00 举办一次有关包含列表实施细节的分组会议。
EIP 7623: 增加 Calldata 成本
接下来,以太坊基金会研究员 Toni Wahrst?tter 重新分享了他的提案,即通过增加 calldata 的成本来减少以太坊的最大区块大小。Calldata 是以太坊交易中通常存储来自 Rollup 的批量交易数据的地方。然而,随着 Dencun 引入 blobs,Rollup 现在可以以比 calldata 显着更便宜的成本暂时存储用户在以太坊上的交易数据。「好处在于,这种返利机制基本上强制执行,『如果你将大量的 calldata 带入 EVM,你也需要使用它。否则就使用 blobs。』」以太坊基金会研究员 Ansgar Dietrichs 在关于 EIP 7623 的会议聊天中评论道。Wahrst?tter 分享了关于增加 calldata 成本将如何影响用户交易的新分析。他表示,成本的增加仅会影响 4.5% 的以太坊交易和 1% 的以太坊用户。Wahrst?tter 表示,他的下一步是在下一次 Rollcall 期间联系 Rollup 团队,以获得他们对他的提案的反馈。Beiko 提到,由于这个 EIP 代表了对以太坊代码库的微不足道的更改,开发人员不需要立即决定将其纳入 Pectra,而是在接下来的几个 ACDE 电话会议中决定。
EIP 7645: 将 ORIGIN 重命名为 SENDER
自 2014 年以来一直是以太坊的早期开发者的 Cyrus Adkisson 提议将以太坊操作码 ORIGIN 的名称更改为 SENDER,以修复智能合约开发者对操作码的误用。「ORIGIN 操作码有点过时了。它代表了发起动作并支付交易燃料费的账户,这在我们获得真正的 [账户抽象] 之前,一直是相同的。到 2017 年中期,普遍认为用 ORIGIN 做任何事情都是坏消息,原因有很多。一,origin 可以用一种跨站脚本的方式来窃取资产并滥用权限,如果该权限是用 TX ORIGIN 术语来界定的。ORIGIN 会破坏兼容性,因为你的合约无法被其他合约使用,而且 ORIGIN 几乎从不有用,」Adkisson 说道。
Adkisson 的提议引起了一些开发者的反对。Besu 客户端维护者 Danno Ferrin 表示,在没有 EOF(这是对 EVM 的另一组代码更改)的情况下,不可能在更改操作码别名之前准确检查操作码的所有用例。Ferrin 表示,EOF 代码规范也有望纳入 Pectra,其规范已经被冻结,并且正在为该提案编写参考测试。然而,在更改以太坊现有操作码的别名方面,Ferrin 表示,在他看来,这似乎是「完全不可能的」,而不会对 ORIGIN 的潜在用户产生负面影响。
自由职业以太坊开发者 Charles Cooper 同意,改变操作码的语义是「危险的」,因为某些用户可能依赖该操作码进行重要用例。相反,Cooper 建议增加 ORIGIN 的燃料成本,以帮助提醒用户其已被弃用,并阻止其使用。Cooper 表示:「从兼容性的角度来看,这可能是一个更巧妙的改变。」
ACDE 184 议程
由于时间有限,因为这些会议最长只有一个半小时,Beiko 建议将某些议程项移至下一次 ACDE 电话会议的讨论前。其中一个推迟到 ACDE 184 的议程项是 Reth 客户端团队关于以太坊状态增长的研究。在结束电话会议之前,Beiko 询问开发者对于每周一的测试电话会议是否继续进行的想法。这些电话会议旨在协调 Dencun 升级的客户端团队之间的测试工作。随着 Dencun 升级的完成,开发者们同意停止定期的周一测试电话会议,并在 Pectra 升级接近准备进行多客户端测试工作时重新启动新系列。