加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > FIL幣 > Info

PBFT 拜占庭協議安全性分析:不適合聯盟鏈或公鏈_SEQ:BBFT

Author:

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

作者:王永革教授,著名華裔密碼學家,北卡羅來納大學夏洛特分校(UNC,Charlotte)計算機系終身教授,德國海德堡大學獲得博士學位,Sperax首席科學家。共識協議的設計一直是一個很具有挑戰性的課題。圖靈獎獲得者Lamport在1989年用古希臘帕克西島(Paxos)上的一群業余立法議員制定法律的過程描述了他所設計的可用于分布式計算的Paxos共識協議。Lamport將他的文章投給了ACMTOCS。也許這個雜志的編輯沒領會到該文章的重要性,所以一直沒同意發表。直到Paxos共識協議被學術界廣泛討論并被工業界廣泛應用,該雜志才在1998年發表了該文章:Lamport,Leslie."Thepart-timeparliament."ACMTransactionsonComputerSystems(TOCS)16.2(1998):133-169.Lamport自我調侃說這是他的所有文章中等待發表時間第二長的一篇文章。到目前為止,Paxos共識協議幾乎被使用于所有的分布式系統。比如Google的Bigtable使用Chubbylockservice系統來保證各個節點數據的一致性。而Chubbylockservice就是基于Paxos協議的。此外,微軟,IBM,亞馬遜的云服務系統都用Paxos協議為其提供系統的一致性。粗略來講,Paxos協議由一系列ROUND組成。ROUND由0開始直到共識達成。每個ROUND分以下四步:1.主節點生成一個序列號,向所有節點廣播。希望大家參與該序列號的活動2.每個節點發給主節點以下信息:他所參與投過票的序列號和他投過的票3.主節點在收到第二步的大部分回復后,選取一個不會違反SAFETY的數值v。把這個值v廣播給所有的節點4.每個節點在收到主節點第三步的值v后,投票給v并向所有節點廣播他的投票由于Paxos協議比較難于實現,斯坦福的研究者在2014年提出了模塊化的易于實現的Paxos協議,并將其命名為Raft協議。Paxos/Raft協議是在比較溫和的威脅模型里工作的。換句話說,該協議只對異步網絡里的非拜占庭錯誤具有魯棒性。在非拜占庭威脅模型里,出錯的節點只能犯被動性的錯誤而不能展開具有主動進攻性的攻擊。具有n個節點的系統最多能容忍的非拜占庭錯誤節點數是/2。Paxos/Raft協議達到了這個最大的容錯節點數。因為Paxos/Raft協議對拜占庭錯誤不具有魯棒性,他們是無法在開放的網絡系統里使用的。拜占庭錯誤是具有主動攻擊性的錯誤,比如:說謊,偽造消息,合謀攻擊,或者展開具有選擇性的DoS攻擊。我們在之前的文章中已經提到,去中心化的區塊鏈系統是基于開放的網絡系統的,所以我們必須使用拜占庭威脅模型。目前市場上的區塊鏈里使用最多的拜占庭協議是圖靈獎獲得者BarbaraLiskov和她的學生Castro設計的實用拜占庭容錯系統PBFT(practicalBFT)。PBFT被廣泛使用于聯盟鏈和很多公鏈。PBFT可以被看作是Paxos協議的拜占庭版本。其主要區別在于PBFT在Paxos協議中加入了一個驗證步驟來防止拜占庭錯誤。在分析其安全性之前,我們先給出其協議的形式化描述。在PBFT協議中,我們假定有n=3t+1個節點P1,…,Pn。其中最多t個節點被攻擊者所控制。PBFT要求所有的節點共同維護一個狀態并采取一致的行動。PBFT協議是通過一系列的視圖(view)來進行的。在每一個視圖里,有一個節點被稱為主節點(leader)。PBFT系統首先從視圖(v=0)開始,然后通過視圖更換協議進入視圖v=1,v=2,…等等。只有在系統認為主節點不能正常工作時,才會啟動視圖更換協議進入下一個視圖。我們假定所有的節點都知道每一個視圖的主節點是誰。每當一個客戶提交一個任務給當前視圖的主節點后,PBFT協議將進行三個階段的通信:序號分配,相互交互,和序號確認。序號分配階段對每個任務分配一個序列號,相互交互和序號確認階段對所有的任務提供一個全局的排序。假定我們現在在視圖v,并且主節點是Pi。那么整個協議的過程如下:1.客戶端發送任務請求m,激活主節點的服務操作。2.當主節點Pi接收任務請求m后,啟動三階段的協議:a.序號分配階段:主節點選擇一個唯一的序列號seq給任務請求m。主節點然后向所有的節點廣播以下消息m,<PRE-PREPARE,v,seq,H(m)>,SIGNATURE其中H是一個哈希函數。一個節點Pj接受以上的消息,如果以下的條件都滿足i.數字簽名SIGNATURE有效ii.Pj尚未接受另一個含有相同v,seq的另一任務請求iii.序列號seq在合理的范圍內b.相互交互階段:如果節點Pj接受接受了主節點的廣播消息,那么Pj進入相互交互階段并對所有的節點廣播以下消息<PREPARE,v,seq,H(m),Pj>,SIGNATUREc.序號確認階段:對于節點Pj來說,一個數組<m,v,seq,Pj>是準備好了的當且僅當Pj收到了至少2t個有效的消息<PREPARE,v,seq,H(m),P>。當數組<m,v,seq,Pj>對Pj來說是準備好了后,Pj對所有的節點廣播以下確認消息:<COMMIT,v,seq,H(m),Pj>,SIGNATURE當一個節點收到2t+1個確認消息后,該節點將執行任務請求m中所包含的任務,并將結果直接發送給客戶。3.客戶端等待來自不同節點的回復,若有t+1個回復相同,則該回復即為運算的結果。最近我們在如下文章中對PBFT的安全性進行了分析:YonggeWang.ByzantineFaultToleranceinPartiallyConnectedAsynchronousNetworks該文章的分析結論是PBFT共識協議在異步網絡里是不安全的。我們在本文,簡單的介紹我們設計的在異步網絡里對PBFT協議的攻擊辦法。為了簡化我們的描述,我們假定系統有n=3+1=4個節點P1,P2,P3,P4。其中節點P1被攻擊者控制。另外我們假定視圖v的主節點是P1。我們的攻擊在視圖v展開:1.在視圖v的序號分配階段,主節點P1把廣播消息「m,<PRE-PREPARE,v,seq,H(m)>,SIGNATURE」發送給P1,P2,P3。但是不發給P4。2.在相互交互階段,P1把廣播消息「<PREPARE,v,seq,H(m),P1>,SIGNATURE」發送給P1,P2,P3。但是不發給P4。在相互交互階段,節點P2,P3會把廣播消息「<PREPARE,v,seq,H(m),P2>,SIGNATURE」和「<PREPARE,v,seq,H(m),P3>,SIGNATURE」發給所有的節點。當然了,如果可能,攻擊者也許會發起DoS攻擊,讓節點P4不會接受到節點P2,P3的廣播消息。到此時,數組<m,v,seq,Pj>對節點P1,P2,P3來說是準備好了。因為P4最多收到了兩個相互交互消息,而我么最少需要2+1=3個消息來準備好一個數組,所以對P4來說,該數組并沒有準備好。3.在序號確認階段,P1把廣播消息「<COMMIT,v,seq,H(m),P1>,SIGNATURE」發送給P1,P2。但是不發給P4。在序號確認階段,節點P2,P3會把廣播消息「<COMMIT,v,seq,H(m),P2>,SIGNATURE」和「<PREPARE,v,seq,H(m),P3>,SIGNATURE」發給所有的節點。當然了,如果可能,攻擊者也許會發起DoS攻擊,讓節點P4不會接受到節點P2,P3的廣播消息。到此時,節點P1,P2收到了3個對任務m的確認消息。節點P3和P4最多收到2個對任務m的確認消息。所以節點P2將執行任務請求m中所包含的任務,并將結果直接發送給客戶。但是P1,P3,P4不會執行該任務。所以客戶收不到足夠的回復。在實行了以上的攻擊后,節點P1將不再回復任何視圖v的任何消息。所以系統將啟動視圖更換協議進入下一個視圖v+1。在進入視圖v+1后,誠實節點的P2,P3,P4的內部數據狀態是不一樣的。所以系統進入了不協調的狀態。在PBFT協議中,為了解決有些節點可能會收不到某些消息,PBFT協議設計了CHECKPOINT狀態更新過程。特別的,每執行100個任務后,每個節點Pj會廣播其當前狀態的消息給所有的節點:<CHECKPOINT,seq,H(state),Pj>,SIGNATURE如果一個節點Pi收到2t+1個如上的狀態更新消息,并且其狀態state的,那么節點Pi將用如上消息里的狀態state替換自己的當前狀態。在我們的如上攻擊中,如果不誠實的節點P1不發布狀態更新消息,那么P2發布的狀態更新消息將不同于P3和P4發布的狀態更新消息。因為我們至少需要2+1=3個相同的狀態更新消息來更新一個節點的狀態,P2的狀態是沒法更新到P3和P4的狀態的。所以系統將一直處于不協調狀態。在以后的視圖里,不誠實的節點P1可以和誠實的節點P3,P4合作共同執行客戶端的另一個任務請求。所以各個節點的狀態將進入不可恢復的不協調狀態。在我們的前一篇文章里,我們提到,在基于Internet的區塊鏈技術中,DoS攻擊是很容易展開的。由于Internet是一個異步網絡,所以我們用以下模型來刻畫其網絡通信:存在一個GlobalStabilizationTime(GST),在GST之前,任何消息可能丟失,或被重新排序。在GST之后,網絡變為同步網絡。但是GST什么時候開始,沒有人知道。所以說,我們以上的攻擊在異步網絡的GST之前是可以展開的。那么如果一個區塊鏈系統使用PBFT作為其共識協議,我們以上的攻擊結果是什么樣的?一般來說,在發起如上攻擊收,該區塊鏈系統首先會出現分叉,然后將進入死機狀態。特別的,加入在展開我們所描述的以上攻擊之前,大家達成共識的區塊鏈是:A→B→C→D。攻擊者用以上的攻擊方案,先讓P2決定下一個區塊是E。也就是說在P2的記錄里,當前區塊鏈是:A→B→C→D→E。但是P3,P4所記錄的當前區塊鏈仍然是A→B→C→D。然后攻擊者P1讓節點P3,P4決定下一個節點為F。這樣在P3,P4的記錄里,當前區塊鏈是:A→B→C→D→F。因為區塊E不同于區塊F。區塊鏈產生了分叉。由于下一個區塊必須有當前區塊鏈延伸出去。如果節點從現在開始不在參與任何活動,那么系統沒發得到最小的投票數2+1=3。所以沒有新的區塊可以生成。綜合起來,我們在本文的分析結論是:PBFT共識協議沒法保證區塊鏈系統的安全性和活性需求。所以我們建議,不論是聯盟鏈或公鏈,都不應該用PBFT做為其共識協議。

