共識與網路
拜占庭容錯
拜占庭容錯,是指一個網路在部分參與者不僅出了故障、甚至還在主動說謊或試圖破壞共識的情況下,仍能正確運轉的能力。這名字源自一道經典難題:幾位將軍包圍著一座城,他們必須協調成全體進攻或全體撤退,靠信使傳遞消息——可其中一些將軍可能是叛徒,發出自相矛盾的命令。忠誠的將軍們還能不能達成一個一致而正確的決定?
這正是一條公鏈所面對的問題。成千上萬匿名的參與者,其中有些可能心懷惡意,必須在彼此不信任的前提下,對同一份共享帳本達成一致。如果一個系統只要不誠實的參與者維持在某個閾值以下——經典情形是少於三分之一——就能達成正確的共識,那它就被稱為具有拜占庭容錯性。一旦越過這個上限,叛徒就能製造混亂;只要在這之下,誠實的多數總能取勝。
每一種區塊鏈共識機制,本質上都是這道難題的一個實用解。工作量證明透過要求真實的運算,讓「當一個吵鬧的叛徒」代價高昂;權益證明則透過把叛徒自己的押金置於險地,讓背叛變得昂貴。無論哪種,設計目標都一樣:容忍數量有限的說謊者和故障,仍讓誠實的參與者收斂到同一段真實而公認的歷史上。拜占庭容錯,就是那個讓無需信任的網路成為可能的形式化性質。
三分之一這個閾值是一個著名結論:經典的拜占庭共識協定,只有在出錯或作惡的參與者少於三分之一時才能保持安全。
又稱
另見