LibraBFT與比原鏈BystackBBFT有什么不同

本篇內(nèi)容主要講解“LibraBFT與比原鏈Bystack BBFT有什么不同”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“LibraBFT與比原鏈Bystack BBFT有什么不同”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到吉安網(wǎng)站設(shè)計(jì)與吉安網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吉安地區(qū)。

如果說(shuō)什么是區(qū)塊鏈的靈魂,那一定是共識(shí)機(jī)制。

它是區(qū)塊鏈的根基。無(wú)論公鏈或是聯(lián)盟鏈,共識(shí)機(jī)制都從基礎(chǔ)上限制了區(qū)塊鏈的交易處理能力和擴(kuò)展性。

2019年6月18日,F(xiàn)acebook 發(fā)布了自己 Libra 項(xiàng)目的白皮書,引發(fā)廣泛關(guān)注。作為 Facebook 試圖創(chuàng)造國(guó)際流通數(shù)字貨幣的重要項(xiàng)目,Libra 區(qū)塊鏈采用的是 LibraBFT 共識(shí)機(jī)制,是一個(gè)為 Libra 設(shè)計(jì)的魯棒的高效的狀態(tài)復(fù)制系統(tǒng)。它基于一種新型的 BFT 共識(shí)算法,HotStuff。

就在 Facebook Libra 項(xiàng)目白皮書發(fā)布之前不久,5月17日,比原鏈發(fā)布了 BaaS 平臺(tái) Bystack。這是一個(gè)一主多側(cè)鏈架構(gòu)的商用區(qū)塊鏈系統(tǒng),主鏈采用 PoW 共識(shí)保證多樣資產(chǎn)安全和去中心化,側(cè)鏈提供可插拔的共識(shí)以滿足不同業(yè)務(wù)需求。同時(shí),Bystack 本身還針對(duì)側(cè)鏈獨(dú)創(chuàng)了一種 DPoS+BBFT 的共識(shí)算法。

同樣是 BFT 類共識(shí)機(jī)制,LibraBFT 和 BBFT 兩者有什么不同呢?

LibraBFT與比原鏈Bystack BBFT有什么不同

區(qū)塊鏈共識(shí)機(jī)制的意義和現(xiàn)狀

共識(shí)(Consensus)是分布式系統(tǒng)中節(jié)點(diǎn)對(duì)數(shù)據(jù)或網(wǎng)絡(luò)最終狀態(tài)達(dá)成的協(xié)議。由于網(wǎng)絡(luò)環(huán)境和節(jié)點(diǎn)狀態(tài)的不可控,共識(shí)機(jī)制需要同時(shí)考慮性能、可靠性、安全性等多方面問題。

共識(shí)機(jī)制從大的方面,可分為 PoW 等中本聰共識(shí)機(jī)制,和拜占庭容錯(cuò)(BFT)類共識(shí)機(jī)制兩大類。BFT 共識(shí)機(jī)制廣泛應(yīng)用于各類聯(lián)盟鏈。

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

LibraBFT與比原鏈Bystack BBFT有什么不同

BFT共識(shí)機(jī)制

BFT( Byzantine Fault Tolerance)即拜占庭容錯(cuò)。它是分布式計(jì)算容錯(cuò)技術(shù)。

由于硬件錯(cuò)誤、網(wǎng)絡(luò)擁塞或中斷、以及遭到惡意攻擊等原因,計(jì)算機(jī)和網(wǎng)絡(luò)可能出現(xiàn)不可預(yù)料的行為。拜占庭容錯(cuò)技術(shù)被設(shè)計(jì)用來(lái)處理這些異常,在容錯(cuò)的基礎(chǔ)上達(dá)成共識(shí)。

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

BFT 類共識(shí)在金融場(chǎng)景及聯(lián)盟鏈場(chǎng)景中應(yīng)用甚廣。同時(shí)隨著技術(shù)進(jìn)步,公有鏈場(chǎng)景下應(yīng)用的 BFT 共識(shí)也在不斷出現(xiàn)。

