Bitcoin

區塊鏈怎麼記錄交易?區塊、雜湊、工作量證明(2026)

CoinTrailHub 編輯團隊
2026-08-04 · 最近核驗 2026-10-16
21 閱讀
12 分鐘閱讀
區塊鏈怎麼記錄交易?區塊、雜湊、工作量證明(2026)
本文依據 官方資料核驗 人工審核
本文目錄
Binance

幣安新人福利

手續費返傭 20%

邀請碼 BN522
立即註冊幣安

幣安官方註冊入口 · 註冊後需完成身分認證(KYC)才能交易與提幣

上一篇文章講了比特幣的去中心化網路、分散式帳本和共識機制的整體邏輯。

現在我們來拆得更細一點:一個區塊裡面到底存了什麼?礦工到底在「算」什麼?為什麼說一筆交易被確認 6 次之後就很難被推翻?

這三個問題,是理解比特幣區塊鏈運作機制的關鍵。

本文會把比特幣區塊的「內部構造」拆開來看,用生活化的類比講清楚雜湊演算法、Merkle Tree 和工作量證明。不講密碼學數學推導,只講概念和邏輯。

讀完你將理解:

  1. 比特幣區塊的內部結構——區塊頭裡藏著什麼資訊;
  2. UTXO 模型——為什麼比特幣不記錄「餘額」,而是記錄「未花費的輸出」;
  3. Merkle Tree 是什麼,為什麼要用它來組織交易;
  4. SHA-256 雜湊如何構成比特幣的安全基石;
  5. 工作量證明(PoW)的「數學題」到底是什麼;
  6. 為什麼一筆交易被確認越多越安全。

本文是技術原理科普,不構成任何投資建議。

建議先閱讀前一篇 比特幣為什麼不需要銀行?UTXO、節點、PoW,再讀這篇會更順暢。

一個比特幣區塊裡有什麼

一個比特幣區塊,可以分成兩部分:區塊頭和交易列表。

區塊頭(Block Header)

只有 80 位元組,非常小,但包含了驗證整個區塊所需的全部核心資訊:

欄位 大小 存的是什麼 作用
版本號 4 位元組 區塊格式版本 相容性標記
前一區塊雜湊 32 位元組 上一個區塊的 SHA-256 雜湊值 把區塊串成鏈的關鍵
Merkle Root 32 位元組 所有交易的「彙總指紋」 高效驗證交易是否存在
時間戳 4 位元組 區塊生成的大致時間 配合難度調整
難度目標 4 位元組 當前網路要求的難度值 控制出塊速度
隨機數(Nonce) 4 位元組 礦工不斷改的這個數字 PoW 挖礦的核心

比特幣區塊結構:區塊頭和交易列表

交易列表(Transaction List)

區塊頭下面是交易列表——就是這個區塊打包的所有比特幣轉帳記錄。

一個區塊通常包含幾百到幾千筆交易。

簡單理解:

區塊頭 = 這頁帳本的「頁眉」(頁碼、上一頁摘要、本頁內容指紋)

交易列表 = 這頁帳本的「正文」(實際轉帳記錄)

區塊頭詳解:80 位元組如何支撐整個網路

區塊頭雖然只有 80 位元組,但它的設計非常精妙。這六個欄位各司其職:

前一區塊雜湊:鏈式結構的靈魂

這個欄位裡存的是上一個區塊的區塊頭經過兩次 SHA-256 雜湊計算後的結果。

意義在於:如果有人改了 100 個區塊之前的一筆交易,那個區塊的雜湊就變了 → 下一個區塊裡存的「前一區塊雜湊」就對不上了 → 再下一個也對不上 → 整整 100 個區塊全部作廢,需要重新計算。

這就是「鏈」的本質——用雜湊指標把歷史記錄鎖死。

Merkle Root:交易的「集體指紋」

Merkle Root 是把當前區塊裡所有交易「壓縮」成一個 32 位元組雜湊值的結果。

