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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

浅析Facebook LibraBFT与比原链Bystack BBFT共识

發布時間:2025/3/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅析Facebook LibraBFT与比原链Bystack BBFT共识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果說什么是區塊鏈的靈魂,那一定是共識機制。

它是區塊鏈的根基。無論公鏈或是聯盟鏈,共識機制都從基礎上限制了區塊鏈的交易處理能力和擴展性。

2019年6月18日,Facebook 發布了自己 Libra 項目的白皮書,引發廣泛關注。作為 Facebook 試圖創造國際流通數字貨幣的重要項目,Libra 區塊鏈采用的是 LibraBFT 共識機制,是一個為 Libra 設計的魯棒的高效的狀態復制系統。它基于一種新型的 BFT 共識算法,HotStuff。

就在 Facebook Libra 項目白皮書發布之前不久,5月17日,比原鏈發布了 BaaS 平臺 Bystack。這是一個一主多側鏈架構的商用區塊鏈系統,主鏈采用 PoW 共識保證多樣資產安全和去中心化,側鏈提供可插拔的共識以滿足不同業務需求。同時,Bystack 本身還針對側鏈獨創了一種 DPoS+BBFT 的共識算法。

同樣是 BFT 類共識機制,LibraBFT 和 BBFT 兩者有什么不同呢?

區塊鏈共識機制的意義和現狀

共識(Consensus)是分布式系統中節點對數據或網絡最終狀態達成的協議。由于網絡環境和節點狀態的不可控,共識機制需要同時考慮性能、可靠性、安全性等多方面問題。

共識機制從大的方面,可分為 PoW 等中本聰共識機制,和拜占庭容錯(BFT)類共識機制兩大類。BFT 共識機制廣泛應用于各類聯盟鏈。

PoW 共識在非許可(Permissionless)鏈上應用廣泛,但是它的概率模型在提供較高可靠性的同時,犧牲了效率,浪費了大量計算資源。在具體商業應用環境中,許可(Permissioned)機制已經保證了一定程度上的節點可信度(Semi-Trust)。這樣的前提下,用戶更關心執行效率(TPS)和最終確定性(Finality)。這是BFT共識在聯盟鏈中流行的原因。

BFT共識機制

BFT( Byzantine Fault Tolerance)即拜占庭容錯。它是分布式計算容錯技術。

由于硬件錯誤、網絡擁塞或中斷、以及遭到惡意攻擊等原因,計算機和網絡可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常,在容錯的基礎上達成共識。

與從比特幣衍生出的中本聰共識不同,在BFT類協議中,一旦達成共識,則直接形成確定性結果,而不是中本聰共識的概率上的最終一致。

BFT 類共識在金融場景及聯盟鏈場景中應用甚廣。同時隨著技術進步,公有鏈場景下應用的 BFT 共識也在不斷出現。

PBFT 共識機制

實用拜占庭容錯算法(Practical Byzantine Fault Tolerance Algorithm,PBFT)是首個實用的在異步分布式網絡中實現拜占庭容錯的共識算法。

PBFT 算法可工作在異步環境中,并且優化了原始拜占庭容錯算法效率不高的問題,將算法復雜度由指數級降低到多項式級,使得拜占庭容錯算法在實際系統應用中變得可行——這點已得到廣泛驗證。PBFT 算法可以在失效節點不超過總數1/3的情況下同時保證一致性(Safety)和交付保證(Liveness)。

無論 Facebook Libra 的 LibraBFT 共識協議,還是比原鏈 Bystack 的 BBFT共識機制,都在底層上充分吸收了 PBFT 的優點,采用了已有的經過時間驗證的處理方式,并在 PBFT 的一些短板和不足之處分別做出了各自不同方向的革新。

Facebook Libra 的 LibraBFT 共識協議

前面已經說到,Libra 采用基于 HotStuff 的 LibraBFT 共識。

HotStuff 是一個三階段的 BFT 算法。它將視圖切換流程和正常流程進行合并,不再有單獨視圖切換流程,降低了視圖切換的復雜度。

在 HotStuff 中切換視圖時,系統中的某個節點無需確認「足夠多的節點希望進行視圖切換」這一消息再通知新的主節點,而是可以直接切換到新視圖并通知新主節點。HotStuff 把確認「足夠多的節點希望進行視圖切換」這一消息的行為放進了正常流程中。由此把 PBFT 的兩階段確認擴展成了三階段確認。

