聰明的頭腦可以用外行的方式解釋塊難度計算嗎?
我試著在這裡閱讀:https ://en.bitcoin.it/wiki/Difficulty
但它更接近於嚴格的數學證明而不是解釋。
我有興趣了解這一點,因此我可以了解是什麼讓區塊或區塊鏈比另一個更難。據說,當一個比特幣客戶端啟動時,它會選擇它所看到的最困難的區塊鏈。
聰明的頭腦能用簡單的話來解釋嗎?
區塊權重來源於難度
難度編碼了一次嘗試產生有效塊的可能性。假設難度從 1% 開始,即 100 次嘗試應該成功,我們將其稱為 100 的難度。
以 1% 的成功率,您可以在第一次嘗試時成功,但也可能需要你200次嘗試。然而,成功並沒有因為幸運或不幸而變得更難或更容易!因此,無論在找到該塊之前實際進行了多少次嘗試,該塊在找到時將具有“100 難度”的權重。
難度如何變化?
顯然,當人們向網路添加更多計算能力時,每秒將執行更多嘗試。由於每次嘗試都有成功的機會(例如上面的 1%),更多的計算能力將導致更快地找到一個塊。這仍然是一個機率過程,所以有時它可能會比之前的平均時間慢,但新的平均時間會更低。
如果對此不採取任何措施,隨著更多的挖礦能力被添加到網路中,區塊會變得越來越快。
因此,難度會每 2016 個區塊自動調整一次,也就是大約 2016 個區塊。14 天,每塊 10 分鐘。為此,我們計算:
- 找到最後的 2016 塊需要多長時間?
- 如果總時間短於 14 天的目標,難度會增加。如果速度較慢,難度會降低。
- 新難度的設置使得下一個 2016 塊應該需要 14 天,如果算力與過去 14 天保持不變。
假設只用了 7 天就找到了 2016 個區塊。現在難度翻倍到200。
兩個區塊鏈技巧如何比較“長度”?
假設我們有兩個相互競爭的區塊鏈技巧:它們都從區塊 1作為父區塊開始,但同時發現了兩個不同的區塊:區塊 2A和區塊 2B。兩個塊具有相同的難度級別,正如我們在上面了解到的,這與它們何時被發現無關。因此,鏈 A 和 B 的總難度將相同,即Block 1 + Block 2A = Block 1 + Block 2B。一旦Block 3A或Block 3B,兩條鏈中的一條將具有更大的總難度會被發現。由於一般相同高度的區塊具有相同的難度陳述,因此相同高度的兩條鏈的總難度是相同的。這就是為什麼很多人只講鏈條的“長度”,來描述哪個鏈條的總難度最大。
唯一的例外是當兩個競爭塊出現在難度重新定位的高度時:由於它們的時間戳略有不同,因此它們的孩子的新難度可能會有所不同,即使在相同難度下,總難度較高的一個也可以替換另一個高度。