当前位置:首页 行业动态 正文

以太坊基金会博客:最后一个测试网即将合并 我们需要做什么?

2025-02-15

来源:Ethereum Foundation Blog

编译:ETH中文

经过几年的努力将权益证明引入以太坊,我们现在已经进入了最后的测试阶段:测试网部署!

作为最后一个进行权益证明过渡的测试网,Goerli 将与 Prater 合并。Goerli/Prater 合并的网络将保留 Goerli 这个名字。

Prater 测试网为合并做准备的 Bellatrix 升级将于 epoch 112260 被激活,预计时间是 12:24PM UTC on August 4, 2022

Bellatrix 升级激活后,当 Goerli 触达总难度值 10790000 时, Goerli/Prater 合并就会发生,预计时间在 August 6-12, 2022 之间。

合并后,Goerli 的验证者集将对个人质押者运行测试网验证者保持开放。想要启动一个 Goerli/Prater 验证者的质押车可以前往 Prater Launchpad。

背景

经过几年的努力将权益证明引入以太坊,我们现在已经进入了最后的测试阶段:测试网部署!

在经历了几个开发测试网、影子分叉和被弃用的测试网之后,Sepolia 最近过渡到权益证明。现在,只剩下一个测试网了:Goerli 和与它相匹配的信标链 Prater。

合并在两个方面与以前的以太坊升级不同。首先,节点运营商需要升级他们的共识层 (CL) 和执行层 (EL) 客户端,而不是两个中的一个。然后,升级分两个阶段激活:第一个阶段是 Bellatrix 升级,在信标链上的一个公开的 epoch 高度上激活,第二个是 Paris 升级,在执行层上触达一个 Total Difficulty (总难度) 值时激活。

升级信息

时间

合并分两步走。它从共识层上的 Bellatrix 网络升级开始,由一个 epoch 高度触发。接下来是执行层从工作量证明过渡到权益证明的升级 Paris,由一个特定的 Total Difficulty 阈值触发,被称为 Terminal Total Difficulty (TTD)。

Bellatrix 升级计划在 Prater 信标链的 epoch 112260 上激活,预计在 12:24PM UTC on August 4, 2022 (2022 年 8 月 4 日 12:24PM UTC )。执行层上的部分 Paris 将在 Goerli 测试网的 Terminal Total Difficulty (TTD) 达到  10790000 时被触发,预计在 2022 年 8 月 6 - 12 日。

一旦执行层超过了 TTD,下一个区块将完全由信标链验证者产生。一旦信标链最终敲定了这个区块,我们就认为合并已经完成。假设在正常的网络条件下,这应该在 TTD 后触发了第一个区块后的 2 个 epoch,也就是大约 13 分钟后完成!

有一个新的  JSON-RPC 区块标签  finalized,它返回的时最新被最终敲定的区块,或者如果没有这样的合并后区块存在的话,就返回错误。这个标签可以被应用用来检查合并是否已经完成。同样地,智能合约可以查询 DIFFICULTY opcode (0x44),它在合并后被改名为 PREVRANDAO,用来确定合并是否已经发生了。我们建议基础设施提供商除了监测最终敲定的状态外,也监测整个网络的稳定性。

客户端版本

以下的客户端版本支持 Goerli 和 Prater 测试网的合并。节点运行者必须运行一个执行层 (EL) 客户端和共识层 (CL) 客户端,以在合并期间和之后都在保持在网络里。

当选择运行的客户端时,验证者应该特别注意运行 EL 和 CL 上的多数客户端的风险。关于这些风险及其后果,可以看这篇解释文章。对目前 EL 和 CL 客户端分布的预估以及从一个客户端切换到另一个客户端的指南可以看这篇文章。

共识层

  • Lighthouse Geardude Clockberg (v2.4.0) 

  • Lodestar v0.41.0

  • Prysm v2.1.4-rc.0 

  • Nimbus v22.7.0 

  • Teku 22.7.0

执行层

  • Besu 22.7.0-RC3

  • Erigon 2022.07.03-alpha

  • go-ethereum (geth) v1.10.21

  • Nethermind 1.13.5

升级规范

合并的共识关键变更在两个地方得到详细说明:

共识层的变更,在共识规范仓库的 bellatrix 目录

执行层的变更,在执行规范仓库的 Paris spec

此外,另外两个规范涵盖了共识层和执行层客户端是如何交互的:

Engine API 在 execution-apis repository 里说明了,它是用于共识层和执行层之间的通信的

Optimistic Sync 在共识规范仓库的 sync 文件夹里说明了,它被共识层用来在执行层同步时导入区块的,并给执行层提供共识层链头的部分视域。

FAQ