﻿---
title: "比特幣挖礦：區塊範本、工作量證明、礦池與經濟性"
description: "比特幣挖礦先建構候選區塊，再搜尋 SHA-256d 區塊標頭空間，尋找不高於網路目標的工作量證明。應分別分析範本身分、交易和 coinbase 有效性、nonce 與 extranonce 搜尋、全節點驗證、傳播、陳舊區塊風險、礦池份額、支付規則、難度、能源與營運經濟性。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 比特幣挖礦：區塊範本、工作量證明、礦池與經濟性

> 僅供協定與挖礦教育分析，不構成投資或營運建議。挖礦結果具有隨機性，並取決於網路規則、難度、手續費、礦池條款、上線率、硬體、能源、融資、稅務與市場價格；預期收入或算力份額不保證出塊、付款或獲利。

<a id="answer"></a>

## 直接回答

比特幣挖礦是建構有效候選區塊，並以 SHA-256d 反覆計算其 80 位元組區塊標頭，直到結果在數值上不高於共識目標的過程。成功礦工只是向網路提議區塊。挖礦不能讓無效交易變成有效交易、判定協定外的事實，或賦予礦工控制他人幣的權限：每個全節點都會獨立檢查工作量證明、區塊標頭、交易、指令碼、已花費輸出、區塊限制與 coinbase 允許金額。

挖礦節點或礦池可透過 `getblocktemplate` 等介面取得候選資料。重要欄位包括 `version`、`previousblockhash`、`transactions`、`coinbasevalue`、`target`、`bits`、`height`、`weightlimit` 與 `sigoplimit`。範本是依策略選擇的起點，不承諾必須納入其中每筆交易，也不保證修改後的區塊會獲接受。共識有效性、本機記憶池策略、手續費選擇與礦池規則屬於不同層次。

挖礦硬體搜尋不同的區塊標頭。32 位元 nonce 範圍耗盡後，挖礦軟體會修改 coinbase 的 extranonce 資料、重建 Merkle 根，並可在規則允許時更新時間或版本欄位，以取得新的標頭空間。每次雜湊都是獨立試驗。更多相容算力會提高長期成功頻率，但不能排定特定區塊，也不保證在期限內找到結果。

單獨挖礦把有效區塊允許的全部 coinbase 輸出交給單獨礦工，但付款變異很高。礦池彙集工作，以較容易的份額目標估算貢獻；只有同時符合網路目標的份額才可能成為區塊。礦池可降低付款變異，卻不能提高全網預期發行量。礦池託管、範本控制、份額驗證，以及 PPS、PPLNS 等付款負債，會帶來額外的交易對手與集中風險。

<a id="mechanism"></a>

## 如何分析挖礦

1. **固定身分與權限。** 記錄 `chain`、`network`、`client version`、規則集、`bestblockhash`、範本提供者、礦池端點、收款身分與觀察時間。區分節點、範本建構者、礦池營運者、韌體、設施與設備所有者。
2. **重現候選交易選擇。** 快照 `mempool` 與 `UTXO set`；核驗交易有效性、相依關係、手續費、權重、簽章操作成本、鎖定時間與見證承諾。重建候選區塊並說明策略選擇，不要把費率本身當成共識。
3. **核對 coinbase 與區塊標頭。** 核驗高度對應的補貼、所含手續費總額、輸出、承諾、前一區塊雜湊與 Merkle 樹。追蹤可變的 `nonce`、coinbase `extranonce`、`Merkle root`、`time` 和 `version bits`，拒絕超過共識限制的範本。
4. **驗證搜尋與提交。** 解碼緊湊目標，並依該網路的位元組序和雜湊規則檢驗 `block_hash <= target`。找到解後重建完整區塊，透過 `submitblock` 或實際部署協定提交，並保留接受或拒絕證據。
5. **追蹤獨立驗證與傳播。** 比對多個全節點對標頭、交易、指令碼、coinbase 與鏈工作量的驗證。量測傳播、競爭鏈尖、陳舊或孤立結果及重組處理；找到證明不等於始終留在主鏈。
6. **核對獎勵與礦池帳務。** 分開 `coinbase`、`subsidy + transaction fees`、礦池費、準備金、`pool target`、`network target`、已接受 `share`、陳舊份額、付款方法、成熟期、最低付款、託管與交易對手曝險。
7. **在壓力下建模經濟與安全性。** 列明有效算力、上線率、效率、電價、冷卻、人力、託管、維護、折舊、融資、稅務、限電、補貼、手續費、價格與難度。壓力測試出塊變異、硬體故障、價格和手續費衝擊、難度落後、礦池違約、審查、集中與重組風險。

