什麼是拜佔庭將軍問題?

7/30/2024, 2:11:07 AM
區塊鏈與拜佔庭將軍問題有着密切的聯系。區塊鏈網路是一種分布式網路,其節點就像拜佔庭將軍一樣,需要在不可靠的網路環境中達成交易和數據的共識。

拜佔庭是古代東羅馬帝國的首都,它曾經是世界上最強大、最富有的城市之一。但是,由於地域廣闊,拜佔庭經常遭受外敵侵略和內部叛亂。爲了保衛邊境,拜佔庭派出了多支軍隊,由不同的將軍指揮。將軍之間如何達成信息一致性成了最大問題。
而區塊鏈與拜佔庭將軍問題有着密切的聯系。區塊鏈網路是一種分布式網路,其節點就像拜佔庭將軍一樣,需要在不可靠的網路環境中達成交易和數據的共識。

兩軍問題

兩軍問題是拜佔庭問題的一個特例。
兩軍問題及其無解性證明最早是由E.A. Akkoyunlu、K.Ekanadham和R.V.Huber於1975年在聯合發表的論文《網路通信設計的約束與權衡》(Some Constraints and Trade-offs In The Design of Network Communications)中首次提出。
1978年,JimGray在《數據庫操作系統筆記》書中將這個問題正式命名爲“兩軍問題” (Two General’s Problem)。原本是用來分析在一個不可靠的通信鏈路上試圖通過通信以達成一致是存在問題的,後來常被用於闡述分布式系統的一致性和共識問題。

問題定義
A國的兩支軍隊,分別由兩個將軍領導,正在準備攻擊B國的一支軍隊。B國的這支軍隊被包圍在一個山谷裏,A國的兩只軍隊A1和A2分別駐扎在山谷兩邊的山頭上,但從A1駐扎地到A2駐扎地,只有唯一的一條山道,且必須經過山谷。同時,B軍的數量和作戰能力比A1軍和A2軍的任意一支都要強(A軍知道,B軍不知道),A國的任意一支軍隊單獨去進攻B軍,都會被B軍擊敗,從而讓B軍逃掉,但只要A1軍與A2軍聯合攻擊,就可以戰勝B軍。
[圖片]
問題:是否可以想出一種能讓A國的兩支軍隊的將軍達成同時攻擊約定的算法,該算法可包含發送和接收處理消息?

說答案:經典的兩軍問題是無解的,不存在一個能確保A國軍隊成功協商一致攻擊B國的協議。但在一定的容忍條件下,可以通過一種相對可靠的方式解決大多數問題,例如TCP協議中建立連接的“三次握手”機制。

拜佔庭將軍問題

拜佔庭將軍問題是由2013年度圖靈獎得主萊斯利·蘭波特(Leslie Lamport)在1982年發表的論文《拜佔庭將軍問題》(The Byzantine Generals Problem)中首次提出。拜佔庭將軍問題描述了如何在存在惡意行爲(如消息被篡改)的情況下實現分布式系統的一致性。
拜佔庭帝國的幾支軍隊將敵城包圍,每支軍隊都由一名將軍指揮。拜佔庭的軍隊之間只能通過通信兵相互傳達消息。在觀察敵情之後後,根據敵城的軍事力量,拜佔庭將軍們都得出相同的結論,只有超過半數的拜佔庭軍隊共同發起進攻,才能攻破城池,取得勝利。

因此,所有的拜佔庭軍隊必須制定一個聯合行動計劃,要麼共同進攻,要麼共同撤退。
但是,情報部門已經知道這些拜佔庭軍隊的將軍中存在叛徒,將試圖破壞忠誠的將軍們達成一致的聯合行動計劃。同時,雖然拜佔庭軍隊的通信兵一定能不被敵方截獲且確保送達消息,但是通信兵中也可能存在叛徒,可能在傳信過程中篡改或僞造消息,也可能丟失消息。

問題求解
如果將拜佔庭問題中的攻城軍隊的將軍數量對應爲分布式系統的節點數量,可以將符合拜佔庭問題條件的分布式系統稱爲”拜佔庭系統”,
在拜佔庭系統中任意兩個節點之間的通信是保證可達的,可以得出以下結論:
對於一個拜佔庭系統,如果系統總節點數爲Z,表示叛變將軍的不可靠節點數爲X,只有當Z≥3X+1時,可由基於拜佔庭客容錯(BFT)類算法的協議保證系統的一致性。

在實際的系統中,一般把由於系統故障導致節點不響應的情兄歸類爲“非拜佔庭錯誤(Crash Fault)”,把節點僞造或篡改信息進行惡意響應的情況歸類爲“拜佔庭錯誤(Byzantine Fault)”。

共識算法分類

區塊鏈系統是一種分布式系統,特別是像比特幣、以太坊等公有鏈系統,由大量高度分散且彼此不信任的網路節點構成,區塊鏈共識機制就是以共識算法爲核心,確保區塊鏈系統就某個事物始終能達成數據一致且不產生分叉。
目前,根據共識算法容錯類型的不同,可以將共識算法分爲非拜佔庭容錯類(CFT,Crash Fault Tolerance)算法和拜佔庭容錯類(BFT,ByzantineFault Tolerance)算法。

