https___storage.googleapis.com_ethereum-hackmd_upload_5fc486ebf659fc2e64c38f805468f54c.jpg

原文:https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement
作者:以太坊基金会协议支持团队


在第 157 次以太坊核心开发者会议上,以太坊开发者达成以下共识:Shapella 网络计划于 2023 年 4 月 12 日 22 时 27 分 35 秒(UTC 时间)完成升级, 纪元时间(Epoch)将定格在 194048。

本次命名为 Shapella 的升级计划,是以太坊合并后的重要升级事件。此次升级不仅要让验证者能将他们质押在信标链的数字资产撤回到执行层,也同时向以太坊的执行层和共识层引入了一些新的功能。

升级详情介绍

Shapella 升级包括:执行层的升级(Shanghai upgrade)、共识层的升级(Capella upgrade)、引擎 API 的更改。

执行层的升级变化

执行层将会实施以下以太坊改进协议(EIP):

  • EIP-3651:Warm COINBASE
  • EIP-3855:PUSH0 指令
  • EIP-3860:Limit and meter initcode
  • EIP-4895:信标链按操作推送 withdrawals 功能
  • EIP-6049:弃用 SELFDESTRUCT

需要注意的是,EIP-6049 目前只是一个弃用的警告,相关操作码的行为在本次执行层的升级中保持不变,以太坊客户端开发人员将在未来的以太坊升级中再做改变,建议那些向用户公开了 SELFDESTRUCT 操作码的软件要向用户告知即将发生的语义变化。

此外,有关本次执行层升级(上海升级)的全套变动进展已同步《以太坊执行层规范(EELS)》,可以复制下方链接到浏览器查看:
https://ethereum.github.io/execution-specs/diffs/paris_shanghai.html

共识层的升级变化

共识层的升级(Capella upgrade) 已在 v1.3.0-rc.5 规范中有所指定,相关文件(README)已经列出了全部的更改。从宏观上看,本次共识层的升级实施的计划包括:

  • 验证人的 withdrawals 功能(完全或部分)
  • 确定 withdrawals 功能的先决条件,即 BLSToExecutionChange 消息功能,将允许验证者使用 BLS_WITHDRAWAL_PREFIX 去更新 ETH1_ADDRESS_WITHDRAWAL_PREFIX
  • 用独立的区块状态和区块历史累加器(Accumulator)取代原有的、单一的历史根目录。

引擎 API 的更改

引擎 API 的更改和变化已经记录在 execution-apis 存储库的 shanghai.md 文件中。本次 Shapella 升级引入了 WithdrawalV1 结构体。执行层 API 的变化,自以太坊合并完成后,已绑定在相关存储库的最新版本中。

客户端发布

以下客户端版本均支持 Shapella 升级后的执行层(Shanghai)和共识层(Capella),它们分别是:

共识层客户端:

  • Lighthouse v4.0.1
  • Lodestar v1.7.0
  • Nimbus v23.3.2
  • Prysm v4.0.0
  • Teku v23.3.1

执行层客户端:

  • Besu v23.1.2
  • Erigon v2.42.0 (Erigon v2.41.0 存在问题,已确定不适用 Shapella 升级)
  • go-ethereum (geth) v1.11.5
  • Nethermind v1.17.3

更多注意
之前发布的 Shapella 版本客户端仅支持测试网部署,与本次 Shapella 升级不兼容。
共识层客户端运行验证器时,必须更新共识层信标节点和验证器客户端。

上述客户端的下载链接可查阅公告原文:https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement

常见问题与解答

Q1:作为以太坊用户和数字资产持有者,我需要为升级做些什么吗?

答:没有需要特别做准备的。如果你使用交易平台、数字钱包或者硬件钱包,不需要做额外的调整。但如果你是一位节点验证者或运营商,请查阅下一个问题。

Q2:作为非质押节点运营商/验证者,我需要为升级做什么准备吗?

答:你需要把节点更新到上文中列出的客户端版本,才能兼容此次升级。

Q3:作为一个质押节点运营商/验证者,我需要为升级做些什么?

答:你需要把节点更新到上文中列出的客户端版本,才能兼容此次升级,并且需要确保您的信标节点和验证器客户端都已更新!同时建议查阅有关 withdrawals 的常见问题解答:https://notes.ethereum.org/@launchpad/withdrawals-faq

Q4:如果我做了质押,或者我是一个节点运营商/验证者,但又不想参与升级,会发生什么?

答:如果你一直不升级上文所列出的客户端,待 2023 年 4 月 12 日 Shapella 升级完成后,你的客户端将同步到预分叉区块链。

按照旧有规则,你将被困在一个不兼容的区块链上,无法操作数字资产或在完成 Shapella 升级后的以太坊主网上操作。

Q5:作为一名应用程序或区块链工具开发人员,我应该做什么?

答:本次 Shapella 升级没有为智能合约引入突破性的改变。区块链应用程序和工具的开发人员应该审查此次升级发生的变化,以确保能够完成应用程序或工具所需要的修复,同时也可以多了解此次升级新引入的功能。

值得注意的是,在本次升级中,SELFDESTRUCT 操作码在执行层(Shanghai)被认为是不推荐使用的。虽然在本次升级中该操作码的语义并不会改变,但未来会可能改变。有关更多信息,可以参考以太坊协议 EIP-6049 的具体内容。

Q6:为什么此次升级命名为「Shapella」?

答:Shapella 是 Shanghai 与 Capella 的合并词汇。

以太坊升级依旧遵循此前的命名规律,执行层的升级使用 Devcon 大会举办城市的名字命名;共识层的升级使用星系的名字命名,Capella 是御夫座北部最亮的一颗恒星。

Q7:在哪里可以观看 Shapella 网络上线?

答:EthStaker 和 Ethereum Cat Herders 正在筹划一场 Shapella 见证派对,将在 2023 年 4 月 12 日升级启动前开始,观看地址:https://www.youtube.com/watch?v=BVq1pz3FrDo

漏洞赏金升级

根据以太坊协议支持团队 2023 年 3 月 28 日发布的公告:从现在起直到 2023 年 4 月 5 日,针对 Shapella 网络漏洞的以太坊漏洞赏金将翻倍!

了解更多,请查阅:https://ethereum.org/en/bug-bounty/