close

以太坊“繆爾冰川”硬分叉在即,“難度炸彈“這個詞可能時不時會映入你的眼簾,我們先了解下“難度炸彈”是什麽?

難度炸彈,是指2015年以太坊正式發布時,其初始發布版本中內嵌的一段代碼,這段代碼的作用是:讓曠工挖礦的難度系數,除了根據出塊時間和上一個區塊難度進行調整外,還增加上了一個每10萬個區塊呈指數型增長的難度因子。

這個難度因子會隨著區塊高度的增加而成指數級上升,當區塊達到一定高度後,會讓挖礦難度出現斷崖時上升,顯現出如炸彈爆炸般的威力,形象的稱這段代碼為“難度炸彈”。

“難度炸彈”引入的目的是為了解決以太坊從PoW 機制過渡到 PoS 機制時,減少POW曠工阻力,順利完成共識機制的切換。

但它的麻煩之處在於,以太坊POW到POS的轉換遲遲無法完成,難度炸彈的一次次爆發,迫使開發人員不得不進行一次次的硬分叉,來保持網絡正常運行,避免提早讓以太坊上的POW曠工進入 “冰河時代“,避免以太坊生態遭到破壞,這個過程將需要一直持續到成功過渡到pos算法為止。

實際上,以太坊短短幾年的歷史,以太坊難度炸彈已爆發過幾次。

 

 

 

39e156dcfb79d50510113952a1ac151c.png

第一次:區塊高度370 萬處爆發,拜占庭硬分叉千呼萬喚始出來

2017 年 3 月,區塊高度在 370 萬左右,出塊時間被延長至 30 秒,ETH 發行量減半, 礦工苦不堪言,POW向POS的切換還遠未準備好,此時,若不盡快停止難度炸彈,將嚴重影響以太坊生態,怎麽辦?

2017 年 10 月,開發人員經廣泛討論共識後,在區塊高度430萬處,啟動硬分叉--拜占庭升級,在升級版本中包含了「EIP 649」提案,該提案通過把當前的區塊高度減去300 萬作為公式中使用的區塊高度的方式,以此來延緩難度炸彈的啟動時間。Github上顯示:此時難度因子中區塊高度被調整為:430-300=130。

方式簡單粗暴,但效果驚人的好,有驚無險,拜占庭分叉的成功,即刻降低了挖礦難度,挖礦難度回到到了難度炸彈爆炸前的水平。炸彈消除前後對別如圖:

 

76bdf14abf3cdf631fd1eb75254dce7b.png

 

 

第二次: 700 萬高度爆炸,君士坦丁堡升級將其化險為夷。

2019年1月15日,以太坊君士坦丁堡升級協調員的 Afri Schodeon,發現以太坊的難度炸彈已經在大約 670 萬高度的區塊“啟動”,並在大約 700 萬高度的區塊發生了“爆炸”。

2019/1/16日,ETH創世人Eric Conner在Twitter上亦發表了“難度炸彈”已被啟動的觀點。Eric Conner 指出,在“難度炸彈”爆炸後的這段時間,平均挖礦時間已經從 14 秒升至 15.5 秒,並且會一直延長以太坊的出塊時間。

問題又一次擺在以太坊開發者面前,唯一的辦法就是分叉升級處理掉難度炸彈的影響。

2月28日,君士坦丁堡升級在區塊高度為728萬處分叉完成了,難度炸彈危機被再一次暫時解除了。

在此次升級協議中將難度炸彈延遲約一年半時間,采取的方法和 拜占庭分叉  一樣簡單粗暴,即難度因子中區塊高度減少500,即被調整為:728-500=228。

第三次:難度炸彈再次爆發,“繆爾冰川”硬分叉。

”難度炸彈”猶如懸在礦工頭上的達摩克利斯之劍,據EtherScan上的數據顯示

10 月 5 日,難度炸彈在區塊高度 8600000 上已啟動,當時對出塊時間影響並不大;11 月 22 日,難度炸彈全面爆發,出塊時間大幅延長, 延長至17.2 秒。

以太坊開發者不得不在進行伊斯坦布爾硬分叉後不久,再次進行硬分叉,該硬分叉升級只有一項改進提案,即EIP 2384,旨在將難度炸彈再推遲400 萬個區塊,大約是向後推遲 611 天,這就是即將進行的“繆爾冰川”硬分叉,輕車熟路,大概律會順利完成,曠工的挖礦難度會很快得以恢復。

 

小結:

一次次的“炸彈”爆發,雖然最終都得以消除,但留給礦工、投資者、DAPP開發者等的實際損失和心理創傷是始終無法撫平的,在POW向POS轉換的漫漫長路上,不知道還有多少次“炸彈”要爆發?兵來將擋,水來土淹,祝願以太坊渡過一劫又一劫後,走向巔峰。


arrow
arrow

    低階ㄇㄋ 發表在 痞客邦 留言(0) 人氣()