当前位置:主页 > 列表页 > 正文

伦敦主网升级公告及相关代码变更

2021-07-18 18:57 | 出处: ECN以太坊中文社区

来源 | Ethereum Blog

作者 | Tim Beiko


译者按:除了伦敦主网升级的公告外,ECN 还翻译了 Geth 客户端 v1.10.5 里关于此次伦敦升级,不同相关行动者需要注意的代码变更。



伦敦升级的测试网成功部署后,现在已经准备好在以太坊主网上激活了。它将在区块高度 12 965 000 激活,时间大概在 2021 年 8 月 3-5 日。


客户端版本


为了与伦敦升级兼容,节点运营者将需要升级其运行的客户端版本。下面列出的每个客户端版本支持以太坊主网的伦敦升级。注意:下列版本不同于《伦敦测试网公告》中所列出的客户端版本,测试网的客户端版本并不支持主网伦敦升级的客户端版本。



注意:OpenEthereum 客户端将伦敦升级后弃用。OE 团队正在与 Erigon 合作,为用户提供一个平稳的过渡路径。更多信息点击这里查看。


矿工请注意:伦敦升级将改变在网络如何处理 gas limit 目标的方式。请参阅下文中“作为一名矿工,我需要做什么?”的部分了解详情。


伦敦 EIPs


下列 EIPs 是伦敦升级的内容:


  • EIP-1559:ETH 1.0 费用市场变更

  • EIP-3198:BASEFEE 操作码

  • EIP-3529:减少 gas 返还

  • EIP-3541:拒绝以 0 xEF 字节开头的新地址

  • EIP-3554:难度炸弹延迟至 2021 年 12 月


Ethereum Cat Herders 发布了一篇博客文章,讨论了这些 EIPs 的细节。


值得注意的是,虽然 EIP-1559 可以与当前的交易格式向后兼容,但是它引入了对区块头的更改,添加了新的交易类型,提供了新的 JSON RPC 端点,并在几个方面改变了客户端的行为 (挖矿、交易池等等)。强烈建议各个项目熟悉这个 EIP。与 EIP-1559 相关的更广泛的资料列表可以点击此处查阅。


寻 bug 赏金


为了让更多人关注即将到来的伦敦升级,所有与伦敦升级相关的 bug 的奖金都会翻倍,直到升级开始。可以领取双倍赏金的例子有以下这些客户端之间的跨客户端共识问题:Geth、Besu、Nethermind、OpenEthereum 和 Erigon。有关 bug 赏金范围和限制完整详细信息,请参阅:https://bounty.ethereum.org/#rules。


FAQ


Q: 作为以太坊的用户或 ETH 持有者,我有什么可以做的吗?


如果你使用交易所 (比如 Coinbase、Kraken 或 Binance)、网页钱包服务 (比如 Metamask、MyCrypto、或 MyEtherWallet) ,移动端的钱包服务 (比如 Coinbase Wallet、Status.im、或Trust Wallet)、或硬件钱包 (比如Ledger, Trezor, or KeepKey),你不需做任何事情,除非你的交易所或钱包服务商通知你采取额外步骤。如果你运行自己的以太坊节点,你需要升级你的节点。请看下文“作为一个非挖矿节点,我需要做什么?”部分。


Q: 作为一个非挖矿节点,我需要做什么?


下载以太坊客户端的最新版本,已在上文表格中列出。


Q: 作为一个矿工,我应该做什么?


首先,下载你的以太坊客户端最新版本。然后,你需要手动把 gas limit 目标设为现在的两倍。这是因为一旦伦敦升级部署了,区块大小会变成现在的两倍,而 EIP-1559 会保持区块容量大约 50% 满。这可以在所有提供与主网兼容挖矿的客户端上通过 JSON-RPC 来实现,无须重启你的节点。


例如,如果伦敦升级以前你把区块大小设为 15m gas,你将需要把 gas limit 设为 30m,以维持平均每个区块的交易数量一致。如果你不在区块 12 965 000 修改 gas limit 目标,你便会开始在网络里降低你的区块大小。下表提供了每个客户端的特定 API,你需要用它们来更新你的 gas limit 目标。



注意:Nethermind、Erigon 和 EthereumJS 目前还不支持在以太坊主网上挖矿。


Q: 如果我是一个矿工或节点运行者且不参与升级,会怎么样?


如果你正在使用以太坊客户端但不升级到(上文所列的)最新版本,升级后你的客户端同步的是分叉前的区块链数据。你会停滞在一条遵循旧规则的、不兼容的链上,且将无法发送 ETH 或在升级后的以太坊网络上操作。


Q: 在以太坊上网络升级意味着什么?


网络升级意味着以太坊底层协议的一次变更,创建新规则来完善系统。区块链系统的去中心化本质使得网络升级变得更难。区块链网络升级的顺利进行需要与社区以及各个以太坊客户端开发者进行协作和沟通,以使过渡顺利进行。


Q: 网络升级过程会发生什么?


当社区就哪些变更需要被纳入到升级上达成共识时,这些对协议的变更会被写入各个以太坊客户端,例如 geth、Erigon、Besu 和 Nethermind。协议变更会在一个特定的区块高度上启动。任何没有升级到新规则的节点将在旧链上被遗弃,而旧链继续保有之前的规则。


Q: 为什么是“伦敦”?


在伊斯坦布尔升级后,我们定下来的网络升级名字都用完了。有人建议我们用举办 Devcon 的城市命名,于是我们就用了。柏林是举办 Devcon 0 的城市,下一次升级的名字是举办 Devcon 1 的城市——伦敦。


致谢

特别感谢参与到伦敦升级的研究、计划、实现、测试、修复、再测试、部署、压力测试,以及以其他任何形式帮助伦敦部署的每个人

您可能感兴趣的文章:

相关文章