来源 | Ethereum Blog
作者 | Tim Beiko
要点速览
➤ 柏林升级准备可以部署了!
➤ 我们的推进非常快:第一个升级的测试网是 Ropsten,计划于3月10日升级。主网升级计划在 4 月 14 日进行。
➤ 如果你在运行以太坊节点,你应该尽快升级到用于测试网的、兼容柏林的版本,且在 4 月 7 日前升级用于主网的版本。
➤ 查看下面兼容柏林的客户端版本以及纳入此次升级的 EIP 的细节。
柏林升级时间
经过多个月得计划,柏林升级终于要来了!继伊斯坦布尔 (Istanbul) 与 缪尔冰川 (Muir Glacier) 升级后,柏林升级计划于以太坊主网区块高度 12,244,000 部署。我们期望它在 2021 年 4 月 14 日周三左右上线,但由于区块时间是可变的,确切日期可能有变。
在部署到主网以前,此升级会先在 Ropsten、Goerli 和 Rinkeby 测试网上运行。整个上线安排如下:
以太坊的节点运行者需要在他们想要参与的网络的分叉区块前升级他们的节点。考虑到区块时间的可变性,建议在预期日期前几天就升级。在下文查看各客户端对应的升级版本。
客户端版本
为了与柏林升级兼容,节点运行者需要升级他们运行的客户端版本。下表列出了以太坊网络里支持柏林升级的各个客户端的版本,包括测试网和主网。
注意,TurboGeth 与 EthereumJS 不会发布用于第一个测试网的版本,但它们在主网发布前会发布版本。当他们的版本发布后,我们会更新这篇文章。Trinity 持反对意见,并将不会支持柏林升级。
柏林升级包括的 EIP
柏林升级会把下列 EIP 引入以太坊网络:
➤ EIP-2565: ModExp Gas Cost ModExp Gas 成本
-
降低 ModExp (0x00..05) 预编译的成本
➤ EIP-2929: 增加状态访问操作码的 gas 消耗
-
增加 SLOAD、CALL、BALANCE、EXT* 和SELFEDESTRUCT 这些操作码在交易里第一次使用的 gas 消耗
➤ EIP-2718: 包含类型的交易封套
-
引入一种新的交易类型,它是一个封套,为多种交易类型提供支持。
➤ EIP-2930: 可选的访问列表
-
增加一种包含一个访问列表的交易类型,列表包含该交易准备访问的地址和储存密钥。这会减少由 EIP-2929 引起的 gas 消耗提升。
如果想了解更多这些 EIP,请看 Ethereum Cat Herder的柏林升级概述文章。
FAQ
Q: 为什么是“柏林”
A: 在伊斯坦布尔升级后,我们定下来的网络升级名字都用完了。有人建议我们用举办 Devcon 的城市命名,于是我们就用了。柏林是举办 Devcon 0 的城市,下一次升级的名字是举办 Devcon 1 的城市——伦敦。
Q: 作为以太坊的用户或 ETH 持有者,我有什么可以做的吗?
A: 如果你使用交易所 (比如 Coinbase、Kraken 或 Binance)、网页钱包服务 (比如 Metamask、MyCrypto、或 MyEtherWallet) ,移动端的钱包服务 (比如 Coinbase Wallet、Status.im、或Trust Wallet)、或硬件钱包 (比如Ledger, Trezor, or KeepKey),你不需做任何事情,除非你的交易所或钱包服务商通知你采取额外步骤。
Q: 作为节点运行者或矿工,我需要做什么?
A: 下载上文所列的以太坊客户端的最新版本。
Q: 如果我是一个矿工或节点运行者且不参与升级,会怎么样?
A: 如果你正在使用以太坊客户端但不升级到(上文所列的)最新版本,升级后你的客户端同步的是分叉前的区块链数据。你会停滞在一条遵循旧规则的、不兼容的链上,且将无法发送 ETH 或在升级后的以太坊网络上操作。
Q: 在以太坊上网络升级意味着什么?
A: 网络升级意味着以太坊底层协议的一次变更,创建新规则来完善系统。区块链系统的去中心化本质使得网络升级变得更难。区块链网络升级的顺利进行需要与社区以及各个以太坊客户端开发者进行协作和沟通。
Q: 网络升级过程会发生什么?
A: 当社区就哪些变更需要被纳入到升级上达成共识时,这些对协议的变更会被写入各个以太坊客户端,例如 geth、Open Ethereum、Besu 和 Nethermind。协议变更会在一个特定的区块高度上启动。任何没有升级到新规则的节点将在旧链上被遗弃,而旧链继续保有之前的规则。