上月中旬提出的以太坊改进提案(EIP)2387 暂定于 1 月 6 日进行硬分叉,以将以太坊 “难度炸弹,difficulty bomb)” 或 “冰河期(Ice Age)” 推迟 400 万个区块,或 611 天后再启动。这次分叉被命名为 “缪尔冰川(Muir Glacier)”,以纪念正在消融的阿拉斯加冰川(Alaskan glacier)。
此次硬分叉将在区块高度 9,069,000 时进行,以将当前基于工作量证明(PoW)共识机制的区块链和以太坊 2.0 向 PoS 过渡的第一阶段信标链(Beacon Chain)连接起来。
随着以太坊生态系统中的多个项目纷纷转向 EOS、Binance Chain 和 Substrate 等其他网络,开发人员在上周五的一次电话会议上表达了当前链在向以太坊 2.0 过渡时健康状况的担忧。更为复杂的是,该网络的下一个重要升级 — — 伊斯坦布尔(Istanbul)硬分叉 — — 预定在本周六进行。
虽然开发者在上周的电话会议中达成了初步共识,但如果他们不能很快就 “缪尔冰川” 达成共识的话,以太坊的出块时间将继续上升,交易费会让用户望而却步,从而大大限制当前网络的容量。
什么是 “难度炸弹”?
难度炸弹是于 2015 年嵌入以太坊网络的一段代码,是逐渐增加以太坊区块链哈希难度的两个组件之一,它旨在通过目前计划于 2021 年启动的 “宁静”(Serenity)网络更新迫使网络向 PoS 过渡。
与比特币类似,以太坊也有一个用来控制网络上以太币(ETH)奖励输出的挖矿难度调整方案,而难度炸弹就是其中的一部分。
与比特币不同,以太坊的 “难度炸弹” 在每挖出 10 万个区块后,会增加出块时间(通常为 10 – 20 秒之间)。由于 “难度炸弹” 以区块开采时间为基础,因此知道网络什么时候会生效更像一项艺术工作而非科学工作(more art than science)。
EIP 2387 将是该 “炸弹” 自 2015 年以来第 3 次被推迟引爆。第一次是在 2018 年的拜占庭(Byzantium )硬分叉,当时被延后了 300 万个区块启动;第二次是在 2019 年 2 月的君士坦丁堡(Constantinople )硬分叉中延迟 200 万个区块启动。
交易处理时间上升对以太坊来说并不陌生。据数据提供商 Etherscan 上显示,在拜占庭和君士坦丁堡硬分叉之前,出块时间就已经大幅增加了,分别达了 30 秒和 20 秒以上。
“看起来自从君士坦丁堡硬分叉以来,由于出块时间的加快,开发者显然低估了高昂的交易费再次出现的时间,” 以太坊开发人员埃里克·康纳(Eric Conner)在一条私人信息中表示,“伊斯坦布尔硬分叉后,大家一直以为下一次分叉之前才会发生这种情况,但实际上它正在慢慢形成。”
鉴于出块时间比预期更早上升,康纳起草了 EIP 2384,提议推迟启动伊斯坦布尔/柏林难度炸弹,并将之纳入 EIP 2387。康纳表示,在六周多一点的时间里,出块时间从 13.1 秒增加到了 14.3 秒。而且,由于难度炸弹是以太坊的一个指数特征,一秒钟的变化都会对未来产生很大的影响。
同步网络
尽管难度炸弹是以太坊最初嵌入的一项功能,但一些开发者呼吁彻底取消难题炸弹。毕竟,每次当它变得不方便的时候,它都被抛弃了。
然而,有些人认识到了维持这一最初设计的逻辑。它确实可以迫使以太坊客户端与网络保持同步,否则客户端在网络上运行的成本将越来越高。
“保留某种协议失效的最有力理由是,必须确保不能选择 ‘什么都不做’,” 以太坊开发者迈卡·佐尔图(Micah Zoltu)在一条私人信息中这样说道。
“利益相关者不再关注他们的客户端,也不再升级客户端,这才是更大的问题,” 他说道,“难度炸弹是为了确保人们在面对定期网络升级时可以做出明智的决策。”
目前,EIP 2384 正等待以太坊开发人员的最后讨论。EIP 2387 在上周五的电话会议上已达成了初步共识,但在网络实现之前,它还需要等待 EIP 2384 的最终定案和 Parity 或 Geth 等以太坊客户端的兼容。
“我认为要么完全取消难度炸弹,要么调整它的工作方式,” 佐尔图说道,“我反对让难度炸弹保持原样。”(CoinDesk中文版注:在以太坊最近一次公开会议中,所有开发人员和其他非开发人员与会者都同意推迟启动难度炸弹。)