挖礦的產物是區塊提議與計算搜尋證據。節點決定有效性，分叉選擇規則決定哪條有效分支活躍，難度規則只在規定邊界調整目標，應用自行決定所需確認深度。挖礦參與這些程序，但不能取代其中任何一項。

<a id="example"></a>

## 計算範例

### 1. Nonce 空間不是全部搜尋空間

80 位元組的比特幣區塊標頭含有 32 位元 nonce，共 `2^32 = 4,294,967,296` 個值。以 `200 TH/s` 計算，硬體測試這些標頭大約只需：

`4,294,967,296 / 200,000,000,000,000 = 0.0000214748 seconds`

工作不會就此結束。軟體修改 coinbase extranonce、導出新的 Merkle 根，並可更新其他允許欄位，從而產生另一段 nonce 空間。因此，把區塊標頭 nonce 當成設備全部搜尋容量是分類錯誤。

### 2. 單獨挖礦變異與電費

當全網為 `600 EH/s`、礦工有效算力為 `200 TH/s` 時，簡化份額是 `200 TH/s / 600 EH/s = 0.0000333333%`。按每天示例性 `144` 個區塊，單獨出塊期望為 `lambda = 144 * 0.000000333333 = 0.000048 blocks/day`，平均等待期為 `1 / 0.000048 = 20,833.33 days`。以卜瓦松近似，當天零出塊機率為 `P(0) = exp(-0.000048) = 99.9952001152%`。

一台 3.5 千瓦設備按每千瓦時 0.06 美元計算，直接每日電費為 `3.5 kW * 24 * USD 0.06/kWh = USD 5.04/day`。這不含冷卻、託管、停機、維修、折舊、融資與稅務。期望值不等於現金流時點，也不能把低機率的單獨出塊當作每日應收款。

### 3. Coinbase 核算與成熟期

假設該高度的補貼為 `3.125 BTC`，有效納入的交易手續費合計 `0.42 BTC`。本簡化範例中，coinbase 交易可創造的最大價值是 `3.125 + 0.42 = 3.545 BTC`；多領會使區塊無效，少領雖允許卻會放棄價值。

Coinbase 輸出須經共識規定的 `100 blocks` 成熟期才能花費。區塊在成熟前也可能成為陳舊區塊或隨後遭重組。因此，礦池面板餘額、未成熟 coinbase 輸出與最終外部付款，是託管和結算風險不同的三種權利主張。

### 4. 礦池份額與付款假設

假設所有接受份額難度相同：礦池記錄總計 `2,000,000` 份，其中一名礦工貢獻 `50,000` 份，記帳比例為 `50,000 / 2,000,000 = 2.5%`。若區塊價值為 3.545 BTC、礦池費為 `2%`，示例性可分配金額為 `3.545 * (1 - 0.02) = 3.4741 BTC`，按比例分配為 `3.4741 * 2.5% = 0.0868525 BTC`。

若礦池目標比網路目標容易 `1,000` 倍，一份被接受的份額同時符合網路目標的簡化機率是 `1 / 1,000`。實際核算必須正規化可變份額難度，拒絕重複和陳舊工作，套用明確的 PPS、FPPS、PPLNS 或其他合約，並區分礦池支付的期望值與僅在出塊時產生的收入。

<a id="risks"></a>

## 風險與審校錯誤

### 協定與範本錯誤

- 聲稱礦工使交易有效，而不是選擇仍須由全節點獨立驗證的候選交易。
- 混淆鏈、網路、分叉、鏈尖、用戶端、範本提供者或礦池身分。
- 把記憶池或範本當成共識狀態、完整交易集或保證生成的未來區塊。
- 只按單筆費率選交易，忽略祖先、後代、權重、簽章操作、鎖與承諾。
- 錯算補貼高度、納入手續費、coinbase 輸出、見證承諾或 Merkle 根。
- 新鏈尖到達後仍搜尋錯誤的前一區塊雜湊、舊目標或未獲許可的時間和版本範圍。
- 用錯誤的編碼、位元組序或演算法把標頭雜湊與顯示目標比較。

### 礦池與營運錯誤

- 把礦池接受份額等同於網路有效區塊，或不正規化難度就使用份額數量。
- 把預計算力份額變成保證的區塊、收入或付款日期，忽略變異。
- 把礦池區塊份額當成永久硬體所有權，或忽略範本和付款集中。
- 遺漏陳舊與拒絕份額、延遲、韌體、溫度、上線率、限電與硬體故障。
- 忽略付款方法、費基、準備金、門檻、成熟期、託管、提領與礦池違約條款。
- 在獨立接受、傳播、主鏈選擇與重組審查前，就把找到的區塊當作終局。
- 在沒有認證、變更控制和事件回應時重複使用憑證、收款地址或遠端韌體。

### 經濟與安全錯誤

- 不計價格、難度、手續費、電力、冷卻、人力、折舊、融資與稅務，就把 BTC 預期總值稱為法幣利潤。
- 不計設備效率、利用率、冷卻、地點、時間與能源結構，就從算力直接推斷電力或排放。
- 假設難度立即回應算力，或十分鐘區塊按時刻表到達。
- 聲稱減半保證漲價、礦工投降或安全支出不變。
- 聲稱多數算力可偽造簽章、奪取任意幣或讓全節點接受無效增發。
- 把高總算力視為不會出現礦池、製造商、韌體、地域、能源、網路或軟體集中問題的證據。

<a id="misconceptions"></a>

## 常見誤解

- **礦工可把任意交易批准為有效。** 礦工選擇和排序候選交易，但誠實全節點會拒絕違反共識的區塊。
- **Nonce 是礦工唯一可改的值。** Extranonce 會改變 coinbase 與 Merkle 根，時間和允許的版本欄位也可擴大搜尋空間。
- **礦池份額是一小部分區塊。** 它是符合較容易礦池目標的工作證據；多數份額不符合網路目標，也不會成為區塊。
- **預期每日收入就是保證付款。** 出塊隨機，付款時間也取決於礦池合約、成熟期與交易對手履約。
- **算力越高就一定越賺錢。** 礦工份額、難度、手續費、價格、效率、電力與全部成本共同決定結果。

<a id="related"></a>

## 相關主題

- [比特幣](/zh-tw/crypto/bitcoin/)
- [工作量證明](/zh-tw/crypto/proof-of-work/)
- [雜湊率](/zh-tw/crypto/hashrate/)
- [難度調整](/zh-tw/crypto/difficulty-adjustment/)
- [鏈重組](/zh-tw/crypto/chain-reorg/)

<a id="sources"></a>

## 來源

- [Blockchain Technology Overview](https://doi.org/10.6028/NIST.IR.8202) - NIST（存取日期：2026-08-19）
- [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf) - Bitcoin.org（存取日期：2026-08-19）
- [Bitcoin Developer Guide: Mining](https://developer.bitcoin.org/devguide/mining.html) - Bitcoin Project（存取日期：2026-08-19）
- [Bitcoin Developer Guide: Block Chain](https://developer.bitcoin.org/devguide/block_chain.html) - Bitcoin Project（存取日期：2026-08-19）
- [Bitcoin Developer Reference: Block Chain](https://developer.bitcoin.org/reference/block_chain.html) - Bitcoin Project（存取日期：2026-08-19）
- [Bitcoin Core: miner.cpp](https://github.com/bitcoin/bitcoin/blob/master/src/node/miner.cpp) - Bitcoin Core（存取日期：2026-08-19）
- [Bitcoin Core: pow.cpp](https://github.com/bitcoin/bitcoin/blob/master/src/pow.cpp) - Bitcoin Core（存取日期：2026-08-19）
- [BIP 22: getblocktemplate - Fundamentals](https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki) - Bitcoin BIPs（存取日期：2026-08-19）

Source: https://wiki.fcontext.com/zh-tw/crypto/mining/index.mdx
