
在有區塊鏈之前,這些東西就已經存在了:Turing Award 得主 Barbara Liskov 談分散式系統的起源
TL;DR
- 今天所有區塊鏈底層的共識機制,核心概念來自一九八〇年代的 Viewstamped Replication,比 Bitcoin 早了將近三十年
- Barbara Liskov 跟學生 Miguel Castro 在一九九九年發表 PBFT(Practical Byzantine Fault Tolerance),第一次證明「防惡意攻擊的分散式系統」可以實際跑起來,不只是理論上可能
- PBFT 的核心設計:不信任任何單一節點,只信任群體。這個原則直接被 Ethereum、Solana 等現代區塊鏈繼承
- Liskov 認為 AI 時代的程式設計師必須懂得怎麼寫程式,否則無法判斷 AI 寫的對不對。驗證工具會是下一波重要研究
- 理論研究跟實務系統的橋接,是推動整個領域前進的關鍵。DARPA 和 NSF 的研究資金是今天網路基礎建設存在的重要原因
這集在二〇二六年七月十三日播出的 a16z Podcast,是 a16z Crypto Show 的 Summer Feed Drop 特別集。a16z Podcast 是 Andreessen Horowitz 旗下的科技訪談節目,涵蓋從 AI、加密貨幣到生物科技的各種前沿話題。這集由 a16z Crypto 研究主管 Tim Roughgarden(同時也是 Institute for Advanced Study 的教授,演算法賽局理論的權威)跟研究夥伴 Ittai Abraham(拜占庭容錯領域的頂尖研究者,Decentralized Thoughts 部落格創辦人)共同主持,訪問 Turing Award 得主、MIT 的 Barbara Liskov 教授。Liskov 是分散式系統和程式語言設計的先驅,她在一九八〇年代開發的 Viewstamped Replication 和一九九九年跟學生 Miguel Castro 共同發表的 PBFT,基本上就是今天所有區塊鏈共識協議的祖先。
從程式語言到分散式系統,不算是轉行
Liskov 在一九七〇年代做的是程式語言研究,開發了一個叫 CLU 的語言,核心概念是資料抽象化(data abstraction)。她說自己曾經考慮過開公司把這個語言商業化,但想了想覺得自己更適合做研究。
然後她讀到 Bob Kahn 的一篇論文,講的是分散式運算的願景:程式的不同部分跑在不同的節點上,透過網路溝通。問題是,沒有人知道怎麼蓋出這樣的系統。
「There's a great problem.」她就這樣跳進去了。
有趣的是,她自己說這不算真正的轉行。她做的第一個分散式系統專案 Argus,本質上是 CLU 的延伸。只是多了一個叫 Guardian 的新物件類型,讓程式的不同部分可以跑在不同節點上互相呼叫。她終於可以處理之前在 CLU 刻意迴避的平行運算問題,而且是在一個更有趣的環境裡:多個使用者同時發請求、節點可能隨時掛掉。
模組化是建構大型程式的一切基礎。
她後來甚至把模組化跟數學定理的結構做了類比:定理靠引理(lemma)拆解,每個引理獨立證明正確性,你不需要看其他引理的內部邏輯。模組化程式也是一樣的道理。她大學主修數學,這個思維模式從一開始就很自然。
Viewstamped Replication:比區塊鏈早三十年的帳本
一九八〇年代中期,Liskov 跟學生 Brian Oki 開始做一個看似簡單的事:複製檔案系統(replicated file system)。
當時如果你的電腦掛了,你就完全無法存取自己的檔案。想跟別人合作寫論文?只能用檔案傳輸或 email,體驗很差。如果有一個系統能把資料複製到多個節點,任何一台掛了都不影響,那該多好?
當時系統社群的主流做法是讓使用者來鎖定副本(replica),確保不會有併發問題。Liskov 覺得這個方案很爛,因為你在依賴遠端使用者做正確的事,而他們不一定會。
所以她把控制權從使用者搬到副本本身。這套系統有一個主要節點(primary)告訴備份節點該做什麼,跑一個類似兩階段提交(two-phase commit)的協議。但兩階段提交有個致命問題:如果主節點掛了,整個系統就停擺。
Viewstamped Replication 的貢獻就是解決這個問題。如果主節點看起來沒在做事,備份節點會執行另一個協議,換一個新的主節點上來。切換的過程必須保證之前已經確認的所有操作都完整保留在新的 view 裡面。
「所以某種意義上,我們已經在建帳本了。只是我們當時不用那個詞,我們叫它 log。」
這個 view change 的概念,今天幾乎所有區塊鏈共識協議都在用。
但有一個重要前提:他們只處理良性故障(benign failures)。節點要嘛正常運作,要嘛完全沉默。當時是 ARPANET 的年代,大家互相認識,不用擔心惡意攻擊。
從良性故障到拜占庭容錯:PBFT 的誕生
到了一九九〇年代,網路世界已經不是一群朋友在實驗室裡互傳檔案了。惡意攻擊變成真實威脅。
DARPA 認知到這個問題,發布了徵求研究提案的 RFP。Liskov 的學生 Miguel Castro 找到這個 RFP,跑來問:「我們能不能搞出一套可以對抗惡意攻擊的複製協議?」
他們從 Viewstamped Replication 出發。Liskov 的研究組都很熟悉這套協議,這給了他們一個別人沒有的起跑優勢。邏輯很直覺:我們有一套處理良性故障的演算法,那加上拜占庭故障(Byzantine failures,節點可能會說謊)看看會怎樣。
理論上他們知道需要 3F+1 個副本才能容忍 F 個惡意節點(良性故障只需要 2F+1)。但真正的挑戰是設計一套實際可用的協議。
Liskov 說,處理拜占庭故障就像走進一個充滿哈哈鏡的遊樂場。你不能信任任何單一節點,只能信任群體。
解法是引入憑證(certificate)的概念:2F+1 個節點簽名同一件事,就構成一個證明。協議多了一個階段。主節點只能「建議」下一步,然後需要 2F+1 個節點共同產生證明說「我們確認要這樣做」,最後再多一個階段來正式提交。
這個用 2F+1 簽名做憑證的概念,今天的主流區塊鏈協議幾乎都在用。之前在從 Developer Experience 到 Agent Experience:Modal CTO 拆解 AI 基礎建設的下一個轉折點裡聊過 AI 基礎建設的演化,區塊鏈的基礎建設也經歷了類似的路徑:理論先行,實務隨後,最後變成整個產業的地基。
狀態機複製:區塊鏈的真正骨架
訪談裡有一段我覺得特別值得拉出來講。Roughgarden 提到,像 Ethereum、Solana 這些圖靈完備的區塊鏈協議,本質上就是狀態機複製(State Machine Replication, SMR)的完整實作。它們不是針對某個特定應用做的複製系統,而是通用的 SMR 引擎,任何智能合約都只是上面的一個特例。
Liskov 說,從一開始他們就刻意把共識層跟應用層分開。帳本只記錄「第幾號操作被請求了」,完全不管那個操作的語意是什麼。這又回到她最根本的信念:模組化和抽象化。
這個共識層跟執行層的分離,今天在區塊鏈領域已經是常識。但追溯源頭,這個設計哲學來自一九八〇年代一個做檔案系統的研究組。
理論與實務的橋
這集有一個貫穿的主題:理論研究跟實務系統之間的關係。
Liskov 回憶,一九八〇年代的系統社群小到大家都在同一個會議上碰面。SOSP(Symposium on Operating Systems Principles)的規模小到可以在 Monterey 的 Asilomar 辦。資料庫的大佬 Jim Gray、作業系統的 Butler Lampson,全部在同一個房間裡。「那是一段很美好的時光。」
她要求每個研究生都要修理論課。「理論電腦科學是這個領域的脊樑。」密碼學、計算複雜度,這些理論工具在需要的時候直接拿來用。PBFT 的憑證概念來自理論研究,但 Liskov 的團隊把它放進了一個真正能跑的系統裡。
她也提到一個有趣的歷史巧合:Viewstamped Replication 跟 Leslie Lamport 的 Paxos 其實是同一個東西,只是在不同地方獨立發展出來的。Liskov 聽過 Lamport 在八〇年代講 Paxos,但完全聽不懂他在講什麼,也不知道那是同一件事。直到 Google File System 論文出來用了 Paxos,她以前的學生 Bill Weihl 在 Google 看了一眼說:「喔,這不就是 Viewstamped Replication 嗎。」
好的想法確實會在不同的地方被獨立發現。
AI 時代,程式設計師要站在更高的位置
最後 Liskov 被問到對年輕一代的建議。她的回答很務實。
她說電腦科學現在處於一個奇怪的位置。AI 讓人搞不清楚這個領域要往哪走。但她很確定研究不會有問題,因為 AI 底下有大量的系統問題等著被解決。
她擔心的是那些學寫程式的學生。AI 可以幫你寫小程式,但那個程式可能是錯的。所以驗證工具會變得極其重要。她引用 Mary Shaw 在紐約時報的投書:學生必須自己懂得怎麼寫程式,否則怎麼知道 AI 寫的對不對?
她在一九七〇年代末跟 John Guttag 在 MIT 開的課,教的就是怎麼建大型程式:設計、模組化、規格、驗證。「也許這正是未來程式設計師需要做的事。他們得在那個層次工作,不是在糾結分號還是逗號的層次。」
這跟之前在科技業正在裂成兩半:六千人的調查告訴你,AI 時代誰在狂歡、誰在崩潰裡整理的數據互相呼應。AI 時代真正有價值的不是寫程式碼本身,而是知道程式碼該長什麼樣子、怎麼驗證它是對的。
一九八〇年代設計複製協議的思維模式,到了 AI 時代依然適用。模組化、抽象化、從第一性原理出發,這些東西不會過時。
這類把技術源頭挖出來講清楚的內容,我會持續整理在 wilsonhuang.xyz,有興趣的可以訂閱追蹤。
推薦閱讀
喜歡這篇文章嗎?
訂閱電子報,每週收到精選技術文章與產業洞察,直送你的信箱。
💌 隨時可以取消訂閱,不會收到垃圾郵件


