主页 > imtoken国际版 > 以太坊核心开发者会议:合并更新

以太坊核心开发者会议:合并更新

imtoken国际版 2023-03-01 07:18:35

原文出处:AllCoreDevs Updates 原作者:Tim Beiko 原文翻译:ETH中文微信公众号

在 Rayonism 首次构建原型一年后,我们现在拥有跨所有以太坊客户端的强大合并实施。

从我们今天所处的位置到完全过渡到以太坊上的股权证明的道路现在非常清晰。 我们需要:

1. 多次主网影子分叉没有问题;

2.客户端通过各种合并测试套件;

3. 在现有公共测试网中成功部署。

就这样! 一旦满足这些条件,并且我们观察到它们在几周内稳定下来,我们就可以为主网合并做准备了!

以太坊分叉事件_siteqq.com 以太坊的硬分叉_sitebitebiren.com 以太坊分叉暴跌

特伦特·范·埃普斯 (Trent Van Epps) 绘制了这张地图,描绘了从信标链存款合约的推出到以太坊全面过渡到股权证明的旅程。 请注意,TTD 指的是 Terminal Total Difficulty,即合并发生的时间。

以太坊分叉事件_sitebitebiren.com 以太坊分叉暴跌_siteqq.com 以太坊的硬分叉

让我们一一展开。

影叉

在过去的一年里,我们在网络升级过程中增加了一个新步骤:Shadow Forks。

已经有一些关于影子分叉的释义文章。 简单来说,影子分叉是通过分叉具有少量节点的实时网络创建的新开发人员测试网。 影子分叉与主链具有相同的状态、历史数据和链ID。

siteqq.com 以太坊的硬分叉_以太坊分叉事件_sitebitebiren.com 以太坊分叉暴跌

@parithosh_j 对影子分叉网络的概述

运行这些影子分叉测试网使我们能够观察客户端在尽可能接近公共网络的条件下的行为。 在影子分叉网络的节点上,合并有效地发生了。 之后,主网上的交易可以在分叉上重播以太坊分叉事件,让我们可以看到节点在主网上的情况下的行为。 我们还可以将新节点同步到影子分叉,以确保它们仍按预期加入网络。

在这些影子分叉期间,执行层 (EL) 和共识层 (CL) 的每个组合都经过测试,我们的目标是让每对客户端都能顺利过渡和运行。 我们有 4 个执行层客户端和 5 个共识层客户端,这意味着有 20 对组合需要测试!

siteqq.com 以太坊的硬分叉_sitebitebiren.com 以太坊分叉暴跌_以太坊分叉事件

sitebitebiren.com 以太坊分叉暴跌_siteqq.com 以太坊的硬分叉_以太坊分叉事件

到目前为止,我们已经有多个歌尔力影子分叉和两个主网影子分叉。 第二个主网影子分叉 (MSF2) 几乎完美无缺。 另一个 MSF3 将于本周举行。 如果 MSF3 没有问题并且之后保持稳定,我们可以升级现有的测试网。 为了安全起见,我们将在测试网部署之前(甚至期间)继续定期进行影子分叉。

与此同时,我们也在加倍努力进行其他一些测试。

合并测试

合并是测试的独特升级,因为它跨越了以太坊的执行层和共识层。 虽然我们为每一层都有很多单独的测试工具,但需要很多新的基础设施来测试跨层交互。

蜂巢测试

Hive是我们之前用于执行层测试的集成测试平台。 在过去的几个月里,我们增加了模拟共识层行为的能力,并用它来测试各种执行层客户端。 这有助于我们测试执行层和共识层用于通信的新引擎 API。 为了测试从 PoW -> PoS 的转换,还需要添加一个模拟器来模拟执行层的行为。

客户端团队目前正在优先支持 Hive 并确保他们通过所有测试套件,而测试团队则专注于向其添加执行层模拟。

峰度

除了我们现有的测试基础设施之外,我们还与 [Kurtosis] () 合作,我们使用它每天自动启动一个临时网络来运行合并过程。

sitebitebiren.com 以太坊分叉暴跌_以太坊分叉事件_siteqq.com 以太坊的硬分叉

这些工具帮助我们发现各个客户端的实施问题并监控各种网络健康指标。 随着这方面的情况稳定下来,我们的下一步是创造更严酷的网络条件,看看客户如何恢复。 例如,在转换前暂停执行层或共识层客户端,然后在合并后取消暂停; 或在合并后删除数据库并查看它们如何处理同步。