BNB Chain推出基于OP Stack的Layer2網絡opBNB測試網:6月19日消息,BNB Chain推出基于OP Stack的Layer2網絡opBNB測試網。開發人員預計opBNB測試網將達到每秒4,000筆交易的速度,目標成本為每筆交易0.005美分。[2023/6/20 21:48:10]

韓國檢察官搜查與韓民主黨議員金南國相關的Upbit和Bithumb賬戶:金色財經報道,韓國檢察官搜查了交易所 Upbit 和 Bithumb 的賬戶,這些賬戶與身陷加密貨幣丑聞的韓民主黨議員金南國 (Kim Nam-kuk) 周一進行的轉賬有關。由于金南國使用其 Klip 加密貨幣錢包,消息應用程序 Kakao 也被列入搜索范圍。自上周以來,韓國民主黨眾議員金南國因他在 2022 年提取加密貨幣而被卷入利益沖突指控。[2023/5/15 15:04:29]

Upbit母公司Dunamu創始人:Dunamu將通過三項核心服務加強和推動其業務發展:金色財經報道,加密交易所Upbit母公司Dunamu創始人兼董事長宋智亨在周四舉行的 2022 年 Upbit 開發者大會上表示,Dunamu將通過三項核心服務加強和推動其業務發展:Upbit 加密貨幣交易所、Upbit NFT 交易所和 Levvels。?據當地媒體報道,宋補充說,克服“加密貨幣寒冬”的驅動力是區塊鏈和加密貨幣的不同應用,例如DeFi、NFT 和P2E。Dunamu 的 CEO Lee Sir-goo 在同一場活動中也表示,他對 Levvels 的推出投入最多;Lee 認為 Levvels 是 Dunamu 向海外擴張的機會。Levvels 預計將提供與基于 K-pop 藝術家的知識產權 (IP) 的 NFT 相關的服務。[2022/9/23 7:16:34]

