嘀嗒嘀嗒,以太坊難度炸彈的引信已經拉開…

買賣虛擬貨幣

鏈聞ChainNews

公眾號ID:chainnewscom


君士坦丁堡升級被迫推遲,但以太坊的難度炸彈已經「啟動」併發生了「爆炸」。

撰文:李畫

1 月 18 日,在剛剛過去的這個週五晚間,以太坊核心開發者在電話會議中達成一致,確定了以太坊君士坦丁堡升級的時間推遲到在 7280000 區塊高度啟用。根據目前的以太坊出塊速度,普遍預計該升級將於 6 周之後的 2 月 27 日前後發生。

這次升級儘管再次延後,但是並不影響其對以太坊區塊鏈及生態系統帶來的積極影響。關於此次升級的意義,鏈聞在之前的報道「放長眼,走出君士坦丁堡一小步,以太坊還有大未來」中有過具體分析。

不過,推遲 6 周之後才進行升級,同時也意味著,用於延遲難度炸彈的「EIP 1234」要在一個月後才能被正式啟動

而實際上,以太坊的難度炸彈已經在大約 670 萬高度的區塊「啟動」,並在大約 700 萬高度的區塊發生了「爆炸」

目前以太坊的區塊高度為 709 萬左右,在等待君士坦丁堡升級的一個多月的時間內,這枚引信已經拉響的「難度炸彈」將逐步提升以太坊上的挖礦難度

最早發現這一情況的是 Parity 的開發者、同時擔任以太坊君士坦丁堡升級協調員的 Afri Schodeon


Ethhub 創始人 Eric Conner 隨後在 twitter 發表了難度炸彈已被啟動的觀點。他指出,以太坊出塊時間正在被難度炸彈逐步延長


Eric Conner 指出,在難度炸彈爆炸後的這段時間,平均挖礦時間已經從 14 秒升至 15.5 秒,並且會一直延長以太坊的出塊時間。


隨後,一些關注以太坊發展的媒體也開始發出報道,稱如果難度炸彈不能迅速且妥善處理,將會把以太坊帶入「冰河時代」

儘管這些媒體多少有些誇大該事件的影響,但是,以太坊難度炸彈需要「妥帖」地處理,以減少其影響,已經成為一個不可忽視的話題。

實際上,這次的君士坦丁堡升級中的「EIP 1234」提出了延遲難度炸彈提案

可是,隨著這次升級再次延期,以太坊難度炸彈的引信已經拉開,影響已經開始出現。

「難度炸彈」究竟是什麼?

「難度炸彈」是一段寫在以太坊挖礦演算法裡的程式碼,一旦以太坊上的區塊高度到達某個數值,它就會顯現威力。

下圖便是以太坊的挖礦難度計算公式,被標記為藍色的部分是難度炸彈,它是一種每挖出 10 萬個區塊後會指數型增長一次的難度因子。以太坊的挖礦難度除了與上一個區塊的難度和出塊時間有關,還與該難度因子有關。

當區塊數較少時,難度因子對挖礦難度並無太大影響,但一旦區塊數變大,該難度因子在計算結果中所佔的比重會顯著提升,並最終主導挖礦的難度

下圖是區塊高度對挖礦難度的影響圖。從中可以發現,難度炸彈會在大約 370 萬高度的區塊開始發揮作用,並在大約 400 萬高度時加速影響,此時,挖礦難度會被迅速改變,直至礦工難以挖出新的區塊。

區塊號以十萬為單位

引入難度炸彈的目的,是為了減少來自礦工方面的阻力,好讓以太坊能夠順利地從 PoW 機制過渡到 PoS 機制


如何阻止難度炸彈?

這不是難度炸彈的第一次爆炸。

如上文所言,當以太坊區塊高度到達 370 萬後,難度炸彈就會開始發揮作用。

下圖綠框內是發生在 2017 年的以太坊難度炸彈的首次爆炸,可以看到區塊獎勵在難度炸彈爆炸後急速下跌。當時發生時間是 2017 年 3 月,區塊高度在 370 萬左右。直至 2017 年 10 月,拜占庭升級在區塊高度 437 萬啟用時,上次難度炸彈的影響被消除。