PBFT 共識(shí)機(jī)制

實(shí)用拜占庭容錯(cuò)算法(Practical Byzantine Fault Tolerance Algorithm,PBFT)是首個(gè)實(shí)用的在異步分布式網(wǎng)絡(luò)中實(shí)現(xiàn)拜占庭容錯(cuò)的共識(shí)算法。

PBFT 算法可工作在異步環(huán)境中,并且優(yōu)化了原始拜占庭容錯(cuò)算法效率不高的問題,將算法復(fù)雜度由指數(shù)級(jí)降低到多項(xiàng)式級(jí),使得拜占庭容錯(cuò)算法在實(shí)際系統(tǒng)應(yīng)用中變得可行——這點(diǎn)已得到廣泛驗(yàn)證。PBFT 算法可以在失效節(jié)點(diǎn)不超過總數(shù)1/3的情況下同時(shí)保證一致性(Safety)和交付保證(Liveness)。

無(wú)論 Facebook Libra 的 LibraBFT 共識(shí)協(xié)議,還是比原鏈 Bystack 的 BBFT共識(shí)機(jī)制,都在底層上充分吸收了 PBFT 的優(yōu)點(diǎn),采用了已有的經(jīng)過時(shí)間驗(yàn)證的處理方式,并在 PBFT 的一些短板和不足之處分別做出了各自不同方向的革新。

Facebook Libra 的 LibraBFT 共識(shí)協(xié)議

前面已經(jīng)說(shuō)到,Libra 采用基于 HotStuff 的 LibraBFT 共識(shí)。

HotStuff 是一個(gè)三階段的 BFT 算法。它將視圖切換流程和正常流程進(jìn)行合并,不再有單獨(dú)視圖切換流程,降低了視圖切換的復(fù)雜度。

在 HotStuff 中切換視圖時(shí),系統(tǒng)中的某個(gè)節(jié)點(diǎn)無(wú)需確認(rèn)「足夠多的節(jié)點(diǎn)希望進(jìn)行視圖切換」這一消息再通知新的主節(jié)點(diǎn),而是可以直接切換到新視圖并通知新主節(jié)點(diǎn)。HotStuff 把確認(rèn)「足夠多的節(jié)點(diǎn)希望進(jìn)行視圖切換」這一消息的行為放進(jìn)了正常流程中。由此把 PBFT 的兩階段確認(rèn)擴(kuò)展成了三階段確認(rèn)。

HotStuff 的另一個(gè)重要改變,是將 PBFT 的網(wǎng)狀通信網(wǎng)絡(luò)拓?fù)渥兂闪诵切瓮ㄐ啪W(wǎng)絡(luò)拓?fù)?。HotStuff 中,每次通信都依靠主節(jié)點(diǎn)。節(jié)點(diǎn)不再通過 p2p 網(wǎng)絡(luò)將消息廣播給其它節(jié)點(diǎn),而是將消息發(fā)送給主節(jié)點(diǎn),由主節(jié)點(diǎn)處理后發(fā)送給其它節(jié)點(diǎn)。得益于星型通信網(wǎng)絡(luò)拓?fù)?,系統(tǒng)的通信復(fù)雜度大大降低。和 PBFT 類似,主節(jié)點(diǎn)會(huì)提議進(jìn)行狀態(tài)遷移,其它節(jié)點(diǎn)收到該狀態(tài)遷移要求后,會(huì)檢查其合法性。

LibraBFT 在 3f+1 個(gè)驗(yàn)證節(jié)點(diǎn)之間收集投票,這些驗(yàn)證者可能是誠(chéng)實(shí)的節(jié)點(diǎn)也可能是拜占庭節(jié)點(diǎn)。在網(wǎng)絡(luò)中存在 2f+1 個(gè)誠(chéng)實(shí)節(jié)點(diǎn)的前提下,Libra能夠抵御 f 個(gè)驗(yàn)證節(jié)點(diǎn)的雙花攻擊和分叉攻擊。