動態 | 警惕有冒充Upbit員工發送釣魚郵件:Upbit剛剛發布公告稱,用戶需警惕有冒充Upbit員工發送電子郵件,將加密貨幣RVN的官方錢包鏈接到個人錢包。Upbit強調并未將該假冒郵件作為模擬郵件和模擬員工郵件發送。若用戶收到郵件,不要下載或點擊郵件中的文件,并將其刪除。[2019/10/4]

公告 | 韓國交易所Upbit上線比原鏈:韓國交易所Upbit發布公告稱,比原鏈BTM上線該交易所。目前在Upbit交易所上,已經能夠交易BTC/BTM交易對。[2019/1/31]

Tags:SEQBFTBITUpbitSEQ價格BBFTbitpieapp國際版upbit異常取款怎么辦

FIL幣
單鏈的艱難權衡_加密貨幣:Pinknode

作者:StevenPu眾所周知,即使對技術人員來說,區塊鏈技術白皮書的信息密度也是相當大的。因此,我們編寫了一系列文章,嘗試把Taraxa白皮書里的技術術語分解成更便于理解的短文并配上了更多圖片.

1900/1/1 0:00:00
物流行業區塊鏈應用調查_區塊鏈:區塊鏈證據保全怎么操作

Overview概述本文將探討區塊鏈在全球貿易物流,供應鏈透明性和可追溯性以及物流中的商業流程領域中的賦能概念及案例。同時,本文將在最后部分說明當前的困難與挑戰.