在 2017 年難度炸彈爆炸的這段時期,以太坊上的挖礦難度斷崖式提升,出塊時間被延長至 30 秒ETH 發行量減半。


因為 PoS 尚未被準備好,如果不停止難度炸彈,將嚴重影響以太坊生態。

正因為這個原因,2017 年 10 月,開發人員在拜占庭升級中包含了「EIP 649」,用於延遲難度炸彈。

該提案即刻降低了挖礦難度,讓其回到了難度炸彈爆炸前的水平,效果如上圖紅框所示。產量未回到最初的位置是因為該提案把區塊獎勵由 5 ETH 降為 3 ETH。

怎麼做到的?其實很簡單。

在計算挖礦難度時,把當前的區塊高度減去 300 萬作為公式中使用的區塊高度即可。具體演算法如下圖所示,可在 GitHub 上獲取詳細情況:



難度炸彈引信再次拉開

不難推理,當做挖礦難度計算時,如果區塊高度再次達到 370 萬,也就是真實高度達到 670 萬時,難度炸彈會又一次開始發揮作用。

目前以太坊上的區塊數量已經超過了這個數值。截至發稿,以太坊的區塊高度是 709 萬,它甚至已經抵達了難度炸彈即將顯現威力的 400 萬的關口 709 萬300 萬 = 409 萬

觀察以太坊執行資料可以得出相同的結論。如下圖紅框所示,以太坊挖礦難度在近期已被提升一次,ETH 發行量正在以每天減少 3000 ETH 的速度下跌


拆彈任務箭在弦上

如果君士坦丁堡升級按預定時間在 1 月完成,難度炸彈幾乎不會對以太坊網路造成影響。但現在,由於升級推遲,導致消除難度炸彈的時間也被同步推遲,有可能帶來一些麻煩。


其中最顯著的影響是,挖礦難度增加,出塊時間變長,可能會造成以太坊網路的堵塞,給 DApp 生態帶來負面的影響

君士坦丁堡升級的區塊高度定在 728 萬,與現在的區塊高度相隔約 20 萬個區塊,這意味著挖礦難度在已經被加大的情況下,還會有兩次指數級的增長

下圖是 2017 年難度炸彈爆炸時,67 萬個區塊增長下,出現了 7 次指數級遞增。


可以預見,以太坊礦工將遭遇減產的影響。不過由於難度炸彈的影響越在後期越明顯,所以初期的 2~3 次指數級增長,還不會把難度提高到不可接受的水平

如上圖所示,如果君士坦丁堡升級在 728 萬區塊高度順利完成,挖礦難度只會有圖中綠框中最初的那 2~3 次躍升。

礦工受到的另一個影響是,他們可能會更快地迎來下一次難度炸彈的爆炸

拜占庭升級中的 EIP 649 是把當前區塊高度減去 300 萬作為計算用的區塊高度,也就是說區塊數是從 137 萬這個數字開始重新計算的,即 437萬 – 300 萬 = 137 萬

君士坦丁堡升級中的 EIP 1234 則是把當前區塊高度減去 500 萬作為計算用的區塊高度,也就是說,區塊數是從 228 萬這個數字開始重新計算的,即 728 萬 – 500萬 = 228 萬

因為難度炸彈會在 370 萬左右的區塊高度開始發揮作用,這代表著在君士坦丁堡升級完成後,距離下次難度炸彈被啟用只剩 140 萬個區塊。相比之下,拜占庭升級留出的是 230 萬個區塊。

這意味著,如果以太坊不能在一年內完成從 PoW 到 PoS 的改變,有可能還得進行一次硬分叉升級,處理掉難度炸彈的影響

除此之外,在目前,難度炸彈的爆炸可能也會影響君士坦丁堡升級的完成具體時間。目前市場普遍預計 728 萬高度的區塊會在 2 月 27 日左右出現,但受難度炸彈的影響,它也能會到 3 月才能被挖出

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;