買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > ETH > Info

ERA:經典再敘:一文讀懂拜占庭將軍問題_RAL

Author:

Time:1900/1/1 0:00:00

拜占庭將軍問題(The Byzantine Generals Problem)提供了對分布式共識問題的一種情景化描述,由Leslie Lamport等人在1982年首次發表。論文《The Byzantine Generals Problem 》同時提供了兩種解決拜占庭將軍問題的算法:

口信消息型解決方案(A solution with oral message);

簽名消息型解決方案(A solution with signed message).

論文:

https://www-inst.eecs.berkeley.edu/~cs162/sp16/static/readings/Original_Byzantine.pdf

本文之后將詳細講述這兩種算法。事實上,拜占庭將軍問題是分布式系統領域最復雜的容錯模型, 它描述了如何在存在惡意行為(如消息篡改或偽造)的情況下使分布式系統達成一致。是我們理解分布式一致性協議和算法的重要基礎。

動態 | 近一周以太經典ETC全網活躍地址數出現大幅上升:據Tokenview鏈上數據監測,以太經典ETC全網活躍地址數自12月21日起開始呈現出暴增的態勢。此前ETC全網單日活躍地址數量在40萬個左右,而該數據近一周出現攀升,目前單日活躍地址數量已超過100萬個。作為對比,近半年比特幣的全網活躍地址數在70萬個左右,以太坊活躍地址數在40萬個左右。

火幣行情顯示,ETC日內漲幅超8%,當前報價4.58美元。[2019/12/27]

拜占庭將軍問題描述

拜占庭將軍問題描述了這樣一個場景:

圖1. 拜占庭將軍問題

拜占庭帝國(Byzantine Empire)軍隊的幾個師駐扎在敵城外,每個師都由各自的將軍指揮。將軍們只能通過信使相互溝通。在觀察敵情之后,他們必須制定一個共同的行動計劃,如進攻(Attack)或者撤退(Retreat),且只有當半數以上的將軍共同發起進攻時才能取得勝利。然而, 其中一些將軍可能是叛徒,試圖阻止忠誠的將軍達成一致的行動計劃。 更糟糕的是,負責消息傳遞的信使也可能是叛徒,他們可能篡改或偽造消息,也可能使得消息丟失。

動態 | 以太坊Classic Labs孵化器推出了新的以太坊經典開發團隊ETC Labs Core:以太坊Classic Labs孵化器推出了新的以太坊經典開發團隊ETC Labs Core。根據公告,新團隊將致力于核心ETC項目,在2019年第一季度,該團隊據稱將重點審查以太坊君士坦丁堡硬叉。今年1月發生的對ETC的51%攻擊之后,今年剩余的時間里該團隊將開始研究相關問題,例如鏈監控和分析工具。[2019/1/15]

為了更加深入的理解拜占庭將軍問題,我們以三將軍問題為例進行說明。當三個將軍都忠誠時,可以通過投票確定一致的行動方案,圖2展示了一種場景, 即General A,B通過觀察敵軍軍情并結合自身情況判斷可以發起攻擊,而General C通過觀察敵軍軍情并結合自身情況判斷應當撤退。 最終三個將軍經過投票表決得到結果為進攻:撤退=2:1, 所以將一同發起進攻取得勝利。對于三個將軍,每個將軍都能執行兩種決策(進攻或撤退)的情況下, 共存在6中不同的場景,圖2是其中一種,對于其他5中場景可簡單地推得,通過投票三個將軍都將達成一致的行動計劃。

動態 | 灰度:以太坊經典信托基金不存在直接風險:據Cryptoglobe報道,灰度(Grayscale)近日針對以太坊經典遭遇51%攻擊一事回復詢問以太坊經典投資信托基金(ETCG)是否有風險的用戶。灰度指出,此次攻擊破壞了以太坊經典網絡的完整性,人們可能不太愿意接受ETC,因為懼怕雙花攻擊的風險。然而,ETC信托基金內的資產并不存在被盜或雙花攻擊的直接風險。據悉,以太坊經典投資信托基金(ETCG)管理著約2490萬美元,其背后團隊是Grayscale,Grayscale代機構投資者對這些基金進行收費管理。[2019/1/13]

圖2. 三個將軍均為忠誠的場景

