拜佔庭容錯機制解釋

我一直對拜佔庭容錯這個概念感到着迷。自2008年比特幣作爲點對點貨幣系統出現以來,我見證了那麼多加密貨幣的誕生,每個都有其獨特的機制。但幾乎所有的加密貨幣都有一個基本要素: 區塊鏈。

區塊鏈是故意設計爲去中心化的,作爲由分布式計算節點網路維護的數字帳本。這項技術使得無需信任的經濟系統的創建成爲可能,在這些系統中,透明和可靠的金融交易可以在沒有中介的情況下進行。加密貨幣已成爲傳統銀行系統的一個可行替代方案,而這些系統如此依賴於信任——老實說,誰還信任銀行呢?

像大多數分布式計算機系統一樣,區塊鏈網路的參與者必須定期就區塊鏈的當前狀態達成一致——這被稱爲共識。但在一個分布式環境中安全高效地達成這種共識?這遠非簡單!

那麼,分布式節點網路如何達成共識,如果某些節點可能出現故障或不誠實行爲呢?這是著名的拜佔庭將軍問題的基本問題,它催生了拜佔庭容錯的概念。

拜佔庭將軍問題

這個邏輯難題是在1982年提出的,用來說明一組拜佔庭將軍在試圖就他們的下一步行動達成一致時可能遇到的溝通問題。

這個困境假設每位將軍擁有自己的軍隊,並且每個軍隊位於他們想要攻擊的城市周圍的不同位置。將軍們必須達成一致,要麼選擇進攻,要麼選擇撤退。無論選擇什麼行動,只要所有將軍能夠就執行協調行動達成共識。

因此,讓我們考慮這些要求:

  • 每位將軍必須決定:進攻還是撤退
  • 一旦決定做出,就無法更改
  • 所有將軍必須就同一決策達成一致,以便同步執行

中心挑戰是什麼?一位將軍只能通過信使與另一位將軍溝通。這些消息可能會被延遲、破壞或丟失。

更糟糕的是,即使消息正確送達,一個或多個將軍也可能選擇惡意行動,發送虛假消息以制造混亂。

在區塊鏈的背景下,每個將軍代表網路中的一個節點,而節點必須就系統的當前狀態達成共識。換句話說,分布式網路中的大多數參與者必須達成一致並執行相同的操作,以避免完全失敗。

達到這一共識的唯一方法是擁有至少⅔的可靠且誠實的節點。如果網路的大多數決定惡意行爲,系統就會變得容易受到攻擊——就像這愚蠢的51%攻擊,總是讓我感到咬牙切齒。

拜佔庭容錯 (BFT)

拜佔庭容錯是一個系統能夠抵御源於拜佔庭將軍問題的故障的屬性。這意味着一個BFT系統即使在某些節點故障或惡意行爲的情況下仍然可以繼續運行。

針對這個問題有多種可能的解決方案,因此也有多種構建拜佔庭容錯(BFT)系統的方法。同樣,區塊鏈達到這種容錯能力也有不同的方式,這將我們引入共識算法。

區塊鏈共識算法

共識算法是區塊鏈網路達成一致的機制。最常見的是什麼?工作量證明(PoW)和權益證明(PoS)。以比特幣爲例。

雖然比特幣協議規定了系統的主要規則,但PoW算法定義了如何遵循這些規則以實現共識——特別是在驗證交易時。

盡管工作量證明的概念早於加密貨幣,但中本聰開發了一種修改版作爲算法,以允許比特幣作爲BFT系統的創建。

注意,PoW 算法並不是 100% 拜佔庭容錯的,但由於昂貴的挖礦過程和底層的加密技術,它已被證明是區塊鏈網路中最安全和可靠的實現之一。我覺得這很聰明,即使它並不完美!

最終思考

拜佔庭將軍問題是一個迷人的難題,最終催生了廣泛應用於各種場景的BFT系統。除了區塊鏈行業,這些系統還出現在航空、太空甚至核工業中。

在加密貨幣的背景下,擁有有效的網路通信和良好的共識機制對任何區塊鏈生態系統都是至關重要的。保護這些系統是一個持續的努力,而現有的共識算法仍然需要克服一些限制,例如可擴展性。盡管如此,工作量證明(PoW)和權益證明(PoS)作爲拜佔庭容錯(BFT)系統仍然是非常吸引人的方法,它們的潛在應用顯然激勵着大規模的創新。

BTC2.45%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)