以太坊核心开发者会议伦敦升级的更新
摘要
➤ 在未来几周内,伦敦升级将在测试网启动。JSON RPC 的变更已经文档化了,还有项目可用于添加 1559 支持的参考手册;
➤ “合并” 的 eth2 部分已经有成熟的规范了。eth1 部分的相似文档在撰写中,且还会有一份可执行的规范;
➤ 尽管还没有作出决定,但上海升级的两份候选 EIP 都有了进展:EIP-3074 的审计报告已出, EIP-3540 有了路线图
伦敦升级测试
在未来几周内,伦敦升级将会在测试网启动:第一个是 Ropsten 测试网,大约在 6 月 24 日,然后是 Goerli 测试网,计划在 6 月30 日,最后是 Rinkeby 测试网,将在 7 月 7 日升级[0]。具体的升级区块和与伦敦升级兼容的客户端版本可以看这篇文章的列表。如果你还没升级你的测试网节点,现在是时候了!
在测试网分叉后,我们预期会进行一些测试,用大量交易轰炸网络,以确保在这样的条件下网络依然运行正常。当客户端开发者觉得伦敦升级在各个测试网上的部署都没有问题了,我们就会确定主网分叉的区块高度。考虑到难度炸弹所在的大约区块高度,主网实际上需要在未来 300,000 到 400,000 个区块里进行分叉。
如果你的项目是建在以太坊上,且会受伦敦升级,尤其是 EIP-1559 影响,以下是你应该审阅的内容:
➤ JSON RPC 规范,其中详细说明了在伦敦升级中的几处变更,例如:
添加了字段 baseFeePerGas (译者注:每单位 gas 的基本费用) 到区块头;
添加了字段 maxFeePerGas (译者注:每单位 gas 的费用上限) 和 maxPriorityFeePerGas (每单位 gas 的小费) 到 1559 式交易;
在这些交易的收据里添加了字段 effectiveGasPrice (译者注:交易实际支付的 gas 费用);
添加字段 eth_feeHistory (译者注:gas 费用历史数据) 到终端,使钱包更容易根据近期的历史数据提供 gas 预估值。详情看这里。
➤ 1559 钱包参考手册 (1559 Wallet Cheatsheet),解释了与 EIP-1559 相关的非共识变更,提供了支持这份 EIP 的最佳实践。它具体包括:
Calaveras 开发者测试网的说明,现在应用可以用它来测试伦敦升级的内容
maxPriorityFeePerGas (即小费)涉及的多个函数,以及如何在拥堵和不拥堵的情况对其进行设置;
关于如何顺滑地将用户迁移到 1559 式交易的指南
一如既往地,如果你的项目会受 EIP-1559,或更广泛地受伦敦升级影响,你可以在 Discord 联系客户端团队。
也就是说,伦敦升级要来了
“合并”
当大多数客户端团队专注于伦敦和 Altair 升级时,“合并”的进展并没有停止。
首先,在共识层 (即 eth2) 部分已经有了成熟的规范!它的开发工作仍在如火如荼地进行中,你可以在 eth2.0-specs 库里关注内容的更新。
在执行层部分 (即 eth1),将会有一份关于所需变更的概述。
它将作为一份“主文档”,能链接到更细化的规范变更,这些规范变更会以相应的格式呈现 (例如,EIP 用于引入新的操作码)。
采用不同方法的原因是共识层 (eth2) 与执行层 (eth1) 之间的规范格式是不一样的。
虽然以太坊的规范格式一开始是黄皮书,但其大量数学语构的特点使其难以说明变更。相反,我们通常使用核心 EIP (Core EIPs) 来说明协议规则的变更。这些内容又再反馈到黄皮书上。
另一方面,以太坊 2.0 的规范一开始是用 markdown 文档来写,逐渐发展成现在用可执行的 python 规范。不用说,存在两套不同的方法是远不够理想的!
因此,“合并”的一个辅助举措是为执行层创建可执行的规范,与 eth2.0-specs 库的格式相匹配。这样,我们不仅可以为整个以太坊协议提供一个共同的规范格式,还能从规范生成自动化测试。这仍处于早期,Quilt 团队已经开了一个 PR,有一个初步的实现
上海升级
如之前的更新提到的,尽管“合并”是伦敦和 Altair 升级后的工作重点,开发者已经对下一次执行层的升级——上海升级有想法了。
这次升级会在“合并”之前或之后进行,取决于二者在 12 月的准备情况,因为届时难度炸弹需要再次被推迟。尽管这次升级目前还没有规范,也没有 EIP 被正式纳入,但有两份候选的:EIP-3074 和 EIP-3540。
EIP-3074
这份 EIP 旨在让智能合约在与用户地址互动上有更多的灵活性。这份 EIP 作者之一的 @lightclient 发的这个推文很好地总结了它的主要裨益。
有人担心这份 EIP 会改变一些安全假设,特别是关于msg.sender 代表的地址,以及智能合约可以代表用户账户采取的行为广度。两家审计机构受委托研究这份 EIP,以探索这些安全忧虑:Least Authority 负责研究这份 EIP 本身;Dedaub 负责研究 EIP-3074 会如何影响当前部署了的合约。
这是 Least Authority 的完整审计报告,审计者在最新的一次核心开发者会议里分享了他们研究成果的总结 (从 1:07:00 开始)。在该次会议里,Dedaub 也在 Least Authority 的分享后讨论了他们的审计结果,在推特上分享和总结了他们的报告。
尽管在该次会议里没有对 3074 作出任何决定,这些审计结果有助于澄清纳入这份 EIP 所涉及的安全权衡。同时,有人在 Ethereum Magicians 论坛上提出了 "3074 的替代方案" ,这将在本周的核心开发者会议上讨论。
EIP-3540
此提案依附于已被纳入伦敦升级的 EIP-3541。它引入“一种用于 EVM 的可扩展、版本化容器格式,在部署时进行一次性验证。”这将有助于更好地分离代码与数据,两者现在客户端都需要在运行时间验证。
这个变更对多种用例都有所裨益,比如二层网络的代码验证、多字节操作码,可能会弃用 JUMPDEST 等。
这份 EIP 作者之一的 Alex Beregszaszi 最近分享了一个更完整的概述和路线图。
如果时间允许的化,下一次的核心开发者会议会讨论这份 EIP。如果时间不允许的话,可能是再下一次会议。
Scan QR code with WeChat