非拜佔庭容錯類共識算法

對於分布式系統,非拜佔庭容錯類共識算法能在節點發生系統故障或非計劃停機等非拜佔庭錯誤時,確保整個分布式系統的可靠性;但是,當系統中存在惡意節點僞造或篡改數據等行爲時,非拜佔庭容錯算法無法保證系統的可靠性。
因此,非拜佔庭容錯類共識算法主要用於實現封閉的、系統節點都受控的企業吸分布式系統,如某企業構建的內部分布式應用集羣系統或分布式存儲系統。非拜佔庭容錯類共識算法中最有代表性的包括PaxoS算法與Raft算法。

拜佔庭容錯類共識算法

拜佔庭容錯類共識算法能允許分布式系統節點發生任何類型的錯誤但錯誤節點數量不超過一定比例時,確保整個分布式系統的可靠性。簡單的說,只要分布式系統的故障 (由於非拜佔庭錯誤或拜佔庭錯誤導致)節點數與系統總節點數相比,小於一定比例,拜佔庭容錯類共識算法就能保證分布式系統的可靠性。
由於像比特幣、以太坊等區塊鏈系統中,存在大量彼此不信任的網路節點,不排除有惡意節點企圖僞造或篡改系統數據,因此,拜佔庭容錯類共識算法是區塊鏈共識機制主要採用的共識算法。拜佔庭容錯類共識算法中最有代表性的包括PBFT實用拜佔庭容錯算法、PoW工作量證明算法、PoS權益證明算法等。

* 投資有風險,入市須謹慎。本文不作為 Gate 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate 有權追究其法律責任。

分享

幣圈日曆

項目進展
Etherex 將於 8 月 6 日推出代幣 REX。
REX
22.27%
2025-08-06
拉斯維加斯的稀有開發與治理日
Cardano將在拉斯維加斯舉辦稀有開發與治理日,時間爲8月6日至7日,活動包括研討會、黑客馬拉松和以技術開發及治理主題爲重點的小組討論。
ADA
-3.44%
2025-08-06
區塊鏈.Rio在裏約熱內盧
Stellar 將參加定於 8 月 5 日至 7 日在裏約熱內盧舉行的 Blockchain.Rio 大會。該節目將包括主題演講和小組討論,屆時將邀請 Stellar 生態系統的代表與合作夥伴 Cheesecake Labs 和 NearX 共同參與。
XLM
-3.18%
2025-08-06
網路研討會
Circle 宣布將於 2025 年 8 月 7 日 14:00 UTC 舉辦名爲“GENIUS Act 時代開始”的實時高管見解網路研討會。此次會議將探討新通過的 GENIUS Act 的影響——這是美國第一個針對支付穩定幣的聯邦監管框架。Circle 的 Dante Disparte 和 Corey Then 將主導討論該立法如何影響數字資產創新、監管透明度,以及美國在全球金融基礎設施中的領導地位.
USDC
-0.03%
2025-08-06
X 上的 AMA
Ankr將在8月7日16:00 UTC於X平台舉辦一次AMA,重點討論DogeOS在爲狗狗幣構建應用層方面的工作。
ANKR
-3.23%
2025-08-06

相關文章

Uniswap (UNI) 研究報告
中級

Uniswap (UNI) 研究報告

Uniswap 是去中心化交易所的先驅,它使用 AMM 作為其核心機制,通過流動性池自動執行交易。
6/6/2024, 3:43:21 AM
中本聰是誰?
新手

中本聰是誰?

在今天的加密貨幣世界中,最大的謎團不是比特幣的運作方式,而是它的創造者是誰。
7/19/2024, 3:37:20 AM
卡斯帕(KAS)研究報告
中級

卡斯帕(KAS)研究報告

Kaspa是一個去中心化且可擴展的第1層網路,它使用BlockDAG架構來解決與傳統區塊鏈操作相關的可擴展性問題。
6/25/2024, 2:47:39 AM
彭德爾(PENDLE)研究報告
中級

彭德爾(PENDLE)研究報告

Pendle是一種利率衍生品,協議多個鏈上提出,允許使用者鎖定其加密資產的未來收益率並提前獲得回報。
6/18/2024, 2:59:31 AM
不可變X(IMX)研究報告
中級

不可變X(IMX)研究報告

Immutable X 是部署在以太坊上的非EVM兼容的第2層網絡,依賴於Starkware的StarEx技術。
7/1/2024, 8:35:37 AM
RWA——價值區塊鏈的新敘事
新手

RWA——價值區塊鏈的新敘事

現實世界資產 (Real World Assets,簡稱 RWA) 指真實世界中存在的有形與無形資產,包括房地產、債券、大宗商品、現金、證券、藝術品及知識產權等。
12/5/2024, 3:03:20 AM
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!