Proof-of-Work

誰決定區塊鏈 PoW 之謎?

  • July 30, 2021

在 PoW 算法中,礦工必須解決一個數學難題,其難度取決於網路負載和總計算能力。但是誰來決定每個區塊的難題是什麼?例如,我正在探勘一個區塊,A + B = C現在我必須解決以下等式A,我必須找到B 解決這個等式的問題,但是區塊鍊網路中的誰為C每個區塊提供(預定數量)?或者其他礦工如何驗證他確實找到了獲勝的雜湊?

礦工必須解決數學難題

讓我們具體一點:礦工必須找到一個區塊頭(你用區塊內容建構,即交易),其雜湊 (double sha256) 是一個低於target的數字。

但是誰來決定每個塊的拼圖是什麼?

這可以改寫為:但是誰來決定每個塊的目標值?

簡短而抽象的答案:網路設定目標值。

或者其他礦工如何驗證他確實找到了獲勝的雜湊?

不僅是其他礦工,而且網路的所有參與者(全節點)在收到一個塊時都會驗證 PoW,“驗證 PoW”的意思是“檢查塊頭的雜湊 (double sha256) 是否代表低於目前目標的數字.

那麼,所有節點如何就區塊的有效性達成一致呢?或者,所有節點如何共享同一個目標?

創世區塊的目標是硬編碼的,並且每 2016 個區塊調整一次(目標越高,難度越小。目標越小,難度越高)。由於所有參與者共享相同的區塊鍊和相同的目標調整公式,因此他們共享相同的目前目標。而且由於它們共享相同的目前目標,因此它們接受相同的塊,因此共享相同的塊鏈:-)。

系統生成下一個謎題。將其視為下一個 A 是散列目前 A 和剛剛解決的下一個事務的結果。因此,雜湊輸出 new A 又是隨機的。所以剛剛解開謎題的礦工沒有任何優勢。美妙之處在於你總能找到符合目標難度的B。

引用自:https://bitcoin.stackexchange.com/questions/92471