最長鏈原則
最長鏈原則是區塊鏈節點選擇「正確」鏈的基本規則:累積最多工作量的鏈就是主鏈。
最長鏈原則(Longest Chain Rule)是區塊鏈用來決定哪條鏈是「正確」版本的規則。當出現多條競爭的鏈時,節點會選擇累積最多工作量的那條。這就像選舉——誰獲得最多「票」(工作量),誰就是合法政府。
為什麼需要這個原則?
在去中心化網路中,可能會同時出現多個版本的區塊鏈:
區塊 100
↓
┌─────┴─────┐
↓ ↓
區塊 101A 區塊 101B
↓ ↓
區塊 102A 區塊 102B
↓
區塊 103A
哪條是「正確」的?答案:選擇最長的那條(上例中是 A 鏈)。
最長鏈原則如何運作
1. 正常情況
所有礦工都在同一條鏈上延伸,沒有爭議。
2. 臨時分叉
兩個礦工幾乎同時挖到區塊:
3. 自動收斂
最長鏈原則確保網路最終會收斂到同一條鏈:
步驟
說明
分叉發生
網路出現兩條競爭鏈
繼續挖礦
礦工各選一條鏈繼續
其中一條變長
獲得更多算力支持
全網切換
節點切換到最長鏈
分叉結束
網路重新統一
為什麼這個原則有效?
1. 經濟激勵
礦工會選擇最長鏈,因為:
在最長鏈上挖礦才有獎勵
在短鏈上的工作會被浪費
理性礦工自然聚集到最長鏈
2. 算力決定一切
最長鏈 = 最多算力支持的鏈 = 最安全的鏈
中本聰的設計
最長鏈原則是中本聰解決「拜占庭將軍問題」的關鍵。它讓分散的節點在沒有中央協調者的情況下,自動達成共識。
交易確認與最長鏈
這就是為什麼交易需要多次「確認」:
確認數
含義
0 確認
交易還在交易池,可能被取消
1 確認
交易被打包進區塊,但可能被孤塊
3 確認
較安全,小額交易通常夠用
6 確認
比特幣的標準安全門檻
更多
大額交易建議等待更多確認
雙花攻擊的原理
攻擊者在一條鏈上花錢,同時在另一條「私密鏈」上不花這筆錢。如果私密鏈變得更長,就能取代原本的鏈,撤銷已完成的交易。這就是為什麼等待多次確認很重要。
最長鏈 vs 最重鏈
概念
使用者
說明
最長鏈
比特幣(簡化說法)
區塊數最多
最重鏈
比特幣(精確說法)
累積工作量最大
最重子樹
以太坊(PoW 時期)
GHOST 協議變體
以太坊(在 PoW 時期)使用 GHOST 協議,考慮的不只是最長鏈,還包括「叔塊」的貢獻。
孤塊的命運
當某條鏈被拋棄時:
該鏈上的區塊成為「孤塊」
孤塊中的交易回到交易池(如果還沒在主鏈上)
挖到孤塊的礦工失去區塊獎勵
這是礦工的風險之一——你的工作可能白費。
延伸閱讀
參考資料
Last updated