作者|?YuLiebing
責編|Carol
出品|區塊鏈大本營
拜占庭將軍問題(TheByzantineGeneralsProblem)提供了對分布式共識問題的一種情景化描述,由LeslieLamport等人在1982年首次發表。論文《TheByzantineGeneralsProblem》同時提供了兩種解決拜占庭將軍問題的算法:
口信消息型解決方案(Asolutionwithoralmessage);
簽名消息型解決方案(Asolutionwithsignedmessage).
論文:
https://www-inst.eecs.berkeley.edu/~cs162/sp16/static/readings/Original_Byzantine.pdf
本文之后將詳細講述這兩種算法。事實上,拜占庭將軍問題是分布式系統領域最復雜的容錯模型,?它描述了如何在存在惡意行為(如消息篡改或偽造)的情況下使分布式系統達成一致。是我們理解分布式一致性協議和算法的重要基礎。
比特幣資管公司Samara Asset Group向子公司Samara Alpha注資1000萬美元:6月30日消息,專注于比特幣的另類資產管理公司Samara Asset Group宣布已向Samara Alpha Management(下稱Samara Alpha)新推出的旗艦市場中性多策略基金投資1000萬美元。Samara Alpha是Samara Asset Group總部位于美國的資產管理子公司,于今年早些時候開始運營。
Samara Alpha的市場中性戰略旨在利用新興數字資產領域的潛在市場機會。加密市場的特點是市場分散,有許多交易所和加密貨幣,以及監管不一致,導致效率低下。Samara Alpha認識到,投資于這些數字資產策略的早期采用者具有未開發的潛力。[2023/6/30 22:10:11]
拜占庭將軍問題描述
拜占庭將軍問題描述了這樣一個場景:
圖1.拜占庭將軍問題
拜占庭帝國(ByzantineEmpire)軍隊的幾個師駐扎在敵城外,每個師都由各自的將軍指揮。將軍們只能通過信使相互溝通。在觀察敵情之后,他們必須制定一個共同的行動計劃,如進攻(Attack)或者撤退(Retreat),且只有當半數以上的將軍共同發起進攻時才能取得勝利。然而,其中一些將軍可能是叛徒,試圖阻止忠誠的將軍達成一致的行動計劃。?更糟糕的是,負責消息傳遞的信使也可能是叛徒,他們可能篡改或偽造消息,也可能使得消息丟失。
Otherside公布旗下游戲LoTM的部分機制和策略,第1季將于今年夏天推出:6月14日消息,Yuga Labs旗下元宇宙平臺Otherside公布旗下2D策略游戲Legendsofthe Mara(LoTM)的部分游戲機制和策略,Otherside表示該游戲第1季將于今年夏天推出,在第1季和第2季中,Voyagers(航海者)通過在游戲卡上戰略性地裝備插槽和生命值(HP)來加入戰斗。當一張卡片的生命值已經耗盡時,Voyagers可以等待他們在冷卻時間內恢復或使用其他方式更快地治愈,恢復生命值并重新投入戰斗。此外,戰斗成功將獲得稱為出土神器的寶藏作為獎勵,該獎勵可用于增強Voyagers在Mara中的玩法。[2023/6/14 21:36:19]
為了更加深入的理解拜占庭將軍問題,我們以三將軍問題為例進行說明。當三個將軍都忠誠時,可以通過投票確定一致的行動方案,圖2展示了一種場景,?即GeneralA,B通過觀察敵軍軍情并結合自身情況判斷可以發起攻擊,而GeneralC通過觀察敵軍軍情并結合自身情況判斷應當撤退。?最終三個將軍經過投票表決得到結果為進攻:撤退=2:1,?所以將一同發起進攻取得勝利。對于三個將軍,每個將軍都能執行兩種決策(進攻或撤退)的情況下,共存在6中不同的場景,圖2是其中一種,對于其他5中場景可簡單地推得,通過投票三個將軍都將達成一致的行動計劃。
Binance Launchpad將于今日20時開放EDU交易:金色財經報道,據官方消息,Binacne Launchpad于北京時間2023年4月28日14時開放Open Campus(EDU)投入通道,本次Launchpad采用投入模式,基于用戶5日BNB日平均持倉進行投入。投入結束后,Binance創新區將于今日20時上線Open Campus(EDU),并開通EDU/BTC、EDU/USDT、EDU/TUSD、EDU/BNB交易對。
兌換比例為:1 EDU = 0.00015281 BNB(0.05 美元,基于 327.2 美元的 BNB 價格)。[2023/4/28 14:32:58]
圖2.三個將軍均為忠誠的場景
當三個將軍中存在一個叛徒時,將可能擾亂正常的作戰計劃。圖3展示了GeneralC為叛徒的一種場景,他給GeneralA和GeneralB發送了不同的消息,在這種場景下GeneralA通過投票得到進攻:撤退=1:2,最終將作出撤退的行動計劃;GeneralB通過投票得到進攻:撤退=2:1,最終將作出進攻的行動計劃。結果只有GeneralB發起了進攻并戰敗。
上海升級后已凈提款超50萬枚ETH,約85萬枚ETH等待提款:金色財經報道,Token.Unlock數據顯示,以太坊完成上海升級后至今,已凈提款超50萬枚ETH。此外Nansen統計數據顯示,目前約85萬枚ETH等待提款,其中待提款的實體中Kraken占比約46.3%,位列第一。[2023/4/16 14:06:40]
圖3.二忠一叛的場景
事實上,對于三個將軍中存在一個叛徒的場景,想要總能達到一致的行動方案是不可能的。詳細的證明可參看LeslieLamport的論文。此外,論文中給出了一個更加普適的結論:如果存在m個叛將,那么至少需要3m+1個將軍,才能最終達到一致的行動方案。
解決方案
LeslieLamport在論文中給出了兩種拜占庭將軍問題的解決方案,即口信消息型解決方案(Asolutionwithoralmessage)和簽名消息型解決方案(Asolutionwithsignedmessage)。
1、口信消息型解決方案
Verasity宣布完成本季度第一次5000萬枚VRA代幣銷毀:2月8日消息,Verasity用本季度的總收入銷毀了總計超過500,000美元的50,000,000枚VRA代幣,成功完成了第一次VRA代幣的回購并從總流通中銷毀。該銷毀意味著Verasity回購和銷毀代幣的開始。
Verasity是一個用于電子競技和視頻娛樂的協議和產品層平臺。使視頻發布者在任何平臺上可以顯著增加參與度和廣告的收益。[2023/2/9 11:55:34]
首先,對于口信消息(Oralmessage)的定義如下:
A1.任何已經發送的消息都將被正確傳達;
A2.消息的接收者知道是誰發送了消息;
A3.消息的缺席可以被檢測。
基于口信消息的定義,我們可以知,?口信消息不能被篡改但是可以被偽造。基于對圖3場景的推導,我們知道存在一個叛將時,必須再增加3個忠將才能達到最終的行動一致。為加深理解,我們將利用3個忠將1個叛將的場景對口信消息型解決方案進行推導。在口信消息型解決方案中,首先發送消息的將軍稱為指揮官,其余將軍稱為副官。對于3忠1叛的場景需要進行兩輪作戰信息協商,如果沒有收到作戰信息那么默認撤退。圖4是指揮官為忠將的場景,在第一輪作戰信息協商中,指揮官向3位副官發送了進攻的消息;在第二輪中,三位副官再次進行作戰信息協商,由于GeneralA、B為忠將,因此他們根據指揮官的消息向另外兩位副官發送了進攻的消息,而GeneralC為叛將,為了擾亂作戰計劃,他向另外兩位副官發送了撤退的消息。最終CommandingGeneral,GeneralA和B達成了一致的進攻計劃,可以取得勝利。
圖4.指揮官為忠將的場景
圖5是指揮官為叛將的場景,在第一輪作戰信息協商中,指揮官向GeneralA、B發送了撤退的消息,但是為了擾亂GeneralC的決定向其發送了進攻的消息。在第二輪中,由于所有副官均為忠將,因此都將來自指揮官的消息正確地發送給其余兩位副官。最終所有忠將都能達成一致撤退的計劃。
圖5.指揮官為叛將的場景
如上所述,對于口信消息型拜占庭將軍問題,如果叛將人數為m,將軍人數不少于3m+1,那么最終能達成一致的行動計劃。值的注意的是,在這個算法中,叛將人數m是已知的,且叛將人數m決定了遞歸的次數,即叛將數m決定了進行作戰信息協商的輪數,如果存在m個叛將,則需要進行m+1輪作戰信息協商。這也是上述存在1個叛將時需要進行兩輪作戰信息協商的原因。
2、簽名消息型解決方案
同樣,對簽名消息的定義是在口信消息定義的基礎上增加了如下兩條:
A4.忠誠將軍的簽名無法偽造,而且對他簽名消息的內容進行任何更改都會被發現;
A5.任何人都能驗證將軍簽名的真偽。
基于簽名消息的定義,我們可以知道,簽名消息無法被偽造或者篡改。為了深入理解簽名消息型解決方案,我們同樣以3三將軍問題為例進行推導。?圖6是忠將率先發起作戰協商的場景,GeneralA率先向GeneralB、C發送了進攻消息,一旦叛將GeneralC篡改了來自GeneralA的消息,那么GeneralB將將發現作戰信息被GeneralC篡改,GeneralB將執行GeneralA發送的消息。
圖6.忠將率先發起作戰協商
圖7是叛將率先發起作戰協商的場景,叛將GeneralC率先發送了誤導的作戰信息,那么GeneralA、B將發現GeneralC發送的作戰信息不一致,因此判定其為叛將。可對其進行處理后再進行作戰信息協商。
圖7.叛將率先發起作戰協商
簽名消息型解決方案可以處理任何數量叛將的場景。
總結
在分布式系統領域,拜占庭將軍問題中的角色與計算機世界的對應關系如下:
將軍,對應計算機節點;
忠誠的將軍,對應運行良好的計算機節點;
叛變的將軍,被非法控制的計算機節點;
信使被殺,通信故障使得消息丟失;
信使被間諜替換,通信被攻擊,攻擊者篡改或偽造信息。
如上文所述,拜占庭將軍問題提供了對分布式共識問題的一種情景化描述,是分布式系統領域最復雜的模型。此外,它也為我們理解和分類現有的眾多分布式一致性協議和算法提供了框架。現有的分布式一致性協議和算法主要可分為兩類:
一類是故障容錯算法(CrashFaultTolerance,CFT),?即非拜占庭容錯算法,解決的是分布式系統中存在故障,但不存在惡意攻擊的場景下的共識問題。也就是說,在該場景下可能存在消息丟失,消息重復,但不存在消息被篡改或偽造的場景。一般用于局域網場景下的分布式系統,如分布式數據庫。屬于此類的常見算法有Paxos算法、Raft算法,、ZAB協議等。
一類是拜占庭容錯算法,可以解決分布式系統中既存在故障,又存在惡意攻擊場景下的共識問題。一般用于互聯網場景下的分布式系統,如在數字貨幣的區塊鏈技術中。屬于此類的常見算法有PBFT算法、PoW算法。
看完本文,你對這兩種解決方案有什么看法?歡迎在評論區跟我們討論!
Tags:ERARALGENGENEpera幣發行量RAL價格DLEGENDS價格Next Generation Network
來源:?智慧城市研究 編者注:原標題為《上海率先把危變機:加快智慧城市建設意見出臺》2月6日,中國智慧城市論壇提出要“以防疫為契機,全面提升智慧城市”,倡議各地政府要在非常期間,萬眾一心防疫.
1900/1/1 0:00:00新型冠狀病肺炎疫情不幸在武漢開始爆發,全國眾志成城抗擊疫情,但在這過程中也暴露了諸多不足。這涉及到一個重大公共事件治理方式問題,是一個社會難題,那么區塊鏈能否提高重大公共事件的依法治理能力呢?.
1900/1/1 0:00:00以太坊域名服務之所得名,不僅是因為它支持給以太坊地址賦予域名,還因為它運行在以太坊區塊鏈上并接受ETH作為支付方式.
1900/1/1 0:00:00原文來源:Medium 編譯:Masaka 編者注:原標題為《未來全球對比特幣有多大需求?》對于比特幣是否會成為價值儲存工具這個話題.
1900/1/1 0:00:00來源:加密谷Live 作者:Hasu 翻譯:Lisa 市場是人們可以相互交換商品和服務的場所。即使所有的參與者都只考慮自己的利益,價格發現仍使市場能夠有效地將資源分配給社會中最有價值的用途.
1900/1/1 0:00:00來源:加密谷Live 作者:Howard 突如其來的一場新冠肺炎疫情打亂了大部分人的工作與生活節奏,我們似乎一下子從快車道進入冰河時期,其實,進入2020以來.
1900/1/1 0:00:00