HotStuff 的另一個重要改變,是將 PBFT 的網狀通信網絡拓撲變成了星形通信網絡拓撲。HotStuff 中,每次通信都依靠主節點。節點不再通過 p2p 網絡將消息廣播給其它節點,而是將消息發送給主節點,由主節點處理后發送給其它節點。得益于星型通信網絡拓撲,系統的通信復雜度大大降低。和 PBFT 類似,主節點會提議進行狀態遷移,其它節點收到該狀態遷移要求后,會檢查其合法性。

LibraBFT 在 3f+1 個驗證節點之間收集投票,這些驗證者可能是誠實的節點也可能是拜占庭節點。在網絡中存在 2f+1 個誠實節點的前提下,Libra能夠抵御 f 個驗證節點的雙花攻擊和分叉攻擊。

LibraBFT在一個有全局統一時間(GST),并且網絡最大延時(ΔT)可控的部分同步網絡中是有效的。并且,LibraBFT在所有驗證節點重啟的情況下,也能夠保證網絡一致性。

比原鏈 Bystack 的 BBFT共識機制

?

根據 Bystack 白皮書,BBFT 是一種基于實用拜占庭容錯 PBFT 的衍生共識,是一種分層拜占庭容錯共識算法。在保證拜占庭容錯,即允許少量節點(f≤N/3)作惡的情況下,具有以下特性:

(1)配置性(Configurable)

采用模塊化可插拔設計,按需配置,并在一定程度上保證對新技術的兼容(Future-Proof)。

這是 Bystack 的一個核心競爭點。跨鏈概念近幾年一直有受到廣泛關注,也是區塊鏈發展的重要方向。支持模塊化的插拔,使得 Bystack 擁有跨鏈方向的想象空間,有能力形成一個真正擴展性強、能兼容其他主流共識機制的區塊鏈系統。

這樣的兼容能力使得 BBFT 有能力讓其他的聯盟鏈公鏈成為自己的側鏈,讓自己不僅僅是一個區塊鏈操作系統,而且形成一個區塊鏈操作系統生態。這樣一來,想象空間就大了。

不過當然,要達到這樣的程度,技術實現上可能任重道遠。兼容性是一個動輒消耗大量研發成本的方向,它不難,但是繁瑣。BBFT 很難一步登頂一開始就做到最好,目前只能一步一步來。

(2)適應性(Adaptive)

即針對不同網絡環境提供穩定的執行效率。

BFT 需要節點之間互相交換驗證結果以取得多數共識。一般來說,每個節點需要得到足夠多(≥(2/3)*N)的來自其他節點的回復才能做出有效判斷。網絡延時直接影響信息交互效率,特別在跨地域跨境應用中,延時將成為網絡運行的瓶頸。

在 BBFT 中,共識節點維護當前網絡拓撲,按最短路徑原理相近的節點采取優先通信。對通信的聚合可以進一步降低延時。同時類似PBFT,BBFT 中領導節點(Leader)的角色被弱化,共識節點拿到超過2/3票數就可以做出判定,從而在領導節點通信受到阻塞的情況下,也不會對整個網絡決策產生巨大影響。

(3)擴展性(Scalable)

保證共識復雜度隨網絡容量線性(Linear)或低于線性(Sub-Linear)增加。

一方面共識節點越多網絡的可靠性相對越高;另一方面,傳統 PBFT 中節點通信的復雜度 O(N^2) 隨網絡容量指數級增長,極大限制了節點數目。BBFT中對消息的有效聚合可以有效減少消息發送的次數,從而保證 O(N) 的復雜度要求。與網絡拓撲相結合,可以把網絡分割為多層結構,消息數據可以在同層內有效共享,以多簽聚合的形式跨層傳播。多簽信息驗證可以使用現有的成熟的

方案,例如基于 Shnorr 簽名的 MuSig 算法,可以在保證多簽驗證效率的同時,抵御Rogue Key Attack攻擊。

(4)異構性(Heterogeneous)

分離共識的驗證和通信。

共識達成需要驗證和通信,但兩者并沒有很強的關聯。采取低耦合的共識框架可以進一步提高網絡可靠性和效率。

