——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號代表拜占庭節點,這里表現的惡意行為就是對其它節點的請求無響應。
動態 | 鏈客社區聯合北京交通廣播推出區塊鏈技術科普節目:12月11日15:15—16:00,區塊鏈技術社區——鏈客區塊鏈技術社區將聯合北京交通廣播FM103.9從零開始為大眾科普解碼區塊鏈技術,蜻蜓FM及北京廣播網同期進行全球直播。首期做客嘉賓為鏈客區塊鏈技術社區創始人郄建軍和百度區塊鏈產品負責人于雅楠。[2019/12/11]
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狀態,并可以進行執行。執行完畢后,節點會將執行結果反饋給客戶端進行后續判斷。
動態 | 浙江衛視節目科普支付寶區塊鏈防偽溯源產品:昨日,在浙江衛視播出的科普綜藝欄目《智造將來》現場,支付寶首次展示了支付寶區塊鏈防偽溯源產品,以接地氣的方式公開向大眾展示區塊鏈在生活中的應用。[2019/3/4]
——Part5?新型共識算法——
▲HotStuff
HotStuff是一個建立在部分同步模型上的拜占庭容錯協議。HotStuff具有線性視圖變更的特性,把輪換主節點融入了常規共識流程中,切換主節點無需增加其他協議和代價,且系統在此期間還能繼續對外提供服務。該特性解決了PBFT最棘手的視圖變更問題,包括實現復雜度高、完成時間不確定以及整個過程系統不能正常對外提供服務等。此外,HotStuff還將共識流程的通信復雜度降低至O(n)。
HotStuff的基礎共識流程圍繞一個核心的三輪共識投票展開,在該過程中,視圖以單調遞增的方式不斷切換。在每個視圖內,都有一個唯一主節點負責打包區塊、收集和轉發消息并生成QC。整個過程包括5個階段,準備階段、預提交階段、提交階段、決定階段和最終階段。主節點想要提交某個分支,需要在PREPARE、PRE-COMMIT和COMMIT這三個階段收集n-f個共識節點的帶簽名的投票消息,并利用門限簽名算法把他們合成一個證書,隨后廣播給從節點。
聲音 | 中科院姚建銓:要加快推進區塊鏈與物聯網融合的科普 培訓:據新華網消息,日前,在區塊鏈與物聯網融合發展峰會上,中國科學院院士姚建銓說,關注區塊鏈技術里面的大數據,跟區塊鏈技術結合起來進行測量和檢測,能更好地提升激光清洗技術。姚建銓建議,無錫今后要加快推進區塊鏈與物聯網融合的科普、培訓,正確引導廣大人民群眾對技術的認知;同時,建立專業、權威,但又普適、成套的理論體系和標準,以此切入區塊鏈的實際應用。[2018/9/18]
圖5.BasicHotStuff共識流程
Basic-HotStuff各個階段的流程高度相似,HotStuff作者便提出Chained-HotStuff來簡化Basic-HotStuff的消息類型,并允許Basic-HotStuff的各階段進行流水線處理。流程如圖6所示:
中科院自動化研究所將面向大中小學生開展區塊鏈等主題的科普講座:5月21日,新華網訊,今年,中國科學院自動化研究所將舉辦第十四屆“自動化之光”公眾科學開放日活動。屆時,自動化所將面向大中小學生分別開展《腦與智能》、《區塊鏈技術與平行智能》、《大數據時代的視覺智能》、《動畫真奇妙》等4個主題報告,用實例和生動的演示深入淺出地為大家揭示智能技術的原理和奧妙。[2018/5/21]
圖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.
Tags:區塊鏈PREPARREP區塊鏈運用的技術中不包括哪一項內容BlitzPredictParsiqrep幣最新消息
——背景—— 當前,區塊鏈跨鏈平臺的接入方式在架構設計上存在著較大差異,如何將應用鏈快速、便捷地接入跨鏈系統是一個亟待解決的問題.
1900/1/1 0:00:00根據TheBlock8月3日消息,NFT的每周交易量首次突破3億美元,約為3.39億美元。這一數字相較于7月中旬增加了超70%,當時NFT每周交易量達到了2.0927億美元的峰值.
1900/1/1 0:00:00巴比特訊,7月10日,在蘇黎世CoinGeek會議上,比特幣協會創始主席JimmyNguyen主持了一場關于“比特幣和加密資產——真正的價值從何而來?”的小組討論.
1900/1/1 0:00:00巴比特訊,OKLink數據顯示,當前,比特幣單位算力的日收益為0.0000087枚BTC,約合0.36美元.
1900/1/1 0:00:00巴比特訊,據官方公告稱Pinknode與AstarNetwork達成合作,成為其基礎設施提供商.
1900/1/1 0:00:00巴比特訊,7月12日,以太坊二層網絡解決方案Polygon發推宣布,電子競技初創公司CommunityGaming將其電子競技比賽帶到Polygon.
1900/1/1 0:00:00