LibraBFT在一個(gè)有全局統(tǒng)一時(shí)間(GST),并且網(wǎng)絡(luò)最大延時(shí)(ΔT)可控的部分同步網(wǎng)絡(luò)中是有效的。并且,LibraBFT在所有驗(yàn)證節(jié)點(diǎn)重啟的情況下,也能夠保證網(wǎng)絡(luò)一致性。

比原鏈 Bystack 的 BBFT共識(shí)機(jī)制

LibraBFT與比原鏈Bystack BBFT有什么不同

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

(1)配置性(Configurable)

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

這是 Bystack 的一個(gè)核心競(jìng)爭(zhēng)點(diǎn)??珂湼拍罱鼛啄暌恢庇惺艿綇V泛關(guān)注,也是區(qū)塊鏈發(fā)展的重要方向。支持模塊化的插拔,使得 Bystack 擁有跨鏈方向的想象空間,有能力形成一個(gè)真正擴(kuò)展性強(qiáng)、能兼容其他主流共識(shí)機(jī)制的區(qū)塊鏈系統(tǒng)。

這樣的兼容能力使得 BBFT 有能力讓其他的聯(lián)盟鏈公鏈成為自己的側(cè)鏈,讓自己不僅僅是一個(gè)區(qū)塊鏈操作系統(tǒng),而且形成一個(gè)區(qū)塊鏈操作系統(tǒng)生態(tài)。這樣一來(lái),想象空間就大了。

不過當(dāng)然,要達(dá)到這樣的程度,技術(shù)實(shí)現(xiàn)上可能任重道遠(yuǎn)。兼容性是一個(gè)動(dòng)輒消耗大量研發(fā)成本的方向,它不難,但是繁瑣。BBFT 很難一步登頂一開始就做到最好,目前只能一步一步來(lái)。

(2)適應(yīng)性(Adaptive)

即針對(duì)不同網(wǎng)絡(luò)環(huán)境提供穩(wěn)定的執(zhí)行效率。

BFT 需要節(jié)點(diǎn)之間互相交換驗(yàn)證結(jié)果以取得多數(shù)共識(shí)。一般來(lái)說(shuō),每個(gè)節(jié)點(diǎn)需要得到足夠多(≥(2/3)*N)的來(lái)自其他節(jié)點(diǎn)的回復(fù)才能做出有效判斷。網(wǎng)絡(luò)延時(shí)直接影響信息交互效率,特別在跨地域跨境應(yīng)用中,延時(shí)將成為網(wǎng)絡(luò)運(yùn)行的瓶頸。

在 BBFT 中,共識(shí)節(jié)點(diǎn)維護(hù)當(dāng)前網(wǎng)絡(luò)拓?fù)?,按最短路徑原理相近的?jié)點(diǎn)采取優(yōu)先通信。對(duì)通信的聚合可以進(jìn)一步降低延時(shí)。同時(shí)類似PBFT,BBFT 中領(lǐng)導(dǎo)節(jié)點(diǎn)(Leader)的角色被弱化,共識(shí)節(jié)點(diǎn)拿到超過2/3票數(shù)就可以做出判定,從而在領(lǐng)導(dǎo)節(jié)點(diǎn)通信受到阻塞的情況下,也不會(huì)對(duì)整個(gè)網(wǎng)絡(luò)決策產(chǎn)生巨大影響。

(3)擴(kuò)展性(Scalable)

保證共識(shí)復(fù)雜度隨網(wǎng)絡(luò)容量線性(Linear)或低于線性(Sub-Linear)增加。

