第 8 章 中本聰與區塊鏈:工作量證明與分佈式共識演算法的顛覆#
8.3 拜占庭將軍問題的工程解:演算法如何在充滿背叛的節點網路中達成信任共識?#
8.3.1 問題的提出(1982)#
Lamport、Shostak、Pease 於 1982 年《The Byzantine Generals Problem》形式化:若干將軍圍城,只能靠信使傳令,其中可能有叛徒——忠誠的將軍能否就「打或退」達成一致?理論結論:容忍 \(f\) 個叛徒需要至少 \(3f+1\) 個節點(口頭消息)。此即拜占庭容錯(BFT)——分佈式系統最嚴苛的故障模型(節點不僅宕機,還可撒謊)。
8.3.2 兩代解法#
| 世代 | 代表 | 特徵 |
|---|---|---|
| 學術 BFT | PBFT(Castro & Liskov, 1999) | 通信量 \(O(n^2)\)、需要已知成員、許可制 |
| 中本聰共識 | PoW+最長鏈規則(2009) | 開放成員、以算力加權、概率最終性 |
中本聰的天才在於繞開 \(3f+1\) 的成員假設:不投票選領袖,而讓「算力」隨機出塊,全網以最長鏈為真相——自私礦理論(Eyal & Sirer, 2014)與其後的博弈分析反覆檢驗其激勵相容性。Lamport 本人在比特幣出現後受訪坦承:學界與這個工程解失之交臂(他稱讚其組合創新的簡單)。
8.3.3 演算法即新制度的社會實驗#
- 智能合約:以太坊(2015,Vitalik Buterin)把「圖靈完備的狀態機」放上鏈——演算法直接承載契約與產權(DAO 2016 年被攻擊、硬分叉救助,成為「代碼即法律」的第一場司法事件);
- 分叉的政治:BCH/ETH 的分叉史顯示——共識演算法的「社會層」比「機器層」更難寫;
- 治理課題:MEV、礦池中心化、能源與監管(各國對 PoW 的差異立法)。
8.3.4 前因後果#
- 前因:8.1/8.2 的系統+Lamport 學派+賽局理論(4.2)。
- 事件:1982 問題提出、1999 PBFT、2009 中本聰共識。
- 後果:去中心化信任成為演算法的新疆域;分佈式系統課程由此改寫;第 9 章的梯度下降則回到「單一模型內部」——以微積分馴服數十億參數。