本文分析了Besu代码库中由于遗漏Holesky和Sepolia网络的DEPOSIT_CONTRACT_ADDRESS配置而导致的问题。Holesky主网因此发生了supermajority链分裂,文章探讨了潜在的影响因素,包括测试网与主网配置差异、EIP-6110规范的不足以及Besu特定的默认行为。提出了改进建议,如尽早失败、采用eth_config共享配置等,并回顾了相关事件的时间线。
本文回顾了比特币历史上19次共识规则的变更,重点分析了其中几次导致链分裂的事件,如2010年、2013年和2015年发生的链分裂。文章详细介绍了每次变更的内容、类型(软分叉或硬分叉)及其结果,并探讨了对硬分叉定义的理解及2015年链分裂事故的具体原因。
OP Mainnet 上由于 Geth 和 Reth 客户端在 EIP-7702 gas 退款逻辑实现上存在差异,导致 gas 计算不一致,造成链分裂。具体原因是 Reth 正确实现了 EIP-7702 规范,而 Geth 的实现方式存在问题。通过更新 op-reth 版本和对遗留空账户进行处理,问题已得到解决。