来了 以太坊“伦敦”升级
以太坊网络的第十一次硬分叉“伦敦”升级将于区块高度 12,965,000 处激活 (据估算将于北京时间2021年8月5日晚进行)。本次升级主要包含 5 项 EIP,分别为 EIP-1559、EIP-3198、EIP-3529、EIP-3541 和 EIP-3554。
“伦敦”升级倒计时:
https://ethernodes.org/london
我需要做哪些准备?
节点运行者需要升级其运行的客户端版本,以下为支持“伦敦”主网升级的客户端版本:
go-ethereum (geth):1.10.6
Nethermind:1.10.79
Erigon (前 TurboGeth):2021.07.04-alpha
Besu:21.7.1
OpenEthereum (前 Parity):v3.3.0-rc.4
EthereumJS VM:v5.5.0
Tim Beiko (以太坊 ACD 协调人/EIP-1559 倡导者) 最近收到了很多关于伦敦升级挖矿的信息,其中有不少错误认知。他对在伦敦升级中,矿工要做的工作、注意事项、相关资源做了详细说明,还对用户应如何在有 MEV 的环境里设置小费进行了科普:
矿工须知
当伦敦升级激活时,分叉区块的 gas limit 会变成最后一个分叉前区块的两倍,可以在已经分叉的测试网上看到。
例如 Goelie 测试网分叉前区块 (https://goerli.etherscan.io/block/5062604) 的 gas limit 是大约 8m,分叉区块 (https://goerli.etherscan.io/block/5062605) 是大约 16m。


但是,如果想要保持链上的吞吐量不变,矿工需要保持新的 gas limit 不变 (预计区块平均容量是大约 50% 满)。
如果矿工什么都不做,会继续以 15m gas 为区块容量上限,区块大小会被慢慢降低。为避免这种情况发生,矿工需要在分叉后把 gas limit 上调至 30m (如果想保持区块的平均容量是 15m gas)。
矿工不需要重启你们的挖矿节点,每个支持伦敦升级的客户端都会通过 JSON RPC 实现这点,请看伦敦升级公告里每个客户端的 API 调用:
go-ethereum (geth):miner_setGasLimit
OpenEthereum:parity_setGasCeilTarget
Besu:miner_changeTargetGasLimit

以下是 JSON RPC 文档链接:
@go_ethereum:
https://geth.ethereum.org/docs/rpc/ns-miner#miner_setGasLimit
@OpenEthereumOrg:
https://openethereum.github.io/JSONRPC-parity_set-module#parity_setgasceiltarget
@ConsenSysQuorum: https://besu.hyperledger.org/en/stable/Reference/API-Methods/#miner_changetargetgaslimit
再次强调,矿工无需重启节点,只需要在 JSON RPC 调用中设置新的 gas limit。
用户须知
升级期间以太坊用户或 ETH 持有者无需采取额外行动,但需留意钱包或其他服务商发布的升级通知。另外,Eth2 验证者也请在伦敦升级前确保你们的 PoW (eth1) 节点升级到最新版本。
第二个大问题是关于 priority fee/小费的设置。简言之,小费是支付给矿工处理额外风险的,即在打包你的交易时出现叔块的情况。更大的区块 -> 在网络上广播更慢 -> 更高的叔块风险。
有一个方法可以将这种情况可视化:将上一个区块的 gas limit 从 12.5m 上调至 15m。左边的点显示的是在 12.5 的范围内出现叔块的几率,右边显示的是当我们调至 15m 时:新增的 2.5m gas 带来的叔块率提升。

因此,如果用户想支付给矿工足够高的小费好让他们打包你的交易,那么小费平均下来对他们来说需要是净收益,而这就与用户的额外交易进入叔块的几率有关。
在 MEV 以前的世界里,这个计算是很容易的,因为区块奖励区分于叔块奖励,因此我们可以直接使用一个固定值 (0.5-1 gwei)。
现在有了 MEV 后的挑战在于,当一个区块变为叔块时,矿工就没有了该 MEV 交易捆里的收入和部分的区块奖励,还有 MEV 收入变化很大!
因此,最好的方法是看 MEV 交易捆的中位数或第 80% 的值,并对矿工失去该收入的风险进行补偿。Flashbots 有一些仪表盘可以显示这些数据: