挖礦 入門
減半
Halving
又稱:Halvening、區塊獎勵減半
減半(Halving)是比特幣協議中最重要的經濟機制之一,每產出 210,000 個區塊(約每 4 年),新發行的比特幣數量會自動減少一半。這個機制確保了比特幣的通貨緊縮特性,並保證總供應量永遠不會超過 2,100 萬枚。
減半的本質
為什麼要減半?
設計目標:
1. 可預測的貨幣供應
- 不受人為操控
- 透明的發行計劃
- 每個人都知道規則
2. 模擬黃金開採
- 初期容易開採
- 逐漸變得稀缺
- 總量有限
3. 經濟激勵結構
- 早期參與者獲得較多獎勵
- 激勵早期網路建設
- 後期依賴手續費維持安全
數學原理
區塊獎勵公式:
獎勵 = 50 BTC ÷ 2^n
n = floor(區塊高度 / 210,000)
範例:
區塊 0-209,999:50 ÷ 2^0 = 50 BTC
區塊 210,000-419,999:50 ÷ 2^1 = 25 BTC
區塊 420,000-629,999:50 ÷ 2^2 = 12.5 BTC
區塊 630,000-839,999:50 ÷ 2^3 = 6.25 BTC
區塊 840,000-1,049,999:50 ÷ 2^4 = 3.125 BTC
...
區塊 6,930,000+:0 BTC(約 2140 年後)
減半歷史
完整減半時間表
| 次數 | 日期 | 區塊高度 | 區塊獎勵 | 累積供應量 | BTC 價格 |
|---|---|---|---|---|---|
| 創世 | 2009-01-03 | 0 | 50 BTC | 0 | $0 |
| 第一次 | 2012-11-28 | 210,000 | 25 BTC | 10,500,000 | ~$12 |
| 第二次 | 2016-07-09 | 420,000 | 12.5 BTC | 15,750,000 | ~$650 |
| 第三次 | 2020-05-11 | 630,000 | 6.25 BTC | 18,375,000 | ~$8,600 |
| 第四次 | 2024-04-20 | 840,000 | 3.125 BTC | 19,687,500 | ~$64,000 |
| 第五次 | ~2028 | 1,050,000 | 1.5625 BTC | 20,343,750 | ? |
| 第六次 | ~2032 | 1,260,000 | 0.78125 BTC | 20,671,875 | ? |
每次減半的故事
第一次減半(2012)
時間:2012年11月28日
區塊高度:210,000
獎勵變化:50 → 25 BTC
背景:
- 比特幣還很小眾
- 價格約 $12
- 全網算力約 25 TH/s
- GPU 挖礦時代
影響:
- 價格在一年內漲到 $1,000+
- 開始引起主流關注
- ASIC 礦機開始出現
第二次減半(2016)
時間:2016年7月9日
區塊高度:420,000
獎勵變化:25 → 12.5 BTC
背景:
- 價格約 $650
- ASIC 挖礦已普及
- 以太坊剛崛起
- 區塊大小辯論激烈
影響:
- 2017年底價格達 $20,000
- ICO 狂潮
- 比特幣現金分叉(2017)
第三次減半(2020)
時間:2020年5月11日
區塊高度:630,000
獎勵變化:12.5 → 6.25 BTC
背景:
- 全球 COVID-19 疫情
- 價格約 $8,600
- DeFi 夏天即將開始
- 機構投資者開始關注
影響:
- 2021年價格達 $69,000 歷史新高
- MicroStrategy、Tesla 買入
- 薩爾瓦多採用比特幣
- NFT 和 Web3 熱潮
第四次減半(2024)
時間:2024年4月20日
區塊高度:840,000
獎勵變化:6.25 → 3.125 BTC
背景:
- 比特幣現貨 ETF 已獲批
- 價格約 $64,000
- Ordinals 和 Runes 興起
- 機構採用加速
獨特之處:
- 首次在 ETF 存在下的減半
- 礦工收入更依賴手續費
- Runes 協議在減半區塊啟動
比特幣發行曲線
供應量計算
每個減半週期發行量:
第1期(區塊 0-209,999):
50 BTC × 210,000 = 10,500,000 BTC
第2期(區塊 210,000-419,999):
25 BTC × 210,000 = 5,250,000 BTC
第3期(區塊 420,000-629,999):
12.5 BTC × 210,000 = 2,625,000 BTC
...
總發行量公式:
Σ (50/2^n × 210,000) = 21,000,000 BTC
理論極限:
50 × 210,000 × (1 + 1/2 + 1/4 + 1/8 + ...)
= 50 × 210,000 × 2
= 21,000,000 BTC
發行進度
目前發行狀況(2024):
已發行:約 19,700,000 BTC(~93.8%)
剩餘發行:約 1,300,000 BTC(~6.2%)
剩餘發行時間線:
2024-2028:~656,250 BTC
2028-2032:~328,125 BTC
2032-2036:~164,062 BTC
...
2100年後:幾乎沒有新幣
最後一聰(satoshi)預計:
約 2140 年
發行曲線圖示
已發行 BTC(百萬)
│
21 ├─────────────────────────────────────► 極限
│ ░░░░░░░
18 │ ▓▓▓▓▓▓░░░░░░░
│ ▓▓▓▓▓░░░░░░░░░░░░░
15 │ ▓▓▓▓▓░░░░░░░░░░░░░░░░░░
│ ▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░
12 │ ▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░
│ ▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
0 └─────┴─────┴─────┴─────┴─────┴─────┴──
2009 2012 2016 2020 2024 2028 2140
↑ ↑ ↑ ↑
1st 2nd 3rd 4th
減半的經濟影響
供應衝擊
每日新發行量變化:
第四次減半前:
6.25 BTC × 144 區塊/天 = 900 BTC/天
年化:328,500 BTC/年
年通脹率:~1.7%
第四次減半後:
3.125 BTC × 144 區塊/天 = 450 BTC/天
年化:164,250 BTC/天
年通脹率:~0.85%
供應衝擊:
每日減少 450 BTC 新供應
假設價格 $60,000
每日減少 $27,000,000 的賣壓
礦工經濟
礦工收入組成:
減半前(假設 BTC=$60,000):
區塊獎勵:6.25 × $60,000 = $375,000
手續費:~0.5 BTC = $30,000
總計:~$405,000/區塊
減半後:
區塊獎勵:3.125 × $60,000 = $187,500
手續費:~0.5 BTC = $30,000
總計:~$217,500/區塊
收入減少:~46%
礦工應對策略:
1. 提高效率(新礦機)
2. 降低電費(搬遷)
3. 依賴價格上漲
4. 增加手續費收入
價格週期理論
歷史觀察(非財務建議):
每次減半後的模式:
1. 減半前:預期上漲
2. 減半時:短期波動
3. 減半後 12-18 個月:歷史新高
4. 牛市頂部後:深度回調
減半 低點 高點 週期長度
1st $12 $1,100 ~2年
2nd $650 $20,000 ~1.5年
3rd $8,600 $69,000 ~1.5年
4th $64,000 ? ?
注意:
- 過去表現不保證未來結果
- 每次週期都有獨特因素
- 相關性不等於因果關係
技術實現
代碼中的減半
// Bitcoin Core 中的減半邏輯
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// 當減半次數 >= 64 時,獎勵為 0
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// 獎勵右移 halvings 位(等於除以 2^halvings)
nSubsidy >>= halvings;
return nSubsidy;
}
// 其中:
// COIN = 100,000,000 satoshis
// nSubsidyHalvingInterval = 210,000
減半區塊的特殊性
減半區塊(如區塊 840,000):
特點:
- 第一個適用新獎勵的區塊
- 通常會包含「慶祝」訊息
- 競爭激烈(多個礦池爭搶)
- 可能包含高價值交易
Coinbase 訊息範例:
區塊 210,000:"Happy Halving!"
區塊 630,000:"NYTimes 09/Apr/2020..."
區塊 840,000:Runes 協議啟動區塊
減半與比特幣敘事
數位黃金
為什麼說比特幣是數位黃金?
稀缺性:
- 黃金:地球儲量有限
- 比特幣:2,100 萬枚硬上限
開採難度:
- 黃金:越挖越難找
- 比特幣:減半使新幣越來越少
不可增發:
- 黃金:無法人工大量製造
- 比特幣:代碼限制供應量
減半強化了這個敘事
Stock-to-Flow 模型
S2F 模型(僅供參考):
公式:
Stock-to-Flow = 現有存量 / 年產量
比特幣 S2F(2024 後):
~19,700,000 / 164,250 = ~120
對比:
黃金 S2F:~62
白銀 S2F:~22
S2F 模型預測:
S2F 越高 → 價值越高
爭議:
- 歷史擬合不保證未來
- 其他因素也很重要
- 不是唯一價格模型
未來展望
手續費時代
當區塊獎勵趨近於零:
時間線:
2032:獎勵 0.78125 BTC($47/區塊 @$60k)
2048:獎勵 0.04883 BTC($3/區塊)
2100+:獎勵接近 0
安全性維持:
- 手續費必須足以激勵礦工
- 需要足夠的交易需求
- Layer 2 結算可能貢獻
開放問題:
- 手續費是否足以維護安全?
- 是否需要協議調整?
- 區塊空間需求如何發展?
未來減半預測
| 減半次數 | 預計年份 | 區塊高度 | 區塊獎勵 |
|---|---|---|---|
| 5th | ~2028 | 1,050,000 | 1.5625 BTC |
| 6th | ~2032 | 1,260,000 | 0.78125 BTC |
| 7th | ~2036 | 1,470,000 | 0.390625 BTC |
| 8th | ~2040 | 1,680,000 | 0.1953125 BTC |
| … | … | … | … |
| 33rd | ~2140 | 6,930,000 | 最後可分獎勵 |
開發者資源
計算減半資訊
def get_halving_info(block_height):
"""計算特定區塊高度的減半資訊"""
HALVING_INTERVAL = 210000
INITIAL_REWARD = 50 # BTC
halving_number = block_height // HALVING_INTERVAL
block_reward = INITIAL_REWARD / (2 ** halving_number)
next_halving_height = (halving_number + 1) * HALVING_INTERVAL
blocks_until_halving = next_halving_height - block_height
return {
'halving_number': halving_number,
'block_reward': block_reward,
'next_halving': next_halving_height,
'blocks_until': blocks_until_halving,
'days_until': blocks_until_halving * 10 / 60 / 24 # 約略估算
}
# 範例
info = get_halving_info(850000)
print(f"當前獎勵: {info['block_reward']} BTC")
print(f"距離下次減半: {info['blocks_until']} 區塊")
Bitcoin Core RPC
# 獲取當前區塊獎勵相關資訊
bitcoin-cli getblocktemplate '{"rules": ["segwit"]}'
# 獲取特定區塊的 coinbase 獎勵
bitcoin-cli getblock <blockhash> 2
# 獲取區塊補貼(需要計算)
# 區塊補貼 = coinbase 輸出總額 - 區塊內手續費總額
常見問題
減半會讓礦工無利可圖嗎?
礦工的適應能力:
1. 效率提升
- 新一代 ASIC 效率更高
- 每 J/TH 不斷改善
- 電力成本下降
2. 價格調整
- 歷史上價格長期上漲
- 補償了獎勵減少
3. 手續費增加
- 區塊空間價值上升
- Ordinals 等新用例
4. 行業整合
- 低效礦工退出
- 高效礦工擴張
- 整體效率提升
2,100 萬是準確數字嗎?
實際上略少於 2,100 萬:
技術原因:
1. 創世區塊獎勵不可花費
- 損失:50 BTC
2. 早期區塊獎勵計算錯誤
- 某些礦工領取少於應得獎勵
- 累計損失:若干 BTC
3. 證明銷毀(Provably Burnt)
- 發送到無法花費的地址
- OP_RETURN 輸出
4. 丟失的私鑰
- 估計 300-400 萬 BTC 永久丟失
流通供應量可能永遠低於 2,100 萬
為什麼是 4 年而不是其他時間?
210,000 區塊 ≈ 4 年的計算:
210,000 區塊 × 10 分鐘 / 區塊
= 2,100,000 分鐘
= 35,000 小時
= 1,458 天
≈ 4 年
為什麼選 210,000?
- 中本聰的設計選擇
- 沒有官方解釋
- 可能是為了:
- 美國總統選舉週期(4年)
- 奧運週期(4年)
- 人類心理上的「一代」感覺
- 或純粹是任意選擇