1900/1/1 0:00:00
區塊鏈行業眾生相:我是一名礦工,畢業4年,成了礦場主_區塊鏈:加密貨幣

編者按:本文來自白話區塊鏈,Odaily星球日報經授權轉載。區塊鏈行業的上游是挖礦,在過去的十年里,加密貨幣挖礦經歷了天翻地覆的變化。最早,一個人、一臺筆記本電腦,就可以開挖比特幣.

1900/1/1 0:00:00
扶持與監管政策紛紛推出,中國區塊鏈的關鍵詞到底是什么?_區塊鏈:SIN

作者丨三一編輯丨門人運營丨一百小石頭2016年,國務院發布《“十三五”國家信息規劃》,第一次將區塊鏈納入新技術范疇并作前沿布局,這標志著我國開始推動區塊鏈技術和應用發展.

1900/1/1 0:00:00
螞蟻S9達到關機價,以前一天賺90元,現在賺6元_比特幣:BTC

11月25日,F2pool魚池官方發布微博稱“基于比特幣當前挖礦難度,以0.38元/度的電價計算,包括螞蟻S9在內的6款比特幣礦機已經達到關機價格”.

1900/1/1 0:00:00
備受全球矚目的「USDT集體索賠案」來龍去脈(全文譯本)_ETH:Ethernal Finance

h.電信欺詐i.該五被告故意從事電信欺詐,通過電信傳輸如互聯網,進行大量的虛假陳述,尤其是USDT將會到1:1美元的儲備支撐,違反了《美國法典》第18編1343節.

1900/1/1 0:00:00
ads