它的作用不是防篡改,而是讓任何人都能快速驗證「某筆交易是否在這個區塊裡」,不需要下載整個區塊。

具體原理後面細講。

難度目標:控制出塊節奏

難度目標(bits)是一個壓縮格式的數字,決定了礦工要找到的雜湊值必須小於什麼範圍。

難度不是固定的——比特幣網路每 2016 個區塊(約兩週)自動調整一次,目標是讓平均出塊時間穩定在 10 分鐘左右。

如果過去 2016 個區塊只用了 9 天就挖完了(算力太強),難度會自動上調。如果用了 15 天(算力變弱),難度下調。

這是一個完全自動化、不依賴任何人判斷的自調節系統——打開 Mempool.space 這類區塊瀏覽器,就能看到當前難度值和全網算力在根據最新出塊情況即時跳動。

Nonce:礦工競賽的「答案」

Nonce 是一個 32 位元的整數(0 到約 42 億)。礦工的工作就是不斷換 nonce 的值,把區塊頭丟進 SHA-256 算兩次,看結果是否小於難度目標。

由於 SHA-256 的輸出看起來完全隨機,礦工只能暴力窮舉——試運氣。

4 位元組的 nonce 空間(約 42.9 億種可能)對現代 ASIC 礦機來說瞬間就能遍歷完。因此礦工不會只改 nonce——他們還會修改 coinbase 交易中的 extraNonce 欄位、調整交易順序、或微調時間戳,這些操作都會改變 Merkle Root,從而獲得全新的搜索空間,相當於把「樂透號碼池」擴展到了幾乎無限大。

重要前置概念:比特幣不記錄「餘額」,只記錄 UTXO

在繼續講雜湊和 Merkle Tree 之前,有一個關鍵概念必須先釐清——很多新人以為比特幣像銀行一樣,給每個地址維護一個「帳戶餘額」:

錯誤理解:
Alice 帳戶:10 BTC → 轉出 2 BTC → 餘額 8 BTC
Bob 帳戶:  0 BTC  → 收到 2 BTC → 餘額 2 BTC

比特幣不是這樣運作的。 比特幣沒有「帳戶餘額」,只有 UTXO(未花費交易輸出,Unspent Transaction Output)。

UTXO 是什麼

把 UTXO 理解成「紙鈔」最直觀:

  • 你錢包裡不是「一個數字餘額」,而是若干張不同面額的紙鈔
  • 每張紙鈔(UTXO)來自之前某筆轉帳,面額固定
  • 你要支付 2 BTC 時,需要拿出一張或多張總額 ≥ 2 BTC 的紙鈔
  • 如果拿出了一張 5 BTC 的 UTXO,支付 2 BTC 後,剩下的 3 BTC 會以找零 UTXO 的形式回到你的地址

比特幣 UTXO 找零示意圖

一個具體例子

Alice 擁有兩個 UTXO:
  UTXO-A:3 BTC(來自上個月的一筆轉帳)
  UTXO-B:1 BTC(來自上週的一筆轉帳)

Alice 想給 Bob 轉 2.5 BTC:

→ 交易輸入:
  消費 UTXO-A(3 BTC)
  消費 UTXO-B(1 BTC)
  合計輸入:4 BTC

→ 交易輸出:
  輸出1:2.5 BTC → Bob 的地址(支付)
  輸出2:1.4 BTC → Alice 的找零地址(4 - 2.5 - 0.1 手續費)
  合計輸出:3.9 BTC(0.1 BTC 是礦工手續費)

UTXO-A 和 UTXO-B 在這筆交易中被完全花掉(銷毀),同時建立了兩個新的 UTXO——一個給 Bob,一個找零給 Alice。舊的 UTXO 從此不存在了。

為什麼用 UTXO 而不是帳戶餘額模型