驗證模塊往往取決于具體用戶邏輯,對算力和安全性都有一定要求。通信模塊和用戶邏輯相對獨立,主要處理網絡連接和請求。網絡拓撲和最短路徑的計算和選擇可以在這里完成。由于和用戶邏輯無關,通信模塊可以以抽象層(AbstractionLayer)或者中間件(Middleware)的形式和驗證對接。

異構帶來的優勢還體現在用最優的工具做最適合的事。驗證和通信允許運行在不同的系統上、不同的操作環境中,針對不同硬件的算力優勢和安全保證(TrustZone)來發揮最大效能。

BBFT 的兩大主要特點在于:

多層結構。根據網絡進行分層。傳統 BFT 是單層結構,只有一個領導節點和若干處于同等地位的共識節點。BBFT 的創新在于大領導下面還有小領導,如果領導出問題,不至于對網絡產生較大影響,相當于弱化了領導的作用。而且由于是多層結構,可以把網絡通信分流再組合,優化網絡通信的延時和數量。

傳統 PBFT 的通信復雜度是指數級的,難以擴展,網絡里面隨著節點數暴漲,整個網絡延遲可能很嚴重。BBFT 通過分層和加密簽名的聚合,對整個網絡結構有效組合,可以保證通信復雜度線性增長,而不是指數級增長。

可配置性。Bystack 上的側鏈工程其實分三個模塊,一是底層共識算法,二是網絡劃分,三是簽名聚合。其中,網絡劃分和簽名聚合是相對獨立的模塊,可以使用不同的網絡分層算法、簽名聚合算法與共識層的算法進行搭配。可以根據具體用戶場景靈活選用不同的合理方案。

LibraBFT vs BBFT:共同和差異

LibraBFT 將 PBFT 的網狀通信網絡拓撲變成了星形通信網絡拓撲,以降低系統通信復雜度;BBFT則使用多層結構把網絡通信分流再組合,優化網絡通信的延時和數量。

LibraBFT 將視圖切換流程和正常流程進行了合并,把 PBFT 的兩階段確認擴展成了三階段確認;BBFT 則將經典 BFT 算法中產生、預最終狀態與最終狀態三個狀態修改為只有一個最終確認狀態。

兩者都可看做是 PBFT 共識的升級,吸收了現有 BFT 類共識的成果和優點,并在此基礎上做出不同方向的擴展。LibraBFT 共識機制更多是 PBFT 基礎上的一種革新,更多關注算法本身,對 PBFT 有很多修改和優化的方面;BBFT 更多是在層級上進行分層控制,更多是一種系統全局思維。BBFT 希望達到的,不只是一種高效的共識機制,更是能融合其他共識機制的共識機制。維度上,BBFT 是可以讓 LibraBFT 直接接入,在側鏈上利用對方所有優勢的。LibraBFT 是第一序改變,BBFT 是第二序改變。

可以明顯看出,Bystack 更加關注利用好現有共識機制,將不同的共識機制整合、取長補短,這在 Bystack 整體架構上表現就十分突出,比如主側鏈采用不同共識并有機結合、側鏈使用 DPoS+BBFT 的混合共識算法并具備可配置性……Bystack 不只是想做區塊鏈的操作系統,它實際上有做操作系統的操作系統的意思。

區塊鏈共識機制的研究,已經進行很長一段時間,但從 PoW 共識提出到現在,并沒有說得上范式突破的進展。

也許讓區塊鏈兼容其他鏈的共識機制,實現平滑跨鏈,讓任何一條鏈都可以作為一個側鏈接入進來,可以成為區塊鏈方向的一個范式突破,帶來全新的想象空間。也許這也是現在跨鏈概念比較火爆的原因。

也許正像 Bystack 共識算法負責人王煒所說,“單一公鏈單一算法”這種模式已經行不通了,因為用戶場景實在太多,一條公鏈是解決不了所有問題的。

作者:蜂鳴

參考資料:

1、本體研究院:《Facebook主導的Libra所基于的共識HotStuff是如何工作的?》

轉載于:https://www.cnblogs.com/bytom/p/11126600.html

總結

以上是生活随笔為你收集整理的浅析Facebook LibraBFT与比原链Bystack BBFT共识的全部內容,希望文章能夠幫你解決所遇到的問題。

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