Bitcoin 挖礦:完整指南

5531 职业解析 | 2026-06-23 03:26:08

要贏得 Bitcoin 挖礦競賽並獲得區塊獎勵,礦工必須生成一個數值等於或低於 Bitcoin 協議自動設定目標的雜湊值。此數值稱為目標雜湊值。

每個目標雜湊值的前端都會有一定數量的零。根據當前的挖礦難度(亦由協議自動設定),前端可能只有少數幾個零,也可能有很多個零。

目標雜湊值前端零的數量越多,礦工就越難超越它;反之則越容易。

例如,一個典型的 Bitcoin 目標雜湊值可能會像這樣。

00000000000a28ba41fe240e0b37

一個較易超越的目標雜湊值可能會像這樣。

000agh3h5g6711deabcc650918d9

你有沒有注意到,它的前端零的數量明顯少了很多?

雖然這看似微不足道,但只要在前端多加一個零,就能令競賽的勝出難度增加數百倍。

你可以把它想像成拋硬幣,一次是連續三次正面朝上,另一次是連續二十次正面朝上,想一想這兩者的機率差距有多大。

每個新交易區塊的目標雜湊值會先作為前一個區塊的一部分向網絡廣播。這項資訊會儲存在區塊標頭之中,而區塊標頭是 Bitcoin 區塊的一部分,用於儲存多項重要的識別資訊。

區塊標頭內還有一個稱為 nonce​ 的值,全稱是「number used once」(一次性使用的數字)。

在建立雜湊以超越目標雜湊值時,所有礦工會取用前一個區塊的區塊標頭,將 nonce 改成新的數字,再交由 SHA-256 雜湊演算法運算。每次更改 nonce 值,都會產生一個全新的雜湊值。

由於礦工根本無法預知哪些輸入會產生哪些雜湊值,要超越目標雜湊值就只能靠不斷試錯。

猜測與驗證的過程會持續進行,直至有一位礦工成功產生一個雜湊值,其前端零的數量與當前目標雜湊值相等或更多。

然後,勝出的礦工會將新的交易資料區塊提交給區塊鏈上的其他礦工,供他們獨立驗證。那些沒有贏得挖礦競賽的其他礦工,會獨立驗證被提議的區塊,以確保該區塊有效。