零点芝士 | 什么是以太坊的“难度炸弹”?
什么是“难度炸弹”(Difficulty Bomb)?
我们都知道现在的 ETH 是 POW 共识进行挖矿,那么在挖矿过程中,就会有难度的调整,正常情况下,如果出块太慢(超过 20 秒),就会降低难度,如果出块太快(小于 10 秒),就会增加难度,让挖矿的时间差不多在 15 秒左右,这样可以让出块速度比较稳定。
但是除了正常的难度调整,ETH 在 2015 年就引入了一个新的调整挖矿难度的机制,这个机制就是“难度炸弹”(Difficulty Bomb),这个机制优先级高于正常的难度调整,所以如果“难度炸弹”(Difficulty Bomb)启动后,就会出现挖矿难度持续增加,这个增加是一个指数级的增长,开始的增加会比较小,但是后期难度增加越来越快,最终 ETH 出块时间越来越长,矿工收益越来越低。
为什么要设置“难度炸弹”(Difficulty Bomb)?
“难度炸弹”(Difficulty Bomb)在开始设置的时候,主要是为了通过一个算法自动增加 POW 挖矿的难度,来保证 ETH 从 POW 可以顺利迁移到 POS,通过算法来增加难度,比较容易让矿工接受,以及可以平滑的从 POW 过度到 POS。
为什么“难度炸弹”(Difficulty Bomb)一直在推迟?
计划赶不上变化,以太坊从 POW 转入到 POS 的过程中,预期时间和实际时间相差太多,几次延期都是因为转入 POS 无望,只能把这个“难度炸弹”(Difficulty Bomb)延期,等到转入 POS 有计划的时候,再开启。
为什么不取消“难度炸弹”(Difficulty Bomb)?
你一定想问,既然这个“难度炸弹”(Difficulty Bomb)看起来没多少作用,而且 ETH 2.0 现在完全没有确定的时间,为什么不把“难度炸弹”(Difficulty Bomb)直接去掉呢?
其实 ETH 社区一直都有大量的讨论,坚持不取消“难度炸弹”(Difficulty Bomb)的同学,主要的原因有两个:
第一,仍然是之前的原因,可以在 ETH 2.0 确定上线时间后,可以打开“难度炸弹”(Difficulty Bomb),让矿工可以顺利切换到 POS 网络。
第二,现在有“难度炸弹”(Difficulty Bomb)的存在,因为几次硬分叉过程中,都有“难度炸弹”(Difficulty Bomb)的延迟的硬分叉,那么旷工为了降低挖矿难度,他们是有强烈升级 ETH 客户端的意愿的。那么,因为“难度炸弹”(Difficulty Bomb)的存在,让更多旷工快速升级 ETH 客户端,好像也是一个不错的理由?