和其他一切

除了改进 Hive 和使用 Kurtosis 之外,由客户、研究和测试团队构建的一长串测试工具帮助我们找到了每一个可能的角落案例。 它们包括模糊测试工具、坏块生成器、执行层/共识层模拟器、调试 API 和更多模糊测试工具。 这是其他工具的愿望清单。

我们的首要任务是让客户端通过单元/规范测试,以及 Hive 和 Kurtosis 中的集成测试。 然而,上面提到的这些其他工具可以帮助我们找到并调试我们遗漏的极端情况,然后我们将它们合并到我们的常规测试套件中。

在人的方面,合并测试极大地增加了跨团队的协调和协作。 共识层和执行层客户端团队必须首次紧密合作,以确保他们的软件与另一层的每个客户端一起工作。这允许在我们的测试基础架构中进行更多更深入的协作

公共测试网

一旦影子分叉顺利进行并且所有客户端都通过了测试套件,我们将准备在现有的公共测试网上部署合并,即 Ropsten、Goerli 和 Sepolia。

虽然公共测试网不像主网影子分叉那样对测试客户端施加压力,但它们需要在以太坊生态系统内进行更广泛的协作。

合并需要比以前的以太坊升级更多的节点运行器。 在过去的升级中,执行层的节点运营商和矿工只需要升级一个软件:他们的执行层客户端。 在合并升级中,他们将需要同时下载、配置和运行共识层客户端。

siteqq.com 以太坊的硬分叉_sitebitebiren.com 以太坊分叉暴跌_以太坊分叉事件

在共识层方面,我们一直强烈建议运行一个执行层节点和验证器。 虽然合并前,执行层节点的运营可以外包给第三方服务商。 但在合并时,质押者需要运行一个执行层节点来验证区块的有效性,并在提出区块时收取交易费(外包执行层节点的操作可能收不到交易费!)

节点运营商、质押者和基础设施提供商应确保他们的配置在 Kiln 上经过测试,为在测试网上部署做准备。 EthStaker 还发布了有关如何执行此操作的各种教程。

一旦 Ropsten、Goerli 和 Sepolia 分叉并稳定下来(假设没有发现进一步的问题),那么我们就可以为主网设置合并日期了!

主网

以太坊主网上向权益证明的过渡将与测试网上相同。 也就是说,值得再次强调的是,过渡分三个步骤进行:

1. 客户端发布一个支持合并的软件版本,开始“监听”工作量证明链上达到的一个具体总难度值,即最终总难度(TTD)。

2.一旦达到TTD,下一个区块将由分配给下一个信标链时隙的验证者打包。 该区块将是合并后的第一个区块,包含最终用户交易以及股权证明共识数据(即证明、存款、罚没等)。

3. 第一个合并区块敲定。 至此,工作量证明不再构成以太坊分叉选择规则的一部分。换句话说,我们已经完全转向 PoS

Danny Ryan 的下图说明了该过程:

sitebitebiren.com 以太坊分叉暴跌_以太坊分叉事件_siteqq.com 以太坊的硬分叉

sitebitebiren.com 以太坊分叉暴跌_以太坊分叉事件_siteqq.com 以太坊的硬分叉

最左边的区块显示合并前并行运行的执行层和共识层,其中 PoW(执行层)区块包含交易,信标链(共识层)区块包含权益证明共识数据。

从左边数第二个 PoW 块是达到或超过 TTD 时。 下面第三个区块是合并后的第一个区块,包含权益证明共识数据和执行层交易。

第四个块和后续块与工作量证明无关。 一旦这些块被最终确定,网络只能从那时起通过类似于工作量证明下的 51% 攻击的东西受到损害。

换句话说以太坊分叉事件,到那时,我们已经完成了合并!

合并是迄今为止我们为以太坊计划的最复杂的升级。 团队和个人贡献者已经不知疲倦地工作了一年多,终点线终于在望。

虽然每个人都很高兴看到以太坊过渡到权益证明,但现在不是偷工减料的时候:确保以太坊用户安全无缝地过渡以及建立在网络上的丰富生态系统是我们的首要任务。 我们就快到了!

什么时候合并? 很快。 . .

感谢 Trent Van Epps、Danny Ryan、Mario Vega 和其他人对本次更新的评论和补充。

原文链接