一方面共識(shí)節(jié)點(diǎn)越多網(wǎng)絡(luò)的可靠性相對(duì)越高;另一方面,傳統(tǒng) PBFT 中節(jié)點(diǎn)通信的復(fù)雜度 O(N^2) 隨網(wǎng)絡(luò)容量指數(shù)級(jí)增長(zhǎng),極大限制了節(jié)點(diǎn)數(shù)目。BBFT中對(duì)消息的有效聚合可以有效減少消息發(fā)送的次數(shù),從而保證 O(N) 的復(fù)雜度要求。與網(wǎng)絡(luò)拓?fù)湎嘟Y(jié)合,可以把網(wǎng)絡(luò)分割為多層結(jié)構(gòu),消息數(shù)據(jù)可以在同層內(nèi)有效共享,以多簽聚合的形式跨層傳播。多簽信息驗(yàn)證可以使用現(xiàn)有的成熟的

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

(4)異構(gòu)性(Heterogeneous)

分離共識(shí)的驗(yàn)證和通信。

共識(shí)達(dá)成需要驗(yàn)證和通信,但兩者并沒有很強(qiáng)的關(guān)聯(lián)。采取低耦合的共識(shí)框架可以進(jìn)一步提高網(wǎng)絡(luò)可靠性和效率。

驗(yàn)證模塊往往取決于具體用戶邏輯,對(duì)算力和安全性都有一定要求。通信模塊和用戶邏輯相對(duì)獨(dú)立,主要處理網(wǎng)絡(luò)連接和請(qǐng)求。網(wǎng)絡(luò)拓?fù)浜妥疃搪窂降挠?jì)算和選擇可以在這里完成。由于和用戶邏輯無(wú)關(guān),通信模塊可以以抽象層(AbstractionLayer)或者中間件(Middleware)的形式和驗(yàn)證對(duì)接。

異構(gòu)帶來(lái)的優(yōu)勢(shì)還體現(xiàn)在用最優(yōu)的工具做最適合的事。驗(yàn)證和通信允許運(yùn)行在不同的系統(tǒng)上、不同的操作環(huán)境中,針對(duì)不同硬件的算力優(yōu)勢(shì)和安全保證(TrustZone)來(lái)發(fā)揮最大效能。

BBFT 的兩大主要特點(diǎn)在于:

多層結(jié)構(gòu)。根據(jù)網(wǎng)絡(luò)進(jìn)行分層。傳統(tǒng) BFT 是單層結(jié)構(gòu),只有一個(gè)領(lǐng)導(dǎo)節(jié)點(diǎn)和若干處于同等地位的共識(shí)節(jié)點(diǎn)。BBFT 的創(chuàng)新在于大領(lǐng)導(dǎo)下面還有小領(lǐng)導(dǎo),如果領(lǐng)導(dǎo)出問題,不至于對(duì)網(wǎng)絡(luò)產(chǎn)生較大影響,相當(dāng)于弱化了領(lǐng)導(dǎo)的作用。而且由于是多層結(jié)構(gòu),可以把網(wǎng)絡(luò)通信分流再組合,優(yōu)化網(wǎng)絡(luò)通信的延時(shí)和數(shù)量。

傳統(tǒng) PBFT 的通信復(fù)雜度是指數(shù)級(jí)的,難以擴(kuò)展,網(wǎng)絡(luò)里面隨著節(jié)點(diǎn)數(shù)暴漲,整個(gè)網(wǎng)絡(luò)延遲可能很嚴(yán)重。BBFT 通過分層和加密簽名的聚合,對(duì)整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)有效組合,可以保證通信復(fù)雜度線性增長(zhǎng),而不是指數(shù)級(jí)增長(zhǎng)。

可配置性。Bystack 上的側(cè)鏈工程其實(shí)分三個(gè)模塊,一是底層共識(shí)算法,二是網(wǎng)絡(luò)劃分,三是簽名聚合。其中,網(wǎng)絡(luò)劃分和簽名聚合是相對(duì)獨(dú)立的模塊,可以使用不同的網(wǎng)絡(luò)分層算法、簽名聚合算法與共識(shí)層的算法進(jìn)行搭配??梢愿鶕?jù)具體用戶場(chǎng)景靈活選用不同的合理方案。

