ETH-以太坊的挖礦難度調整(區塊鏈技術與應用)


以太坊難度調整算法

比特幣是每隔2016個區塊調整一下挖礦難度,目標是維持出塊時間在10分鍾左右。以太坊是每個區塊都有可能調整挖礦難度,調整的算法比較復雜,已經變更了很多次。

以下是區塊難度的公式,這個H是當前的區塊,這個Hi是當前區塊的序號,D(H))是當前的難度。

這里難度調整的公式有兩部分,max括號里的是一部分,也稱基礎部分,目的是為了維持出塊時間在15s左右;后面的image-20211109114812114也稱為難度炸彈,作用主要是為了向權益證明過度,將來的以太坊將逐漸由工作量證明轉向權益證明。

父區塊指當前區塊鏈的最后一個區塊

img

image-20211109114812114主要和兩個因素有關,一個是出塊時間,一個是父區塊有沒有叔父區塊。

img

因為難度的最低為-99,所以難度的最多下調99/2048,這個難度有可能是正的也有可能是負數,負的難度要往下調。

img

為什么設置難度炸彈?

設置難度炸彈的原因是要降低遷移到 PoS 協議時發生 fork 的風險:到時候挖礦難度非常大,所以礦工有意願遷移到 PoS 協議。

但是因為低估了 PoS 協議的開發難度,需要延長大概一年半的時間,而此時難度炸彈的威力已經顯現,導致挖礦難度越來越大,所以在計算難度炸彈時將真正的區塊號減去三百萬,以此降低挖礦難度。

img


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM