日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CBFT共识机制

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CBFT共识机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

CBFT(Concurrent Byzantine Fault Tolerance) 并行拜占庭容錯算法,從是拜占庭容錯算法上發展而來新的共識算法。
CBFT算法有四個階段:block determination、pre-prepare、prepare 和 commit,后三個階段與PBFT算法的三個階段類似。CBFT的一個重要優勢是并發性,每個塊可以與其他塊并發的方式投票及建塊,從而大大的提高共識速度。CBFT另一個重要特點就是可以在提交階段檢測受損節點,可以在最后階段廣播消息來識別叛徒節點。步驟包含:交易級別的確認和投票、建塊、塊驗證、塊確認。

CBFT共識算法.jpg

交易級別的確認和投票

所有節點對收到的交易進行hash映射,得到一個交易Hash集合,將交易Hash集合發出給其余所有節點,每個節點對收到的交易Hash集合進行2/3與運算,求得2/3以上節點的交易交集對應的交易Hash集合;對于副本Ni,假設Si是其捕獲中的一組交易。 Ni廣播Hi = {hash(t)| t∈S},并向其他副本sign(Hi,Ni)。這個階段也選擇一個主要的副本Np;

建塊

建塊節點根據這個交易Hash集合得到交易集合進行建塊,將塊提交給其余節點;對于每個接收到的消息(Hi,sign(Hi,Ni)),主副本Np首先使用sign(Hi,Ni)和Ni的公鑰來檢查Hi的一致性。然后,Np計算∩in = 1Hi。交集中的交易被添加到塊B中。然后,Np向其他副本廣播B和sign(B,Np)。

對塊進行驗證

收到塊的節點通過自身的交易Hash集合和塊中的交易集合對比完成驗證,驗證結束后將驗證結果的數字簽名發給其余所有節點;在這個階段,每個副本首先使用sign(B,Np)和Np的公鑰來檢查B的一致性,每個副本投票B。使vote(B,Ni)表示副本Ni對B的投票(vote(B,Ni)是表示同意或拒絕)。之后,Ni將vbi =(vote(B,Ni),sign(vote(B,Ni),Ni))廣播給其他副本。

塊投票

第二輪投票將所有節點收到的所有對該塊的投票簽名后轉發,從而使得每個節點收到所有節點的投票,對投票進行統計得到最終的結果,從而決定是否接納該塊;每個副本已收到所有其他副本的投票。然而,惡意副本可以向不同的副本發送不同的投票。因此,在這個階段,每個副本Nj首先使用sign(vote(B,Ni))和Ni的公鑰來檢查vote(B,Ni)的一致性。然后,Nj向所有其他副本廣播svj = {vb0,vb1,...,vbn}和sign(svj,Nj)。

塊確認

對于每個副本Ni,它接收sv0,sv1,...,svn。對于0≤j≤n,它首先使用sign(svj,Nj)和Nj的公鑰來檢查svj的一致性。然后,計算B的同意的數量。如果同意的數量超過2n / 3,Ni回復agree給調用者。請注意,如果svj中的vbk與svl不同,對于j ≠ l,Nk是惡意副本。



作者:vdes
鏈接:https://www.jianshu.com/p/ff99453fd9a7
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

總結

以上是生活随笔為你收集整理的CBFT共识机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。