什麼是拜佔庭將軍問題?

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 有權追究其法律責任。

分享

幣圈日曆

火焰節活動啓動
《守護者公會》宣布了火焰節,這是一個爲期四周的遊戲內活動,時間從7月30日到8月28日。此次更新引入了被放逐的Vulos法師Orso及其靈魂熊盟友。玩家可以召喚Orso,並獲得新的獨家皮膚,包括Kaori和Desirida,此外還有一名額外的守護者。
GOG
56.3%
2025-08-27
舊金山聚會
Stellar與FWB合作,將於8月28日在舊金山舉辦一場聚會,邀請加密社區的成員,每位成員可以邀請一位來自行業外的嘉賓。此次活動旨在促進晚餐期間的坦誠討論,並爲與會者提供預裝錢包的小禮物。
XLM
-3.18%
2025-08-27
紐約見面會
SuperRare已安排在紐約市的Offline Gallery舉辦個人展覽,展覽將於8月28日開幕。
RARE
-4.82%
2025-08-27
社區問答
社區AMA在協調世界時12:00舉行。
ACH
-2.5%
2025-08-27
Discord 上的 AMA
Alchemy Pay將在8月28日UTC時間12:00在Discord上舉辦一次AMA。參與者可以通過提交關於平台最新更新的10個最佳問題之一,贏得$200的ACH獎勵。此次會議將由Alchemy Pay的生態系統負責人Arda Senoz主持。
ACH
-2.5%
2025-08-27

相關文章

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
理財體驗金獎勵!