對比維度 UTXO 模型(比特幣) 帳戶餘額模型(以太坊)
記錄方式 記錄未花費的「紙鈔」集合 記錄每個地址的餘額數字
驗證方式 只需檢查輸入 UTXO 是否未被花費 需要檢查餘額是否足夠
平行處理 天然支援——不同 UTXO 互不衝突 同一地址的交易需排隊
隱私性 更高——每次可用不同地址找零 所有操作圍繞同一個地址餘額

UTXO 模型是比特幣區別於以太坊的根本設計差異之一。理解了 UTXO,你才能理解為什麼比特幣的交易驗證不需要「查餘額」——只需要確認引用的 UTXO 還沒被花掉就行。

這也解釋了為什麼區塊裡的「交易列表」不是「Alice 餘額 -10,Bob 餘額 +10」,而是引用哪些 UTXO 作為輸入、建立哪些新 UTXO 作為輸出。

雜湊演算法是什麼,為什麼比特幣用它

先理解雜湊是什麼

雜湊演算法(Hash Function)的作用是:輸入任意長度的資料,輸出一個固定長度的「指紋」。

比如把「Hello」丟進 SHA-256,會得到一團 64 位的十六進位字串。把整本《紅樓夢》丟進去,同樣得到 64 位字串。

SHA-256 有三個關鍵特性:

特性 什麼意思 對比特幣的意義
單向性 有雜湊值,推不出原始輸入 沒人能從區塊雜湊反推區塊內容或 nonce
雪崩效應 輸入改一點點(哪怕一個標點),輸出面目全非 篡改一筆交易 → Merkle Root 完全不同 → 區塊雜湊完全不同 → 鏈斷了
抗碰撞 極難找到兩個不同輸入,產生相同輸出 沒有人能偽造一筆「看起來有效」的假交易來替代真交易

SHA-256 雜湊演算法三大特性示意圖

比特幣為什麼要做「兩次 SHA-256」

比特幣的雜湊計算幾乎全是double SHA-256——把資料先 SHA-256 算一次,再把結果 SHA-256 算第二次。

這個設計是中本聰加的額外安全層。雙重 SHA-256 不僅增加了一層安全隔離,也規避了單次雜湊在 Merkle-Damgård 結構下可能面臨的長度擴展攻擊(length extension attack)等潛在問題。

一個生活類比理解雜湊:

雜湊就像榨果汁——蘋果、柳丁、西瓜丟進榨汁機,出來都是一杯液體。你沒法從這個液體倒推出原水果長什麼樣,但只要你有一片懷疑的蘋果,再榨一次,如果出來的液體顏色一樣,那這片蘋果就「被驗證」了。

Merkle Tree:怎麼高效驗證一筆交易

沒有 Merkle Tree 的世界

假設一個區塊裡有 2000 筆交易。你要驗證「地址 A 給地址 B 轉了 0.5 BTC」這筆交易在不在這個區塊裡。

最笨的方法:下載整個區塊,逐筆核對 2000 條記錄。

在網路頻寬有限、有些節點是輕錢包(手機錢包)的情況下,這不現實。

有了 Merkle Tree 之後

Merkle Tree 的思路是逐層雜湊、兩兩配對:

  1. 把每筆交易的資料分別做一次雜湊,得到 2000 個「葉節點雜湊」;
  2. 把相鄰的兩個葉節點雜湊拼接,再做雜湊,得到 1000 個「第二層雜湊」;
  3. 繼續兩兩拼接 + 雜湊,直到最後只剩一個雜湊值——這就是 Merkle Root。

比特幣 Merkle Tree 結構示意圖

驗證某筆交易時,你不需要整個區塊。你只需要:

  • 那筆交易本身的資料;
  • 從它到 Merkle Root 這條「路徑」上的幾個雜湊值(稱為 Merkle Proof)。

對於 2000 筆交易的區塊,你只需要約 log₂(2000) ≈ 11 個雜湊值,就能完成驗證。

這就是 SPV(簡易支付驗證)的核心原理——手機錢包不需要下載完整的比特幣區塊鏈(幾百 GB),也能驗證交易。

