——Part4?拜占庭容錯算法——
▲PBFT
實用性拜占庭容錯算法,是一種在信道可靠的情況下解決拜占庭將軍問題的實用方法。拜占庭將軍問題最早由LeslieLamport等人在1982年發表的論文提出,論文中證明了在將軍總數n大于3f,背叛者為f或者更少時,忠誠的將軍可以達成命令上的一致,即3f+1<=n,算法復雜度為O(n^f+1)。隨后MiguelCastro和BarbaraLiskov在1999年發表的論文中首次提出PBFT算法,該算法容錯數量也滿足3f+1<=n,算法復雜度降低到了O(n2)。
下面介紹PBFT算法的核心共識流程,如圖4所示。
圖4.三階段共識
在請求request階段,客戶端發起請求,主節點收到客戶端的請求后,將觸發核心共識流程。算法的核心共識流程分為三個階段:pre-prepare階段,prepare階段,commit階段。其中,節點在prepare階段和commit階段各進行了一輪投票,分別對消息的合法性與待執行進行了確認。圖中,c代表客戶端,0、1、2、3代表節點的編號,在視圖為0的情況下,節點0是主節點,節點1、2、3為從節點。打叉的3號代表拜占庭節點,這里表現的惡意行為就是對其它節點的請求無響應。
人民數字FINTECH推出區塊鏈科普動畫:人民日報數字傳播發布微博稱,人民數字FINTECH出品《趣味科普|區塊鏈動畫》。[2020/3/31]
pre-prepare階段:主節點在收到客戶端的請求后,會主動向其它節點廣播pre-prepare消息,其中,v為當前視圖,n為主節點分配的請求序號,D(m)為消息摘要,m為消息本身。從節點在收到pre-prepare消息之后,會對該消息進行合法性驗證,若通過驗證,那么該節點就會進入pre-prepared狀態,表示該請求在從節點處通過合法性驗證。否則,從節點會拒絕該請求,并觸發視圖切換流程。
prepare階段:當從接到進入到pre-prepared狀態后,會向其它節點廣播prepare消息,其中,i為當前節點標識序號。其他節點收到消息后,如果該請求已經在當前節點進入pre-prepared狀態,并且收到2f條來自不同節點對應的prepare消息(包含自身發出的以及主節點的pre-prepared消息),那么該請求就進入到prepared狀態。
現場 | 火幣中國推出數字經濟及區塊鏈產業科普新書:金色財經現場報道,12月6日,由海南省工業和信息化廳主辦,南南合作金融中心協辦,海南生態軟件園、火幣中國承辦的“海南自貿港數字經濟和區塊鏈國際合作論壇”在海口舉行,這是全球首次區塊鏈部長級論壇。
在本次論壇上,火幣中國舉行了“數字經濟及區塊鏈產業科普系列新書發布”儀式,希望通過教材、專業教育、培訓等多種方式,幫助從業者、高校、研究機構深入了解區塊鏈,從而建立起區塊鏈全局性知識模型,真正推動區塊鏈應用落地。火幣中國CEO袁煜明介紹,將聯合機械工業出版社面向普通高等教育推出《區塊鏈導論》、《區塊鏈系統設計與應用》和《區塊鏈新商業模式分析》系列教材,這是國內最早推動的區塊鏈教材之一;火幣中國還積極參與數字經濟的研究,由中信出版社出版的新書《讀懂Libra》已經上市;由火幣中國負責編寫的區塊鏈技術科普讀物《區塊鏈技術進階指南》將于12月面世;首本行業內最全的區塊鏈應用案例集《區塊鏈產業應用100例》在本次論壇進行了首次刊印。[2019/12/6]
commit階段:當請求在當前節點進入prepared狀態后,本節點會向其它節點廣播commit消息。如果該請求已經在當前節點達到prepared狀態,并且收到2f+1條來自不同節點對應的commit消息(包含自身),那么該請求就會進入到committed狀態,并可以進行執行。執行完畢后,節點會將執行結果反饋給客戶端進行后續判斷。
聲音 | 中科院姚建銓:要加快推進區塊鏈與物聯網融合的科普 培訓:據新華網消息,日前,在區塊鏈與物聯網融合發展峰會上,中國科學院院士姚建銓說,關注區塊鏈技術里面的大數據,跟區塊鏈技術結合起來進行測量和檢測,能更好地提升激光清洗技術。姚建銓建議,無錫今后要加快推進區塊鏈與物聯網融合的科普、培訓,正確引導廣大人民群眾對技術的認知;同時,建立專業、權威,但又普適、成套的理論體系和標準,以此切入區塊鏈的實際應用。[2018/9/18]
——Part5?新型共識算法——
▲HotStuff
HotStuff是一個建立在部分同步模型上的拜占庭容錯協議。HotStuff具有線性視圖變更的特性,把輪換主節點融入了常規共識流程中,切換主節點無需增加其他協議和代價,且系統在此期間還能繼續對外提供服務。該特性解決了PBFT最棘手的視圖變更問題,包括實現復雜度高、完成時間不確定以及整個過程系統不能正常對外提供服務等。此外,HotStuff還將共識流程的通信復雜度降低至O(n)。
聲音 | 火星人朋友圈科普RAM:火星人在朋友圈發文稱,“什么是RAM?簡單來說就是EOS這個國家的土地,所有的經濟行為都離不開土地。只要EOS的BP們能投票形成一個穩定的供給預期,并且不改變目前的Bancor算法,那么RAM后續的價格有可能會像北上廣深的房價走勢。房價下跌不行,房價過快上漲也不行,EOS的生態越來越像某國了,真有意思。”[2018/7/6]
HotStuff的基礎共識流程圍繞一個核心的三輪共識投票展開,在該過程中,視圖以單調遞增的方式不斷切換。在每個視圖內,都有一個唯一主節點負責打包區塊、收集和轉發消息并生成QC。整個過程包括5個階段,準備階段、預提交階段、提交階段、決定階段和最終階段。主節點想要提交某個分支,需要在PREPARE、PRE-COMMIT和COMMIT這三個階段收集n-f個共識節點的帶簽名的投票消息,并利用門限簽名算法把他們合成一個證書,隨后廣播給從節點。
財政部副部長朱光耀:數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展:今日,在中國發展高層論壇2018年會上,財政部副部長朱光耀表示:“數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展。也要關注數字經濟的其他影響,包括稅收征管、反洗錢監管措施等要跟上。”[2018/3/25]
圖5.BasicHotStuff共識流程
Basic-HotStuff各個階段的流程高度相似,HotStuff作者便提出Chained-HotStuff來簡化Basic-HotStuff的消息類型,并允許Basic-HotStuff的各階段進行流水線處理。流程如圖6所示:
圖6.Chained-HotStuff是Basic-HotStuff的流水線形式,v表示視圖view,圓角矩陣表示一個node
▲HoneyBadgerBFT
FLP定理從理論上證明了在純異步環境下不可能存在一種確定性的共識協議。后世的研究者們為了繞過這個定理,不得不在兩個方向上進行妥協:要么加強對網絡的假設,要么引入隨機源。HoneyBadgerBFT協議,這是一個完全異步的共識協議,它不依賴于任何關于網絡環境的時間假設。異步共識協議則完全不需要考慮timer的設置。為了保證協議的活性,異步協議需要引入隨機源,簡單來說就是當協議無法達成共識的時候,借助上帝拋骰子的方式隨機選擇一個結果作為最終結果。
HoneyBadgerBFT通過模塊化的方式解決了拜占庭環境下的原子廣播問題,即如何保證在異步和拜占庭環境下,各個節點按相同順序收到相同的消息。HoneyBadgerBFT首先將ABC分解成一個核心模塊,異步共同子集。之后將ACS分解成了RBC(ReliableBroadcast)和ABA(AsynchronousBinaryAgreement)兩個子模塊。整體的算法分為三個步驟:
1)每個節點交易隨機選擇一些交易,所有節點的總交易個數是B。每個節點的交易進行加密生成x。
2)通過ACS協議將每個節點加密的交易進行廣播,以及形成統一交易序列。
3)解密交易生成區塊。
——Part6?總結——
上述介紹的共識機制有著各自的優缺點,對于不同的區塊鏈系統,我們需要結合實際使用場景與網絡規模,采用不同的共識算法。下面我將以表格的形式對目前各平臺使用的共識機制進行簡要的對比與總結:
作者簡介
袁超趣鏈科技基礎平臺部共識算法研究小組
參考文獻
LamportL,ShostakR,PeaseM.TheByzantinegeneralsproblem//Concurrency:theWorksofLeslieLamport.2019:203-226.
CastroM,LiskovB.PracticalByzantinefaulttolerance//OSDI.1999,99(1999):173-186.
CastroM,LiskovB.PracticalByzantinefaulttoleranceandproactiverecovery.ACMTransactionsonComputerSystems(TOCS),2002,20(4):398-461.
IttaiAbraham,GuyGueta,DahliaMalkhi,LorenzoAlvisi,RamakrishnaKotla,andJean-PhilippeMartin.Re-visitingfastpracticalbyzantinefaulttolerance.CoRR,abs/1712.01367,2017.
MillerA,?XiaY,?CromanK,etal.TheHoneyBadgerofBFTProtocols//AcmSigsacConferenceonComputer&CommunicationsSecurity.ACM,2016:31-42.
2021年6月,《中華人民共和國數據安全法》經會議表決通過,從數據風險評估、監測預警、安全審查等方面確立了基本制度.
1900/1/1 0:00:00巴比特訊,7月25日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心開幕。本次大會由杭州時戳信息科技有限公司主辦.
1900/1/1 0:00:00巴比特訊,7月25日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心舉行。本次大會由杭州時戳信息科技有限公司主辦.
1900/1/1 0:00:00——背景—— 當前,區塊鏈跨鏈平臺的接入方式在架構設計上存在著較大差異,如何將應用鏈快速、便捷地接入跨鏈系統是一個亟待解決的問題.
1900/1/1 0:00:00巴比特訊,7月25日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心舉行。本次大會由杭州時戳信息科技有限公司主辦.
1900/1/1 0:00:00巴比特訊,7月24日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心開幕。本次大會由杭州時戳信息科技有限公司主辦,杭州未來科技城管委會等機構支持.
1900/1/1 0:00:00