您的位置:首頁 > 區(qū)塊鏈 >

Libra使用LibraBFT 由HotStuff變種有超BFT-SMaRt吞吐量

2019-06-25 14:30:37 來源: 鏈聞ChainNews

鏈聞專訪 HotStuff 論文第一作者尹茂帆。Facebook 近日公布的 Libra 白皮書引起各界持續(xù)關(guān)注,其網(wǎng)站公開的技術(shù)文檔也被諸多專家審視。文檔提

鏈聞專訪 HotStuff 論文第一作者尹茂帆。

Facebook 近日公布的 Libra 白皮書引起各界持續(xù)關(guān)注,其網(wǎng)站公開的技術(shù)文檔也被諸多專家審視。文檔提到,Libra區(qū)塊鏈將使用基于拜占庭容錯共識的「LibraBFT」共識算法,而 LibraBFT 則是「HotStuff」的一個變種。

Libra 區(qū)塊鏈所采用的 LibraBFT 共識協(xié)議的技術(shù)論文

這個名為 HotStuff 的算法,究竟是怎樣一種「尤物」呢?

順藤摸瓜,我們發(fā)現(xiàn),HotStuff 算法論文由云計算公司 VMWare 的研究團隊發(fā)表,其安全性及可用性已經(jīng)過完整的數(shù)學(xué)證明。論文作者有 5 人,分別為 Maofan Yin、Dahlia Malkhi、Michael K. Reite、Guy Golan Gueta、Ittai Abraham。

HotStuff 算法論文

https://arxiv.org/pdf/1803.05069.pdf

其實「HotStuff」算法論文的第一作者尹茂帆(Ted Yin)是鏈聞的老朋友。今年僅僅 25 歲的尹茂帆本科畢業(yè)于上海交大,目前在美國康奈爾大學(xué)(Cornell)大學(xué)讀博士學(xué)位,當(dāng)前的主攻方向是分布式系統(tǒng)的基礎(chǔ)研究,導(dǎo)師是著名計算機科學(xué)家 Emin Gun Sirer,另一導(dǎo)師是 Robbert van Renesse。

在 Facebook 正式發(fā)布 Libra 白皮書之后,尹茂帆接受了鏈聞的專訪,他為我們詳解了 HotStuff 的奧妙。

首次進入分布式共識算法領(lǐng)域的人,很容易被一大堆名詞繞暈。而深入鉆研,你會發(fā)現(xiàn)這些名詞背后有著各種各樣的命名故事。比如 DLS 算法就是三位作者的縮寫:Dwork、Lynch 和 Stockmeyer。而 PBFT 算法就是「實用拜占庭容錯」的首字母縮寫(Practical Byzantine Fault Tolerance),BFT 自然就是「拜占庭容錯」了(下文將統(tǒng)一使用 BFT)。那么,這個物種的新人 HotStuff 的名字到底怎么來的呢?

尹茂帆解釋說,之所以取名為HotStuff,是因為這個單詞在英文里有三重意思:一是性感的人,一是炙手可熱的好東西,一是某個動畫里的小惡魔的名字。大家都知道,以太坊下一代共識算法 Casper 之名,也是來自一個動畫角色。所以,HotStuff 可以和它相映成趣了。

在接受鏈聞采訪時,尹茂帆靈機一動,把這個詞的中文翻譯為尤物。所以本文標(biāo)題的尤物,可不是嘩眾取寵。尹茂帆說,尤物有兩層意思,一是絕世美女,一是奇珍異寶。HotStuff 翻譯成尤物,簡直天造地設(shè)。

據(jù)介紹,HotStuff 已經(jīng)在一個具有 100 多個副本的網(wǎng)絡(luò)上進行過部署,超過了 BFT-SMaRt 的吞吐量,同時保持著與之相當(dāng)?shù)难舆t,而在更為實際的測試中性能均超過后者。

和其他分布式系統(tǒng)的共識協(xié)議相比,HotStuff 到底有哪些優(yōu)點呢?

