撰文:Tim Beiko
编辑:南风
在测试网部署成功后,伦敦升级现在已经准备好在以太坊主网上激活。此次升级将在区块高度 12,965,000 上线,预计时间在 2021 年 8 月 3-5 日。
客户端版本
为了与伦敦升级兼容,节点运营者将需要升级他们运行的客户端版本。下方列出了支持以太坊主网伦敦升级的各个客户端版。这些版本与之前在测试网上支持伦敦升级的版本不同。之前的版本不支持主网的伦敦升级。
1) 客户端:go-ethereum (Geth)
版本号:1.10.5
下载链接:
https://github.com/ethereum/go-ethereum/releases/tag/v1.10.5
2):客户端:Nethermind
版本号:1.10.77
下载链接:
https://github.com/NethermindEth/nethermind/releases/tag/1.10.77
3) 客户端:Erigon (前身为 TurboGeth)
版本号:2021.07.03(alpha)
下载链接:
https://github.com/ledgerwatch/erigon/releases/tag/v2021.07.03
4)客户端:Besu
版本号:21.7.1
下载链接:
https://github.com/hyperledger/besu/releases/tag/21.7.1
5) 客户端:OpenEthereum (前身为 Parity)
版本号:v3.3.0-rc.4
下载链接:
https://github.com/openethereum/openethereum/releases/tag/v3.3.0-rc.4
6):客户端:EthereumJS VM
版本号:v5.5.0
下载链接:
https://github.com/ethereumjs/ethereumjs-monorepo/releases/tag/@ethereumjs/vm@5.5.0
注意:OpenEthereum 客户端将在伦敦升级后将被弃用。OpenEthereum团队正在与 Erigon 合作,为其所有用户提供一个平稳迁移至 Erigon 客户端的路径,更多信息可以在这里找到:
https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd
矿工注意:伦敦升级将更改在网络上处理目标 Gas 上限的方式,对此我们将在下文中的“作为一名矿工,我需要做什么?”小节进行详细介绍。
伦敦升级包含的 EIPs
此次伦敦升级将包含以下 EIPs (以太坊改进提案):
EIP-1559:Eth1.0 链的费用市场改革;
EIP-3198:BASEFEE 操作码;
EIP-3529:减少 gas 退款;
EIP-3541:拒绝以 0xEF 字节码开头的新合约
EIP-3554:将难度炸弹推迟到2021年12月1日
Ethereum Cat Herders 团队已经发表了一篇博客文章详细介绍了这些 EIPs 的细节:
https://medium.com/ethereum-cat-herders/london-upgrade-overview-8eccb0041b41
值得注意的是,EIP-1559 虽然向后兼容当前的交易格式,但它引入了对区块头的更改,添加新的交易类型,提供新的 JSON RPC 端点,并在几个方面改变客户端的行为 (包括挖矿、交易池,等等)。强烈建议相关项目自行熟悉此 EIP。与 EIP-1559 相关的更广泛的资源列表可以在这里找到:
https://hackmd.io/@timbeiko/1559-resources
Bug 赏金
为了让更多的人关注即将到来的伦敦升级,所有与伦敦升级相关的漏洞奖励将会翻倍,直到升级发生。以下客户端之间的跨客户端共识问题将符合奖励翻倍条件:Geth、Besu、Nethermind、OpenEthereum 和 Erigon。有关 bug 赏金涵盖的范围和限制的详细信息请参见:
https://bounty.ethereum.org/#rules
常见问题
>>作为以太坊用户或者 ETH 持有者,我需要做什么吗?
如果你使用某个交易所 (如 Coinbase、Kraken 或 Binance),某个网络钱包服务 (如 Metamask、MyCrypto 或 MyEtherWallet),某个移动钱包服务 (如 Coinbase wallet、Status.im 或 Trust Wallet),或者使用某个硬件钱包 (如 Ledger、Trezor 或 KeepKey),你不需要做任何事情,除非你的交易所或钱包服务商通知你采取额外步骤。如果你运行自己的以太坊节点,你需要升级你的节点,具体请查看下文的“作为非挖矿点运营者,我需要做什么?”小节。
>>作为非挖矿节点的运营者,我需要做什么?
下载以太坊客户端的最新版本,见上文。
>>作为矿工,我需要做什么?
首先,下载以太坊客户端的最新版本,见上文。然后,你将需要手动将你的Gas 上限目标更改为当前的两倍。这是因为,一旦伦敦升级上线,区块大小将翻倍,且 EIP-1559 将保持区块容量的使用率约为 50%。这可以在所有提供与主网兼容挖矿的客户端上通过 JSON-RPC 实现,无需重新启动你的节点。
例如,如果在伦敦升级之前,你的目标区块大小是 15,000,000 Gas,那么现在你将需要把 Gas 上限目标提高至 30,000,000 Gas,以确保维持每个区块中能够包含相同的平均交易数量。如果区块高度达到 12,965,000 或之后,你还未更改你的 Gas 上限目标,那么你将开始降低网络上的区块大小。下表列出了用于更新 Gas 上限目标的每个客户端的特定 API 调用:
客户端
JSON RPC API
go-ethereum
(Geth)
miner_setGasLimit:
https://geth.ethereum.org/docs/rpc/ns-miner#miner_setGasLimit
OpenEthereum
(前身为 Parity)
parity_setGasCeilTarget:
https://openethereum.github.io/JSONRPC-parity_set-module#parity_setgasceiltarget
Besu
miner_changeTargetGasLimit:
https://besu.hyperledger.org/en/stable/Reference/API-Methods/#miner_changetargetgaslimit
注意:Nethermind、Erigon 和 EthereumJS 尚不支持在以太坊主网上挖矿。
>>如果我是一名矿工或节点运营者,但我不参与此次升级,那会怎样?
如果你使用的以太坊客户端没有更新到最新版本,那么一旦升级发生,你的客户端将与分叉升级之前的这条区块链进行同步。你将会被困在一条遵循旧规则的链上,且你将无法发送 ETH 或者在升级之后的以太坊网络上操作。
>>以太坊的网络升级是什么?
网络升级是对底层以太坊协议的更改,通过创建新的规则来改进系统。区块链系统的去中心化特性使得网络升级更加困难。区块链中的网络升级需要与社区以及各种以太坊客户端的开发者进行合作和沟通,以确保过渡顺利进行。
>>在网络升级期间会发生什么?
在社区就升级中应该包含哪些更改达成一致后,协议的更改将被写入各个以太坊客户端,比如Geth、Erigon、Besu 和 Nethermind 等。协议更改会在特定的区块号激活。没有升级到新规则集的任何节点都将被抛弃在旧链上,之前的规则会继续存在于旧链上。
>>为何将此次升级命名为「伦敦」?
以太坊「伊斯坦布尔」升级之后,我们没有其他名字来命名计划中的其他网络升级。有人建议使用举办 Devcon 会议的城市名来对升级进行命名,然后我们就这么做了!伦敦是 Devcon 1 会议的举办地点,在此之前我们还在柏林举办了 Devcon 0。
鸣谢!
非常感谢所有参与研究、计划、实施、测试、突破、修复、重新测试、部署、压力测试和以任何其他方式帮助伦敦升级部署的人😁🇬🇧
感谢 Benjamin Davies 提供了本文的封面图!
免责声明
这是一个新兴的、不断发展的高技术领域。如果你选择执行这篇文章中的建议并继续参与,你应该确保你了解由此对你产生的影响。你应该了解其中包含的风险,包括但不限于意外 bugs 等风险。通过选择执行本文中的这些建议,风险自担。本文和其中的建议不构成任何形式的销售,也不构成任何形式的保证,包括但不限于任何与以太坊网络或本文提及的以太坊客户端相关的内容。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:全球视角,独到见解
评论0条