當三個將軍中存在一個叛徒時,將可能擾亂正常的作戰計劃。圖3展示了General C為叛徒的一種場景,他給General A和General B發送了不同的消息,在這種場景下General A通過投票得到進攻:撤退=1:2,最終將作出撤退的行動計劃;General B通過投票得到進攻:撤退=2:1,最終將作出進攻的行動計劃。結果只有General B發起了進攻并戰敗。

動態 | Coinbase宣布在以太坊經典上市前進行最終測試:據CCN消息,Coinbase宣布,它正處于測試支持ethereum classic(ETC)的最后階段,因為它準備為不同的服務提供加密貨幣支持。

在其官方博客上發表的一份聲明中,該平臺透露,它正在根據其新的數字資產上市流程公開信息。該聲明的摘錄如下:“我們預計最終測試將在8月7日星期二之前完成,此時我們將宣布我們已準備好接受ETC的入境轉賬。在啟用交易之前,我們打算通過Coinbase Pro和Coinbase Prime進行24-48小時的入站轉賬。[2018/8/5]

圖3. 二忠一叛的場景

事實上,對于三個將軍中存在一個叛徒的場景,想要總能達到一致的行動方案是不可能的。詳細的證明可參看Leslie Lamport的論文。此外,論文中給出了一個更加普適的結論:如果存在m個叛將,那么至少需要3m+1個將軍,才能最終達到一致的行動方案。

解決方案

Leslie Lamport在論文中給出了兩種拜占庭將軍問題的解決方案,即口信消息型解決方案(A solution with oral message)和簽名消息型解決方案(A solution with signed message)。

以太經典暴跌至28美元 跌幅達34%:根據火幣pro數據顯示,20日早間8點半ETC(以太經典)的價格最低跌至34美元,之后呈現波動上漲態勢,21日下午2點45分ETC價格最高漲至42.56美元,隨后價格呈現跌勢,22日午間11點45分跌至28美元,跌幅達34%。現在價格收于32.17美元。[2017/12/22]

1、口信消息型解決方案

首先, 對于口信消息(Oral message)的定義如下:

A1. 任何已經發送的消息都將被正確傳達;

A2. 消息的接收者知道是誰發送了消息;

A3. 消息的缺席可以被檢測。

基于口信消息的定義,我們可以知, 口信消息不能被篡改但是可以被偽造。基于對圖3場景的推導,我們知道存在一個叛將時,必須再增加3個忠將才能達到最終的行動一致。為加深理解,我們將利用3個忠將1個叛將的場景對口信消息型解決方案進行推導。在口信消息型解決方案中,首先發送消息的將軍稱為指揮官,其余將軍稱為副官。對于3忠1叛的場景需要進行兩輪作戰信息協商,如果沒有收到作戰信息那么默認撤退。圖4是指揮官為忠將的場景,在第一輪作戰信息協商中,指揮官向3位副官發送了進攻的消息;在第二輪中,三位副官再次進行作戰信息協商,由于General A、B為忠將,因此他們根據指揮官的消息向另外兩位副官發送了進攻的消息,而General C為叛將,為了擾亂作戰計劃,他向另外兩位副官發送了撤退的消息。最終Commanding General, General A和B達成了一致的進攻計劃,可以取得勝利。

圖4. 指揮官為忠將的場景

圖5是指揮官為叛將的場景,在第一輪作戰信息協商中,指揮官向General A、B發送了撤退的消息,但是為了擾亂General C的決定向其發送了進攻的消息。在第二輪中,由于所有副官均為忠將,因此都將來自指揮官的消息正確地發送給其余兩位副官。最終所有忠將都能達成一致撤退的計劃。

圖5. 指揮官為叛將的場景

如上所述,對于口信消息型拜占庭將軍問題,如果叛將人數為m,將軍人數不少于3m+1,那么最終能達成一致的行動計劃。值的注意的是,在這個算法中,叛將人數m是已知的,且叛將人數m決定了遞歸的次數,即叛將數m決定了進行作戰信息協商的輪數,如果存在m個叛將,則需要進行m+1輪作戰信息協商。這也是上述存在1個叛將時需要進行兩輪作戰信息協商的原因。

2、簽名消息型解決方案

同樣,對簽名消息的定義是在口信消息定義的基礎上增加了如下兩條:

A4. 忠誠將軍的簽名無法偽造,而且對他簽名消息的內容進行任何更改都會被發現;

A5. 任何人都能驗證將軍簽名的真偽。