關於錢包的運作原理和類型,推薦閱讀 什麼是加密貨幣錢包?錢包地址、助記詞與資產安全(2026)。

工作量證明:礦工到底在「算」什麼

很多人說「礦工在解數學題」,這個說法不太準確。

礦工不是在解一個有唯一答案的方程,而是在做一件事:反覆猜 nonce(和一個擴展欄位),直到區塊頭的 double SHA-256 結果小於難度目標。

比特幣工作量證明(PoW)挖礦流程示意圖

具體過程

  1. 礦工從記憶體池(mempool)裡挑選交易,構建候選區塊。
  2. 填好區塊頭的五個欄位(版本、前雜湊、Merkle Root、時間戳、難度目標)。
  3. 從 nonce = 0 開始,計算 SHA256(SHA256(區塊頭))。
  4. 如果結果 ≥ 難度目標 → nonce + 1,再來一次。
  5. 如果結果 < 難度目標 → 恭喜,挖到了! 立刻廣播給全網。

為什麼這道「題」沒有捷徑

SHA-256 的輸出看起來完全隨機。你沒辦法根據目標值「推導」出哪個 nonce 能命中——只能一個個試。

這就像買彩券:每改一次 nonce 就是刮一張彩券,想中獎只能多刮。算力越大 = 刮得越快 = 中獎機率越高。這套用算力競爭記帳權的機制,最早由中本聰在 比特幣白皮書 第 3-4 節中完整闡述。

難度有多高

截至 2026 年,比特幣網路的難度目標極高——合法區塊雜湊的實際判斷標準是雜湊值是否小於目標值(target),而不是固定數量的前導零。以當前難度來看,合法區塊雜湊通常會包含大量前導零(約 20 個),這讓「前導零」成了一個便於理解的近似說法,但協定層並不數零。

找到一個滿足條件的 nonce 的機率,大約是 1/2²⁰⁰ ——這個數字大到什麼程度?大概相當於你連續拋一枚公平硬幣,連續 200 次都是正面的機率。

全網的 ASIC 礦機加在一起,平均要花約 10 分鐘才能找到一個合法的 nonce。

如果你想更深入理解區塊鏈技術,推薦閱讀 什麼是區塊鏈?原理、用途和風險(2026)。

最長鏈原則:出現分叉怎麼辦

如果兩個礦工幾乎同時挖出了合法區塊,網路會出現短暫的「分叉」——一部分節點先收到了區塊 A,另一部分先收到了區塊 B。

比特幣網路的處理方式非常樸素:認最長的鏈。

後續礦工選擇在其中一條鏈上繼續挖。當下一個區塊被挖出並加到其中一條鏈上時,那條鏈就更長了——全網節點和礦工都會切換到最長鏈。

這帶來的兩個後果

  1. 孤塊(Orphan Block):被放棄的短鏈上的區塊成為「孤塊」,這個礦工拿不到區塊獎勵。這是礦工的營運風險之一。
  2. 交易確認不是即時的:一筆交易被打包進區塊後,如果這個區塊所在的鏈後來被廢棄,交易需要重新排隊等待打包。這就是為什麼交易所通常要求 2-6 個確認才計入餘額。

「6 個確認」的安全性

每多一個確認,意味著你的交易在鏈上「埋」得更深了一層。攻擊者要從你的交易所在區塊開始,連續重算多個區塊才能在最長鏈上超過誠實網路。中本聰在 白皮書第 11 節 中用機率模型證明:隨著確認數增加,攻擊成功的機率呈指數級下降——即使攻擊者掌握可觀的算力,在 6 個確認之後,雙花成功的機率也已經低到可以忽略不計。

6 確認不是魔法數字,而是安全性和等待時間之間的經驗平衡。對於絕大多數日常轉帳,2-3 個確認就已經足夠安全了。

51% 攻擊的成本到底有多高

