工作量證明 POW

POW,Proof of Work 工作量證明,是比特幣用來決定區塊產生權的機制。

工作量證明 POW

 

POW,Proof of Work 工作量證明,是比特幣用來決定區塊產生權的機制。

礦工會將區塊頭資料進行兩次 SHA-256 計算,並透過不斷變更 Nonce,反覆嘗試不同輸入組合,以找到一個小於等於系統難度目標 Target 的雜湊值。當礦工找到符合條件的 Hash 時,即代表完成 PoW。

該區塊會被廣播到全網,由其他節點驗證後納入區塊鏈,礦工才能獲得區塊獎勵與交易手續費,這個過程稱為挖礦。


POW 基本概念

  • SHA-256 SHA-256 雜湊函數,是透過多輪非線性壓縮,把任意長度資訊映射成 256-bit 的系統,利用其相同輸入必得相同輸出的確定性、無法從 Hash 推回原始資料的不可逆性,以及輸入微小變化會導致輸出完全改變的高敏感性,在比特幣中使用的是兩次 SHA-256 進行雜湊,來增加計算強度與安全性。

  • 尋找隨機數 Nonce 礦工會把區塊頭資料以 SHA-256 演算法進行兩次雜湊,得到一個固定長度的雜湊值 Hash。這個輸出看起來是隨機的,但實際上是確定性函數,使結果不可預測,但可驗證。

  • 成本綁定 計算 SHA-256 嘗試 Nonce 值將消耗電力與時間成本,以經濟成本為門檻防止濫用。


POW 運作方式

  • 創建候選區塊 Candidate Block 發送端與接收端建立的交易紀錄,將各筆交易聚集於交易池 Mempool,礦工從中選取交易,通常會優先選擇能提供較高手續費率的交易,建立候選區塊。

  • 創建 Coinbase Transaction 幣基交易,是區塊中的特殊交易,用以產生新的比特幣作為區塊獎勵,並收取該區塊所包含交易的所有交易手續費。

  • 創建區塊頭 Block Header 區塊頭包含一些資訊欄位,用以驗證與標記區塊。

    • 版本 Version
    • 前一個區塊雜湊值 Previous Block Hash
    • 默克爾根 Merkle Root
    • 時間戳 Timestamp
    • 難度目標 nBits
    • 隨機數 Nonce
  • 尋找隨機數 Nonce Nonce 欄位會先被設定為初始值,礦工隨後開始不斷修改 Nonce,並對區塊頭進行雙重 SHA-256 雜湊運算。

    每次 Nonce 改變,都會使區塊頭的輸入資料發生變化,進而產生計算上不可預測的雜湊值。礦工必須透過大量嘗試,尋找一個符合條件的 Nonce。

    當條件符合時,Block Hash 的數值必須小於或等於難度目標 Target,即完成工作量證明,可向全網廣播該區塊。

    其他節點收到區塊後,會驗證區塊中的交易、區塊頭與 Proof of Work 是否符合共識規則。驗證成功後,該區塊才能被接受並加入區塊鏈,礦工則可獲得區塊獎勵與交易手續費。

    難度目標 Target 會根據全網算力進行調整。比特幣每 2016 個區塊調整一次難度,使區塊產生時間長期維持在平均約 10 分鐘。

2026/9/14 4:41 PM


更多文章