基于簽名消息的定義,我們可以知道,簽名消息無法被偽造或者篡改。為了深入理解簽名消息型解決方案,我們同樣以3三將軍問題為例進行推導。 圖6是忠將率先發起作戰協商的場景,General A率先向General B、C發送了進攻消息,一旦叛將General C篡改了來自General A的消息,那么General B將將發現作戰信息被General C篡改,General B將執行General A發送的消息。

圖6. 忠將率先發起作戰協商

圖7是叛將率先發起作戰協商的場景,叛將General C率先發送了誤導的作戰信息,那么General A、B將發現General C發送的作戰信息不一致,因此判定其為叛將。可對其進行處理后再進行作戰信息協商。

圖7. 叛將率先發起作戰協商

簽名消息型解決方案可以處理任何數量叛將的場景。

總 結

在分布式系統領域, 拜占庭將軍問題中的角色與計算機世界的對應關系如下:

將軍, 對應計算機節點;

忠誠的將軍, 對應運行良好的計算機節點;

叛變的將軍, 被非法控制的計算機節點;

信使被殺, 通信故障使得消息丟失;

信使被間諜替換, 通信被攻擊, 攻擊者篡改或偽造信息。

如上文所述,拜占庭將軍問題提供了對分布式共識問題的一種情景化描述,是分布式系統領域最復雜的模型。此外, 它也為我們理解和分類現有的眾多分布式一致性協議和算法提供了框架。現有的分布式一致性協議和算法主要可分為兩類:

一類是故障容錯算法(Crash Fault Tolerance, CFT), 即非拜占庭容錯算法,解決的是分布式系統中存在故障,但不存在惡意攻擊的場景下的共識問題。也就是說,在該場景下可能存在消息丟失,消息重復,但不存在消息被篡改或偽造的場景。一般用于局域網場景下的分布式系統,如分布式數據庫。屬于此類的常見算法有Paxos算法、Raft算法,、ZAB協議等。

一類是拜占庭容錯算法,可以解決分布式系統中既存在故障,又存在惡意攻擊場景下的共識問題。一般用于互聯網場景下的分布式系統,如在數字貨幣的區塊鏈技術中。屬于此類的常見算法有PBFT算法、PoW算法。

看完本文,你對這兩種解決方案有什么看法?歡迎在評論區跟我們討論!

Tags:RALERAGENEGENeFin DecentralizedGeneration FinanceIncooom Genesis GoldGENART

ETH
NBS:基于區塊鏈技術的數據共享賦能AI驅動網絡_人工智能

人工智能和機器學習算法的最新發展為網絡自動化提供了動力。最近,移動網絡運營商(MNO)正在使用以人工智能為基礎的模塊,通過在其租用/自有區域內授權的數據進行網絡分發來實現網絡自動化.

1900/1/1 0:00:00
區塊鏈:有人說區塊鏈會取代互聯網?我來厘清它們的關系_STA

文/孟永輝 資本大佬的振臂一呼讓我們開始關注區塊鏈行業,并且引發了一波區塊鏈的創業浪潮。從本質上來看,這場區塊鏈創業浪潮依然是“互聯網+”模式的延續.

1900/1/1 0:00:00
HEL:能源區塊鏈研究|石油巨頭殼牌公司進軍區塊鏈_Mega Helix

英國-荷蘭石油天然氣公司殼牌(Shell)成為最新一家進入區塊鏈領域的知名企業。該公司已經宣布了利用區塊鏈平臺Energy Web Foundation (EWF)開拓新市場的計劃.

1900/1/1 0:00:00
BITC:BitCherry丨用Blockchain Plus革新理念耕耘分布式商業發展的良田_CHE

2020年2月20日,第二屆區塊鏈與數字貨幣全領域峰會“Turkey Economy Summit 2020”在土耳其伊斯坦布爾正式召開.

1900/1/1 0:00:00
END:金色觀察 | Cosmos一、二把手相繼辭職 2020年四大目標又將如何推進_Allocate Dividend

繼Cosmos創始人Jae Kwon離職風波之后,Cosmos二把手、核心開發人員Zaki Manian宣布已于上周辭去Cosmos的所有開發工作職務和董事職務.

1900/1/1 0:00:00
數字貨幣:絕對通縮的HT成為火幣公鏈唯一底層通證 這對“王炸”組合威力有多大?_HPT

2月29日,火幣全球站先后發布公告宣布,火幣公鏈測試網正式上線和火幣將再銷毀1.5億枚HT。這意味著,再銷毀1.5億枚的HT正式進入“絕對通縮”新階段.

1900/1/1 0:00:00
ads