鏈聞:關(guān)于分布式系統(tǒng)的共識協(xié)議,大致可分為兩類,一類是以比特幣為代表的區(qū)塊鏈算法(或者稱為中本聰共識),一類是經(jīng)典的 BFT 算法(如 DLS、PBFT)。兩者在應(yīng)用條件和性能方面,有哪些大的差異和優(yōu)劣?

尹茂帆:兩者的區(qū)別大致可以分為五個方面:1)成員信息;2)性能,包括吞吐量,延遲等;3)抗女巫攻擊(Sybil attack)——中本聰共識自帶抗女巫攻擊,而經(jīng)典的 BFT 需要額外的 PoS 或者 PoW;4)可擴容性;5)安全性,即概率 vs 確定性。

中本聰共識的優(yōu)點是,無需提前知道共識的所有參與者,不要求精確的成員信息。因為共識的一部分采用了 PoW(工作量證明),所以天生就對女巫攻擊具有一定免疫。而且,中本聰共識的算法十分簡單,普通人稍具數(shù)學(xué)基礎(chǔ),就可以理解。中本聰共識也容易擴容,在 10 個結(jié)點和 1000 個結(jié)點上受到的性能損失較小(一方面是因為不需要廣播投票,另一方面是因為它本來就很慢,見以下解釋。)

中本聰共識的缺點也很明顯。因為 PoW 的難度和等待鏈長度跟安全性有關(guān),從根本上說性能很差,交易確認(rèn)延遲大也無法改變。現(xiàn)有的所有基于中本聰共識的「魔改」(換湯不換藥的擴容)協(xié)議,其實只能增加吞吐量。而拋開延遲談吞吐量,意義不大。好比我可以開一個卡車運一車硬盤來運送數(shù)據(jù),雖然是超高吞吐量,但也是超高延遲。

在安全性方面,和傳統(tǒng) BFT 共識相比,中本聰共識只提供概率的安全保證,而 BFT 則是 100% 安全。這里說的安全,或者稱為一致性,就是能否避免雙花。其實,比特幣出六個塊能發(fā)生雙花的概率并不像大家想的那么低,有高達 13% 的概率出現(xiàn)共識失敗 (即 BFT 中的 30% 節(jié)點的情況)。以此來看,如果要公平比較的話,中本聰共識的效率非常之低。(六個塊已經(jīng)耗時一個小時了。)

再來看經(jīng)典 BFT 共識,其前提或者說缺點是,需要知道所有參與者,要求 100% 精確的成員信息。另外,經(jīng)典 BFT 共識相對較難擴容。在 HotStuff 前,大部分經(jīng)典 BFT 都需要所有結(jié)點廣播,這帶來了平方級別的復(fù)雜度(包括 Tendermint 論文里面描述的算法)。增加大量結(jié)點會導(dǎo)致網(wǎng)絡(luò)擁塞。而且,其中的 Leader 結(jié)點會承受整個網(wǎng)絡(luò)的負(fù)載(負(fù)載極其不均衡),導(dǎo)致難以擴容到成千上萬個結(jié)點而沒有太大性能損失。

BFT 共識的優(yōu)點則在于,因為共識沒有使用無意義的 PoW,所以,經(jīng)典 BFT 共識的協(xié)議速度跟網(wǎng)絡(luò)發(fā)送大量短消息的速度相關(guān),沒有中本聰共識那種額外的能源消耗和等待時間。交易延遲非常小,如果不考慮網(wǎng)絡(luò)延遲,交易在數(shù)十至數(shù)百毫秒級別,如果考慮網(wǎng)絡(luò)延遲,就跟網(wǎng)絡(luò)延遲同數(shù)量級。

鏈聞:你們論文在開篇聲稱,HotStuff 基于一個新的框架,這個框架在經(jīng)典 BFT 基礎(chǔ)和區(qū)塊鏈之間搭建了一座橋梁。如何理解這句話?

