日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 前言 近日比原鏈(BYTOM)技術(shù)團隊發(fā)布了Bystack區(qū)塊鏈BaaS平臺,其中包括側(cè)鏈的共識算法BBFT(Bystack Byzantine Fault Tolerance)。筆者將

前言

近日比原鏈(BYTOM)技術(shù)團隊發(fā)布了Bystack區(qū)塊鏈BaaS平臺,其中包括側(cè)鏈的共識算法BBFT(Bystack Byzantine Fault Tolerance)。筆者將在這篇文章中闡述比原鏈BBFT嘗試解決的問題以及分析BBFT與其他各家共識協(xié)議的主要差異。

BBFT是一個PBFT的變形,它的原理與PBFT一脈相承。若想深刻理解BBFT的巧思,則必須進入PBFT的脈絡(luò)推敲。早在區(qū)塊鏈藉由比特幣的大紅大紫之前,PBFT就作為共識協(xié)議存在于世界上了。由Castro和Liskov于1999年發(fā)明,它是一個具有20年歷史的經(jīng)典設(shè)計,它的發(fā)明是為了解決分布式系統(tǒng)中的一個經(jīng)典問題:拜占庭將軍問題。直到今日,PBFT仍蘊含許多值得反復推敲的巧思,不斷啟發(fā)后世發(fā)明出更好的協(xié)定。

PBFT基本的運作流程

PBFT是一個具有二輪投票的三階段協(xié)議,每個視域(View)都會有一個特定的節(jié)點作為領(lǐng)導節(jié)點(Primary/Leader),負責通知所有節(jié)點進入投票流程。各節(jié)點則會經(jīng)歷Pre-prepare/Prepare/Commit這三個階段,并依據(jù)接收的訊息決定是否投票/進入下一階段,每個節(jié)點投完票后將訊息發(fā)給所有其他的節(jié)點。

若個節(jié)點在兩階段投票之后取得多數(shù)共識,則各節(jié)點可以更新本機的狀態(tài),結(jié)束這一回合。視域變換(View-change)僅當多數(shù)節(jié)點發(fā)起時執(zhí)行,當目前的領(lǐng)導節(jié)點并未正常執(zhí)行任務(wù)時,這可以替換當前的領(lǐng)導節(jié)點,保證協(xié)議正常運作。

PBFT的特性

PBFT與中本聰共識(區(qū)塊鏈)有相當不同的特性:PBFT是一個許可制的、基于領(lǐng)導節(jié)點的、基于通訊的、安全性重于活躍性的共識協(xié)定。

許可制的(Permissioned):PBFT并非完全開放的,這是由于PBFT需要讓節(jié)點能夠驗證彼此的訊息以及精準掌握節(jié)點的數(shù)量,區(qū)塊鏈則是屬于對任何人都開放的非許可制(Permissionless)。

基于領(lǐng)導節(jié)點的(Leader-based):也就是先決定領(lǐng)導節(jié)點(Leader),再由領(lǐng)導節(jié)點送出提議,這樣做最直接的好處就是不需要浪費自己的運算資源去爭取當領(lǐng)導節(jié)點的機會,然而缺點就是只有在視域變換時才輪替領(lǐng)導節(jié)點,成為領(lǐng)導節(jié)點的機會并不公平,缺乏加入網(wǎng)絡(luò)的誘因;區(qū)塊鏈則是在多個提案中選擇工作證明難度最高的區(qū)塊作為共識,雖然這樣會造成運算資源的浪費,但是成為出塊者的機率大致是公平的,其與算力成正比。

基于通訊的(CommunicaTIon-based):PBFT的安全性奠基于3階段投票,雖然不必如工作證明般消耗大量計算資源,但數(shù)量龐大的通訊也造成可擴展性的瓶頸——就算是號稱最實用的PBFT,也無法擴展到1000個以上個節(jié)點。不僅如此,PBFT使用消息驗證代碼(MAC),每投一輪票就需要每一個節(jié)點驗證一次訊息,大量的簽名/驗證也是另一個潛在的瓶頸。

安全性重于活躍性的(Safety over Liveness):PBFT不論在何種網(wǎng)絡(luò)假設(shè)下(同步/異步)都能確保安全性,幾乎不可能出現(xiàn)分岔,因此具有實時敲定(Instant Finality)的特性;相對地,區(qū)塊鏈則是活躍性重于安全性,其安全性有賴于同步的網(wǎng)絡(luò),而具有復數(shù)個共識(及分岔)的情況也相當常見,需要經(jīng)過一定數(shù)量的區(qū)塊「確認」才能保證其不再分岔的機率足夠大。

PBFT的問題

首先,PBFT中的每個節(jié)點都需于每一輪投票中做n-n的通訊,假設(shè)n為1000,則每一次的共識都需要至少100,000次的通訊,盡管PBFT已經(jīng)是BFT家族當中最實用的協(xié)議,這么巨量的通訊需求仍是擴展的瓶頸。

如何提升效率?

· 聚合簽名