LibraBFT vs BBFT:共同和差異

LibraBFT與比原鏈Bystack BBFT有什么不同

LibraBFT 將 PBFT 的網(wǎng)狀通信網(wǎng)絡(luò)拓?fù)渥兂闪诵切瓮ㄐ啪W(wǎng)絡(luò)拓?fù)洌越档拖到y(tǒng)通信復(fù)雜度;BBFT則使用多層結(jié)構(gòu)把網(wǎng)絡(luò)通信分流再組合,優(yōu)化網(wǎng)絡(luò)通信的延時(shí)和數(shù)量。

LibraBFT 將視圖切換流程和正常流程進(jìn)行了合并,把 PBFT 的兩階段確認(rèn)擴(kuò)展成了三階段確認(rèn);BBFT 則將經(jīng)典 BFT 算法中產(chǎn)生、預(yù)最終狀態(tài)與最終狀態(tài)三個(gè)狀態(tài)修改為只有一個(gè)最終確認(rèn)狀態(tài)。

兩者都可看做是 PBFT 共識(shí)的升級(jí),吸收了現(xiàn)有 BFT 類共識(shí)的成果和優(yōu)點(diǎn),并在此基礎(chǔ)上做出不同方向的擴(kuò)展。LibraBFT 共識(shí)機(jī)制更多是 PBFT 基礎(chǔ)上的一種革新,更多關(guān)注算法本身,對(duì) PBFT 有很多修改和優(yōu)化的方面;BBFT 更多是在層級(jí)上進(jìn)行分層控制,更多是一種系統(tǒng)全局思維。BBFT 希望達(dá)到的,不只是一種高效的共識(shí)機(jī)制,更是能融合其他共識(shí)機(jī)制的共識(shí)機(jī)制。維度上,BBFT 是可以讓 LibraBFT 直接接入,在側(cè)鏈上利用對(duì)方所有優(yōu)勢(shì)的。LibraBFT 是第一序改變,BBFT 是第二序改變。

可以明顯看出,Bystack 更加關(guān)注利用好現(xiàn)有共識(shí)機(jī)制,將不同的共識(shí)機(jī)制整合、取長(zhǎng)補(bǔ)短,這在 Bystack 整體架構(gòu)上表現(xiàn)就十分突出,比如主側(cè)鏈采用不同共識(shí)并有機(jī)結(jié)合、側(cè)鏈?zhǔn)褂?DPoS+BBFT 的混合共識(shí)算法并具備可配置性……Bystack 不只是想做區(qū)塊鏈的操作系統(tǒng),它實(shí)際上有做操作系統(tǒng)的操作系統(tǒng)的意思。

區(qū)塊鏈共識(shí)機(jī)制的研究,已經(jīng)進(jìn)行很長(zhǎng)一段時(shí)間,但從 PoW 共識(shí)提出到現(xiàn)在,并沒有說(shuō)得上范式突破的進(jìn)展。

也許讓區(qū)塊鏈兼容其他鏈的共識(shí)機(jī)制,實(shí)現(xiàn)平滑跨鏈,讓任何一條鏈都可以作為一個(gè)側(cè)鏈接入進(jìn)來(lái),可以成為區(qū)塊鏈方向的一個(gè)范式突破,帶來(lái)全新的想象空間。也許這也是現(xiàn)在跨鏈概念比較火爆的原因。

到此,相信大家對(duì)“LibraBFT與比原鏈Bystack BBFT有什么不同”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享名稱:LibraBFT與比原鏈BystackBBFT有什么不同
瀏覽路徑:http://muchs.cn/article28/ipjjcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司、定制網(wǎng)站網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)