51% 攻擊(多數算力攻擊)是比特幣最常被討論的極端情況。下面的分析幫你理解為什麼它「理論上可能,現實中極難」。

攻擊者能做什麼

如果控制了全網超過 50% 的算力,攻擊者可以:

  • 把自己剛花掉的幣「拿回來」(雙花攻擊)——重算包含自己交易的那個區塊及之後所有區塊
  • 阻止特定交易被確認——故意不打包某些地址的交易
  • 偷別人的幣——沒有別人的私鑰,改不了別人的簽名
  • 憑空創造比特幣——違反發行規則,全節點直接拒絕
  • 修改歷史區塊裡的交易——需要重算從攻擊目標區塊到最新區塊的全部內容,算力需求極高

成本估算

截至 2026 年,比特幣全網算力在數百 EH/s 級別(1 EH/s = 每秒 100 億億次雜湊),且持續成長中。即時資料可透過公開區塊瀏覽器查詢。

租用或購買達到 50% 以上算力所需的 ASIC 礦機,硬體成本在數十億美元級別,還需要對應的電力基礎設施。加上攻擊一旦被察覺,比特幣價格可能暴跌——攻擊者手裡的 BTC 和礦機都會大幅貶值。

攻擊的淨收益極大機率是負的。 這就是為什麼比特幣主網運行了十幾年,至今沒有出現過成功的大規模 51% 攻擊案例。

關於加密貨幣安全的更多內容,推薦閱讀 錢包被盜怎麼防?助記詞、錯鏈轉帳、授權風險(2026)。

一張表總結:比特幣區塊鏈的關鍵參數

參數 數值 說明
區塊頭大小 80 位元組 固定大小,不隨交易數量變化
平均區塊大小 ~1.5 MB 含交易資料,SegWit 後實際可達 ~2-3 MB
平均出塊時間 ~10 分鐘 由難度自動調整維持
初始區塊獎勵 50 BTC 2009 年
當前區塊獎勵 3.125 BTC 2024 年減半後,持續至 ~2028 年
最終總量 ~2100 萬枚 約在 2140 年達到
雜湊演算法 SHA-256 × 2 Double SHA-256
難度調整週期 每 2016 個區塊 約 2 週
全網算力(2026) 數百 EH/s 級別 即時變化,可透過區塊瀏覽器查詢

常見問題 FAQ

礦工除了區塊獎勵,還能賺什麼?

礦工每打包一個區塊,獲得兩部分收入:① 區塊獎勵(目前 3.125 BTC,由網路規則發行);② 交易手續費(區塊內所有交易的手續費總和)。隨著區塊獎勵每四年減半,手續費將逐漸成為礦工的主要收入來源。

如果礦工打包了一筆無效交易,會發生什麼?

全節點在收到新區塊後,會獨立驗證區塊內的每一筆交易。如果發現無效交易(比如簽名不對、double spend、憑空造幣),全節點直接拒絕整個區塊,不會把它加到鏈上。礦工投入的算力就白費了——拿不到區塊獎勵。所以理性的礦工不會冒這個險。

比特幣的難度只能升不能降嗎?

可以降。難度調整是雙向的——如果過去 2016 個區塊的實際出塊時間超過兩週(算力減少),難度會自動下調。歷史上發生過多次難度下調,通常在礦工大量關機或中國禁止挖礦等算力驟降事件之後。

為什麼全節點要儲存幾百 GB 的資料?

全節點儲存的是從創世區塊(2009 年第一個區塊)到最新區塊的完整帳本。截至目前,比特幣區塊鏈總大小約 500-600 GB。全節點需要完整資料來獨立驗證每一筆歷史交易。但你可以運行「裁剪模式」(pruned mode),只保留最近的區塊資料 + 所有 UTXO 集合,這樣可以縮減到幾個 GB。

比特幣的區塊會不會「滿」?