尹茂帆:我們的論文名為《尤物協(xié)議:透過區(qū)塊鏈看拜占庭容錯共識》(HotStuff: BFT Consensus in the Lens of Blockchain)。

之所以這么描述,是因為它的算法框架(可以誕生多個衍生算法)采用了樹 / 鏈?zhǔn)浇Y(jié)構(gòu),十分類似區(qū)塊鏈。另外,和傳統(tǒng)區(qū)塊鏈類似,一個結(jié)點當(dāng)前也有被視作「主鏈」的一根鏈,投票只會投給當(dāng)前認(rèn)為主鏈上擴展的新部分。和區(qū)塊鏈一樣,如果側(cè)鏈足夠「好」,那么它就會變成新的主鏈。在區(qū)塊鏈里面,這個是通過鏈長度來判定的(長者勝),而在HotStuff 中,它通過最近一次成功獲得大部分投票的塊決定。

另一方面,HotStuff 又是傳統(tǒng) BFT 體系下的一員。用此算法框架可以很好地解釋 PBFT、DLS、Tendermint、Casper 等協(xié)議,達到了一定程度上的歸納和統(tǒng)一。另外,跟之前同類型算法最大區(qū)別也是最大貢獻的地方是——HotStuff 的核心換屆算法沒有特殊情況;不像 PBFT 那樣有「正?!沟膱?zhí)行流程以及「特殊」的換屆流程,HotStuff 統(tǒng)一了兩者,即沒有顯式的換屆特殊處理,也可以認(rèn)為是潛在地處處換屆。這使得編寫一個基于 HotStuff 的共識系統(tǒng)的基礎(chǔ)安全部分十分容易。對比 PBFT 的數(shù)千行換屆代碼,HotStuff 只需要幾十或百余行即可。

另一個它較同類型算法更優(yōu)異的特點是,它對工程師們十分友好。它將保證正確性和保證性能的邏輯從算法層面上就進行了解耦合。一旦安全性保證的幾十行代碼完成,剩下的根據(jù)具體應(yīng)用場景的優(yōu)化(包括換屆機制,政策)都不會再觸及這部分,使得系統(tǒng)始終安全。

鏈聞:

尹茂帆:首先,HotStuff 將換屆的代價首次從平方級降低至線性復(fù)雜度,這意味著它和 Paxos/Raft 這些在 IT 行業(yè)廣泛使用的非 BFT 協(xié)議一樣,擁有一致的復(fù)雜度。另外,雖然理論上 Tendermint 等協(xié)議可以通過結(jié)合數(shù)字簽名來降低到同樣復(fù)雜度,但是,這些協(xié)議本質(zhì)上需要在塊與塊間等待最大的可能網(wǎng)絡(luò)延遲,使得實際實現(xiàn)出來的系統(tǒng)變成了一個同步系統(tǒng)。
而 HotStuff 思路跳出了原有的框架,提出了一個極簡的算法體系,使得它可以很容易地打破這個傳統(tǒng) BFT 的魔咒。經(jīng)過測試,它可以在保證簡單代碼實現(xiàn)、低理論復(fù)雜度的情況下打敗現(xiàn)有的最快的傳統(tǒng) BFT 實現(xiàn),在商用系統(tǒng)方面具有無限潛力。

鏈聞:

尹茂帆:理論上來說,任何許可協(xié)議都可以轉(zhuǎn)化成非許可型協(xié)議。因為傳統(tǒng)的共識協(xié)議(無論是 BFT 還是非 BFT),都可以通過共識本身來重新配置以增加 / 刪除結(jié)點。但是因為潛在的女巫攻擊,這種基于精確成員信息的協(xié)議,需要額外依賴一個 PoS 或者 PoW 的進入機制來開放系統(tǒng)。

關(guān)鍵詞: Libra LibraBFT HotStuff

精選 導(dǎo)讀

募資55億港元萬物云啟動招股 預(yù)計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當(dāng)日啟動招股,預(yù)計發(fā)行價介乎每股47 1港元至52 7港元,預(yù)計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17