為了提升效率,一個直覺的思路是:避免n-n的通訊。我們可以指定網(wǎng)絡(luò)中的某節(jié)點作為協(xié)調(diào)者來發(fā)送/接收每個節(jié)點的投票,這樣每個節(jié)點都只需要向協(xié)調(diào)者發(fā)送訊息即可,從而避免了n-n的通訊。然而,在這樣的情境下,協(xié)調(diào)者有作惡的可能,因為協(xié)調(diào)者可以在未確實接收到指定數(shù)量的訊息前便執(zhí)行下一輪投票或者進行狀態(tài)更新。

因此,我們可以使用門坎簽章(Threshold Signature)來保證協(xié)調(diào)者的正當行為,門坎簽章的可以保證:需集合超過門坎數(shù)量(t-of-n)的簽章才有效。也就是說,我們可以指定:唯有當協(xié)調(diào)者集合 2f+1 個門坎簽章后,協(xié)調(diào)者才能帶著合法的簽名繼續(xù)推進共識。Harmony FBFT便是一個使用聚合簽名以提升效率的BFT家族協(xié)議。

· 管線設(shè)計

每個內(nèi)容都必須經(jīng)過二輪投票/三個階段才能達成共識,如果有m個內(nèi)容就需要執(zhí)行2m次投票。管線設(shè)計(Pipelining)可以減少投票的次數(shù),它的基本思路如下:讓每個節(jié)點在投第 i 輪的prepare階段時,同時也是對其前一個內(nèi)容 i-1 的commit階段投票。這樣做便可以節(jié)省對同一個內(nèi)容重復投票的冗余,大幅提升效率。這樣的思路首見于2018年發(fā)表的HotStuff協(xié)議。

· 只讓部分節(jié)點參與共識:最小生成樹

另外一種提高效率的方法,就是避免使所有的節(jié)點參與共識,這也正是比原鏈BBFT采取的作法。在BBFT中,節(jié)點分為三種:Consensus Node/Gateway Node/Leader Node,這些節(jié)點形成樹的結(jié)構(gòu),樹為網(wǎng)絡(luò)中節(jié)點的最小生成樹(Minimal Spanning Tree),可能由分布式算法得出,或是由外部服務(wù)提供。樹葉的節(jié)點即為Consensus Node;樹根為Leader Node;其他部分為Gateway Node。每種節(jié)點都有分別的任務(wù):Consensus Node負責進行投票;Gateway Node則不需參與投票,但必須負責聚合由Consensus Node送來的簽章;Leader Node負責與其他Leader Node交換訊息。BBFT的運作流程如下圖所示,BBFT的共識過程,便是訊息由樹根向樹葉傳播再回到樹根的過程。

如何確保正確性(Safety and Liveness)?

在為PBFT帶入新技術(shù)以提升效率的同時,也必須確保協(xié)議本身的安全性與活躍性。接下來我們來看看,上述的協(xié)議是如何確保這兩者。

· 視域變換(View-change)

FBFT沿用了PBFT的視域變換,即在正常情況下并不更換領(lǐng)導節(jié)點,僅有當超過2f+1個節(jié)點發(fā)起視域變換才會更迭領(lǐng)導節(jié)點。視域變換雖然本身是一個能夠替換作惡領(lǐng)導節(jié)點的機制,但它同時要求協(xié)議必須具有3個階段,才能保證協(xié)議的安全性(即不分岔)。

· 領(lǐng)導節(jié)點輪替(RotaTIng Leader)

HotStuff另一方面則引入了領(lǐng)導節(jié)點輪替的機制,在每個回合都更換領(lǐng)導節(jié)點,如此來回避視域變換高額的通訊成本。領(lǐng)導節(jié)點輪替也常見于許多BFT家族的協(xié)議,算是目前保障安全性機制的主流。

· 混合式(Hybrid)

比原鏈BBFT則取各家所長,同時應(yīng)用了視域變換與領(lǐng)導節(jié)點輪替,等于是上了雙重保險。

不過值得注意的是,目前的BBFT技術(shù)白皮書僅有一輪投票的模型,并未提出兩輪投票/三階段共識的模型。另外,領(lǐng)導節(jié)點輪替的順序也將基于各節(jié)點的權(quán)益(Stake),若節(jié)點出現(xiàn)違反協(xié)議的行為則該節(jié)點會遭受懲罰。

BBFT的挑戰(zhàn)

綜合以上的分析與比較,BBFT目前有幾個顯著的挑戰(zhàn)。首先,是最小生成樹的產(chǎn)生方式,如何同時兼顧去中心化與效率?其次是BBFT僅采取單輪投票作為共識,在引入視域變換的情況之下,可能會發(fā)生分岔,這樣的網(wǎng)絡(luò)也會遭受日蝕攻擊的威脅。最后,引入門坎簽章的前提下,勢必需要引入分布式私鑰生產(chǎn)協(xié)議(Distributed Key GeneraTIon)以共同生成私鑰,這部分于技術(shù)白皮書中尚未提及,卻是可能造成瓶頸的潛在因子。

結(jié)語

本篇文章簡介了PBFT的特性及其效能問題,并比較了FBFT/HotStuff/BBFT等協(xié)議針對效能問題的解決思路,最后歸納出比原鏈BBFT的未來挑戰(zhàn),希望能幫助讀者更理解BBFT的精髓。

作者:Juin Chiu,Unitychain 研究員 & Taipei Ethereum Meetup共同組織者,目前的研究領(lǐng)域為共識協(xié)議/分片技術(shù)/自主身份等。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