會,而且這是一個持續的社群討論。比特幣主鏈的吞吐量受區塊大小(~1-3 MB)和出塊時間(~10 分鐘)限制,大約每秒 3-7 筆交易。當交易需求高時,mempool 會擁堵,手續費上漲。擴容方案包括閃電網路(鏈下支付通道)、側鏈和未來的軟分叉升級,這仍然是一個活躍的技術演進方向。

比特幣區塊大小是多少?為什麼不能直接擴容?

比特幣區塊大小被限制在 1 MB(SegWit 升級後實際可達約 2-3 MB)。這個限制是中本聰早期為防止垃圾交易攻擊而設置的。擴容方案一直在社群討論中:主鏈保持去中心化(任何人都能運行全節點),高頻小額支付走閃電網路(Lightning Network)等二層方案。這是一個「安全去中心化 vs 吞吐量」的經典權衡。

比特幣為什麼不能修改歷史交易?

因為每個區塊都包含了上一個區塊的雜湊值——改了任何一筆歷史交易,那個區塊的雜湊就變了,它後面所有區塊的「前一區塊雜湊」全部對不上,整條鏈從修改點開始全部斷裂。攻擊者必須重算從被修改區塊到最新區塊的所有 PoW,而誠實礦工還在不斷延長最新鏈——追上來的機率隨確認數增加而指數級下降。這就是「鏈」這個詞的真正含義。

私鑰和比特幣網路運行有什麼關係?

比特幣網路的運行不依賴任何人的私鑰。但發起交易需要私鑰簽名——私鑰是你的「數位簽名筆」,證明你有權動用某個地址裡的 BTC。私鑰不需要聯網,甚至可以寫在紙上。關於私鑰的保管,推薦閱讀 什麼是助記詞?為什麼丟了沒人能幫你找回資產(2026)。

總結

比特幣區塊鏈的運行機制,核心就是下面這些環環相扣的設計:

  1. UTXO 模型 → 比特幣不記錄「餘額」,只記錄未花費的交易輸出,像紙鈔一樣流轉;
  2. 區塊 + 鏈式雜湊 → 讓歷史記錄很難被篡改(改一筆 = 改全鏈);
  3. Merkle Tree → 讓任何人能高效驗證交易,不需要下載整個區塊;
  4. SHA-256 → 單向、雪崩、抗碰撞,構成密碼學安全基礎;
  5. 工作量證明(PoW) → 用算力競爭替代中心化投票,讓「誰說了算」有經濟代價;
  6. 最長鏈原則 → 用最簡單的規則解決分叉衝突,全網自動收斂到同一狀態。

這些設計組合在一起,讓一個沒有中心伺服器、沒有公司營運、沒有 CEO 的網路,在全球數萬個節點上協調運行了十幾年。

對新手來說,不需要記住每個欄位的位元組數。記住一件事就夠了:比特幣的安全不是靠「沒有人攻擊」,而是靠「攻擊的成本遠高於收益」。

下一步建議了解比特幣的交易全流程——一筆 BTC 轉帳從發起、廣播、進入 mempool 到被打包進區塊、獲得 6 個確認,經歷了什麼。推薦繼續閱讀本專題的後續文章。

相關推薦

免責聲明

本文僅用於比特幣和區塊鏈技術原理科普,不構成任何投資建議、理財建議或交易建議。

加密資產價格波動較大,相關服務可能存在平台風險、市場風險、網路安全風險和操作風險。用戶應根據自身風險承受能力謹慎判斷,並以所在地法律法規為準。

資料與核驗
最近事實核驗:2026-10-16
本文引用的官方資料

編輯原則見編輯方針,更正流程見更正政策。

編

CoinTrailHub 編輯團隊,專注加密貨幣新手教育、交易所安全與 P2P 交易風險研究。本文基於官方資料、公開鏈上資料與區塊瀏覽器資訊整理,內容經人工審核,力求準確但不構成投資建議。

最後更新:2026-08-04 · 內容經人工審核 · 了解更多

© 2026 CoinTrailHub · 本文為原創內容,未經授權禁止轉載、採集或改寫。