Amphora: 一个合并的重要里程碑
今年早些时候,Rayonism 黑客松拉开了序幕,为以太坊向权益证明的过渡提供架构原型。这个过渡,通常被称为合并 (The Merge),将保留现有的信标链 (eth2) 和执行层 (eth1) 客户端,通过让信标链驱动执行层的共识来实现两条链的”合并“。在以太坊路线图的一系列迭代中,这是最新的方法 (此处有更多信息)。
尽管 Rayonism 证明了这是一个可行的架构,但仍有一些东西有待设计、执行和测试,包括实际的工作量证明 (PoW) 到权益证明 (PoS) 的过渡。为了实现这点,客户端团队在上周举行了线下的工作坊 (类似于 2019 年的 Eth2 互操作性工作坊),取名为 Amphora ?。
以下是工作坊期间所完成的主要事项的概述,以及从这里到合并的路径。
Amphora 上实现的里程碑
活动的目的是让执行层和共识层的客户端团队一起解决规范上的悬而未决的问题,并达成系列开发里程碑。每个里程碑都让客户端更接近一个实现从 PoW 到 PoS 过渡的功能完备的合并开发测试网。Besu、Erigon、EthereumJS、Geth、Nethermind、Nimbus、Lighthouse、Lodestar、Quilt 和 Teku 团队都有代表亲身参与工作坊。Prysm 团队以及上述团队的一些成员则远程参与。
Amphora 里程碑旨在首先让客户端符合规范,然后逐渐添加更多复杂性,最终增加可以与它们互操作的其他客户端的数量。
第一个里程碑 M1 只需要客户端实现合并规范。大多数团队甚至在研讨会开始之前就完成了!为了帮助客户端验证它们的实现,开发者构建了多个测试套件。
然后,里程碑 M2、M3 和 M4 是让客户端团队构建技术越来越复杂和具有多种节点的开发测试网。M2 实现的是执行层 (EL) 客户端和共识层 (CL) 客户端的一对一组合,然后发布一个合并后的测试网。这确保两个层能在 PoS 环境里成功通过引擎 API 通信。
M3 是 Amphora 工作坊迈开超越 Rayonsim 成果的一步:客户端构建短期的开发测试网,用于 PoW 和 PoS 的过渡。
过渡基于 PoW 的挖矿难度:一旦某个区块的挖矿难度等于或超过某个特定值,即 TERMINAL_TOTAL_DIFFICULTY (终结总难度) ,或 TTD,该区块则被视为最后的 PoW 区块。执行层随后会开始监听 PoS 共识层来达成新区块的共识。为了确保每个团队的实现都是稳健的, EL 团队必须连接两个 CL 客户端,反之亦然,这样才算通过 M3。
M4 是这次活动的真正目标:让多个 EL 和 CL 客户端在一个开发测试网上,跑完整个 PoW 到 PoS 过渡的过程。换句话说,M3 是一对一的测试网,M4 是多对多的测试网。
在工作坊结束之前,我们为一部分团队实现了这个目标,因此我们开始着手 M5。
持续起作用的成果
这个里程碑旨在把 Amphora 从一个短期活动变成一个社区可以用的长期基础设施。M5 需要客户端团队启动一个开发测试网,它不仅跑完所有客户端组合的过渡过程,还会在 Amphora 活动结束后继续存在。
在研讨会的最后一天,在最后的晚餐开始前几分钟,M5 实现了:在一个有 100 个节点和 10,000 个验证者的网络上,有几个客户端实现在 PoW 机制下运行,当达到 TERMINAL_TOTAL_DIFFICULTY 时,就过渡到 PoS,成功对链进行最终敲定 ?!
就在工作坊的结束晚餐前的几分钟,M5 开发测试网成功对合并后的区块做最后敲定。照片由 Ben Edginton 拍摄。
Amphora 之后的工作
Amphora 工作坊取得的成功为合并提供了巨大的动力。客户端团队现在有一个明确的任务清单,他们需要为之努力,而且已经取得了足够的进展,可以开始扩展到更大范围的以太坊社区了。
昨天,一个实现 M5 的更稳定版本的 Amphora 开发测试网, Pithos,已经启动了。现在这个网络 已经上线了 (此处为浏览器),预计探讨开发者工具和其他核心以太坊基础设施的公开会议可以为 PoW 到 PoS 的过渡做最好的准备。
客户端团队和研究员将继续迭代合并的规范,以修复在 Amphora 期间发现的问题和回应社区反馈。在几周内,规范应该会被最终确定,不久后,会推出一个新的稳定的测试网。
致谢
Amphora 期间完成的工作超出了我们所有的预期。为此,我们要感谢客户端端团队和研究员,没有他们,所有的规范都不会被编写或实现。
另外,感谢ConsenSys、Chainsafe 和 [Ben Edgington 对工作坊情况的出色报道。
查看更多