难度炸弹未引爆,算力大幅上升,以太坊黎明将至?
文/区块律动BlockBeats 0x28
黎明前最黑暗。以太坊的黎明,也许就要到来。
1月21日,PeckShield发布消息称,以太坊“难度炸弹(Difficulty Bomb)”并未爆炸,目前对出块时间影响甚微。该言论有效反驳了此前“以太坊难度炸弹已爆炸,将进入冰河时代”的唱衰声。
两天前的以太坊开发者会议上,君士坦丁堡(Constantinpole)硬分叉的区块高度被重新设定——7280000。据此估算,以太坊君士坦丁堡硬分叉的时间将比原定时间推迟超一个月,预期时间为2月27日左右。
以太坊此次分叉被给予了很高期望,也吸引了足够多的眼球。但一再推迟让关注者颇多怨言,更糟的是,分叉具体时间的决定性因素,出块速度也在逐渐变慢。引发市场的又一轮利空。
再加上1月15日,Ethhub创始人Eric Conner在Twitter上发声称:以太坊“难度炸弹”已经“爆炸”,具体表现在以太坊的出块时间正在逐渐延长,“平均挖矿时间从14 秒升至15.5 秒,并且会一直延长以太坊的出块时间。”
消息伴随着预警开始持续发酵后,以太坊难度炸弹已爆炸,以太坊将进入冰河时代的声音愈演愈烈。PeckShield此时的说法更像是给以太坊的支持者的一剂定心丸。
“难度炸弹”没爆炸
自1月16日凌晨,以太坊在君士坦丁堡分叉原定时间到来前,被曝出代码出现“可重入”漏洞。此后,关于以太坊,仿佛有源源不断的坏消息。
根据PeckShield的研究,诸多媒体宣称的以太坊难度炸弹已经爆炸,近期挖矿平均时间的延长,即从14秒延长至15.5秒实际上与难度炸弹无关。研究人员称,该难度炸弹代码在2017年10月份,以太坊拜占庭硬分叉时已经存在。因此,此次君士坦丁堡推后并没有催生新的难度炸弹。
实际上,难度炸弹的激活并没有想象的那么容易,需要满足一系列的条件。首先,“难度炸弹”算法产生的难度值,是以太坊的出块难度值的一部分,此外还要加上上一块的出块难度和时间等相关要素。
即使这些要素都满足,目前难度炸弹产生的难度值,占总难度的比值不到万分之一,对出块时间影响很小,几乎可以忽略不计。也就是说,真正能影响出块安全的,难度炸弹爆炸的实际促成非常困难。
但是,极低的可能不代表没有可能。以太坊设置的规则是,出块每增加10万块,出块难度值就会倍增。这种情况下,如果不对出块难度进行调整,出块难度就越来越高,逐渐成为以太坊出块时间的决定因素。
最坏的情况是,以太坊出块时间无限延长,对矿工的吸引力下降,“以太坊冰期”到来。PeckShield透露,此次推迟至2月27日的君士坦丁堡硬分叉,会将难度值降低2的20次方 ,即降到现值的约百万分之一,以此将“难度炸弹”爆炸时间推迟一年。
截至截稿,以太坊浏览器显示,出块速度为17秒,而在21日上午时,出块速度仅为14秒。区块律动BlockBeats发现,此前进入预定分叉期前,出块速度也会出现浮动,因此这种情况更像是算力的正常浮动。
漏洞修复 矿工仍最吃亏
PeckShield曝出的以太坊硬分叉“可重入”漏洞,打乱了以太坊的分叉计划。“可重入”漏洞可以攻击相关合约,用户余额或其他关键变量都可能被修改。分叉前一个存储操作至少需要5000gas,此时变为2300gas。因此该漏洞直接造成以太坊君士坦丁堡的延期。
1月18日,以太坊开发者会议召开。会议重点讨论了难度炸弹的更新、何时重新施行硬分叉、君士坦丁堡之后的路线图问题,以及导致升级被推迟的“可重入”漏洞。
针对漏洞,开发者们决定,将SSTORE净gas测量以太坊改进提案(EIP)从这次升级中移除,改为在以太坊计划的10月份“伊斯坦布尔(Istanbul)”分叉中进行。
也就是说,君士坦丁堡升级原定主要内容: 5 个 EIP(Ethereum Improvement Proposal,即5个以太坊改进建议当中,除EIP1283不实行外, EIP145、EIP1014、EIP1052、EIP1234仍按原计划在分叉中继续。
从最终结果看,将区块奖励由3个ETH减少为2个ETH不变,推迟难度炸弹12个月,以及其他协议上的的微小改进。
值得注意的是,这其中,EIP1234对应着区块奖励,也就是矿工利益。以太坊一直以来对矿工利益进行持续削减,这也成为以太坊系统优化升级的阻力。
现在,将现有的区块奖励由 3 ETH 减少到 2 ETH,矿工奖励减产超33%。按照ETH的现在的均价790元计算,矿工每挖出一个以太坊,区块奖励就少790元。在目前的市场下,情况的严峻性可想而知。