以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

Libra BFT算法的美妙之處_BFT

Author:

Time:1900/1/1 0:00:00

首先,不熟悉BFT的人可以看看我之前的三篇文章:

《區塊鏈時代的拜占庭將軍們》《區塊鏈時代的拜占庭將軍們》《區塊鏈時代的拜占庭將軍——區塊鏈共識算法的發展趨勢》

其實我是在發完第三篇之后就看到了Hotstuff,當時非常猶豫要不要把這個算法加進共識算法的發展趨勢里面,后來放棄了,因為我覺得新算法層出不窮是加不完的,當然,我現在有點后悔這個決定——要不然現在就可以拿出來吹一吹了。另外一點,也是好巧不巧的,用BLS來降低BFT的消息復雜度這個事,正好是我擴容那一系列下一篇的內容。不過那些內容在這里我準備簡述一下,然后細節可以繼續關注我的專欄。

HotstuffBFT

Hotstuff這篇論文我記得是年初的時候發在arxiv上的,一作是一位康奈爾的中國博士,然后論文會正式發表在今年的PODC上。不過,在正式發表之前,就已經被LibraBFT用了而大火了一把。

這篇我們不具體說Hotstuff的細節,而是更說一些Hotstuff的思路和貢獻。當然,我覺得對于許多區塊鏈的從業者而言,具體的細節可能并沒有這些來的有趣,同時,直接看論文的時候,其實不如這樣的思路來的清晰。

大網絡中的BFT

這個其實不算是Hotstuff的貢獻,而是其實就像我在BFT第一篇就說的,是區塊鏈為BFT算法這個問題帶來的一個新的場景和挑戰。而這其中的第一個挑戰,就是把O(n^2)的消息復雜度降到O(n)。但是,本身這件事并不是Hotstuff的創新,因為基本上所有目前的BFT都有了O(n)的消息復雜度。

金色晨訊 | 美聯儲:穩定幣危機或破壞全球金融;Libra測試網已有7個部署節點:1.美聯儲:穩定幣危機或破壞全球金融;

2.阿里巴巴發言人:承包商雇傭的分包商與Lolli促成營銷項目,阿里巴巴不知情;

3.中興通訊總裁:引用區塊鏈等新技術讓網絡更加安全;

4.?FinCEN主任:美國將在加密貨幣領域嚴格執行AML法律;

5.Libra測試網已有7個部署節點 ,記錄超51000筆交易;

6.Bitfinex將提交動議以期撤銷針對其的集體訴訟;

7.微博限制發布同時帶有“區塊鏈”和“炒幣”字眼的微博;

8.BBC:俄羅斯FSB與WEX上失蹤的4.5億美元加密貨幣有關;

9.中國印鈔行業利用區塊鏈技術推出防偽解決方案;

10.全球加密貨幣總市值逼近2300億美元關口;

11.BitMEX Research:檢測到BCH上一個無效區塊 硬分叉已經產生;

12.澎湃新聞:上海互金整治辦牽頭開展對轄內虛擬貨幣交易所排摸整治;

13.印度政府推遲推出加密貨幣法案;

14.嘉楠路演PPT曝光:李佳軒張楠賡分別持股15.2%和15% 發行區間9到11美元;

15.中國平安計劃打造區塊鏈生態系統平臺;

16.內蒙古“虛擬貨幣”挖礦聯合檢查重點在“逃稅漏稅”而非清除礦場。[2019/11/16]

Hotstuff達到O(n)消息復雜度的方法其實已經是一個比較經典的方法了,就是采用聚合簽名,然后假定leader是誠實的讓leader去收集簽名。采用聚合簽名的方法其實從Byzcoin就有了,然后其實很多共識算法,不僅限于BFT算法,例如Dfinity,也在采用這類方法。這個方法我在后面的一篇擴容的部分會詳細寫到,在這里就不贅述了。

直擊烏鎮 | 騰訊區塊鏈蔡弋戈:Libra的發行其實是加密貨幣的底層資產之爭:金色財經現場報道,在今日舉行的第二屆世界區塊鏈大會·烏鎮現場,騰訊區塊鏈業務總經理蔡弋戈以《數字資產基礎設施的產業化道路思考》為主題進行分享。他表示,Libra的發行其實是加密貨幣的底層資產之爭,監管合規是其最大的問題。Libra從錢包實施、協會組建一直在去Facebook化,但還是比較中心化。Libra使用了加密貨幣的形式,會極大普及加密貨幣的使用,而不僅僅用于投資、投機。Libra以法幣為錨定,與供應鏈金融的數字資產JPMcoin以及DCEP在本質上是類似的。是法幣以加密數字化形式的延展,完全尊重法幣的發行體系。

蔡弋戈還表示,盡管現有7家機構推出其協會,但是仍有1600家候補。以FSB為首共識監管全球加密貨幣,目前僅Libra進入深度切磋階段,幸存即勝利。合規化道路雖然曲折,但殺不死的會變更強。[2019/11/8]

BFT與鏈的結合

傳統BFT達成共識的方法是兩輪共識,其中第一輪定序,第二輪commit。很多將BFT用于區塊鏈的項目仍舊采取「先做兩輪通信,然后達成共識,最后上鏈」的模式,而Hotstuff采用的是「先上鏈,在區塊中加入聚合簽名,于是,在n個區塊之后就可以視為通過了n輪的通信達成共識」。

于是,其實根本就不需要再去區分所謂prepare,commit這兩輪通信的區別了,只需要簡單地把每一輪節點的行為定義成「leader負責出塊和收集簽名」,然后「其他節點負責對leader出的塊進行簽名」,然后,只要收集到了2f1個簽名,leader就可以出一個塊,然后后面有n個塊就相當于達成了共識。

聽證會 | 扎克伯格:Libra交易免費是愿景,但將涉及到國際間規則:金色財經直播報道,在今日聽證會上,馬薩諸塞州議員向扎克伯格提問,如果Libra作為全球化穩定幣全面實施,其交易轉賬是否是免費的?終究Facebook是一家商業公司,能否做到不收取任何收費費用?扎克伯格猶豫了一下并表示,這是我們的愿景,但Libra真正實施將涉及到國際間規則。并未給出yes or no的明確回答。[2019/10/24]

這點的好處在于,O(n)的通信復雜度可以讓誠實節點知道「我知道消息m將成為共識」,但是必須要O(n^2)的通信才能讓每個誠實節點都確信「我還知道所有誠實節點也知道消息m是共識」,而通過leader收集簽名并出塊這種方法,當所有人看到區塊b的時候,誠實節點會知道「我知道b是共識」,而在看到b后一塊b'的時候,誠實節點等于知道了「所有簽名的人也都知道了b是共識」。于是,每次出塊的時候都只需要O(n)的消息復雜度,但是,在一個誠實leader和聚合簽名的幫助下,通過兩輪的O(n)消息復雜度,我們達到了之前O(n^2)的效果。

并且,這個事情和b'的共識的第一輪是同步進行的。換句話說,就是把每一輪BFT的過程也鏈起來之后,還把通信復雜度減少了一半。這一點,雖然之前也有類似的想法,但是我個人覺得Hotstuff是第一個把這個思路確切地落在算法里的,這點我覺得非常有趣,同時,也是未來的一個方向。

聽證會 | 扎克伯格:若Libra協會投票在美國監管批準前推行Libra,Facebook將被迫退出:金色財經直播報道,在今日聽證會上,密歇根州議員Huizenga提問稱,你說Facebook在獲得美國全面監管批準前不會在任何地區發行,如果Libra協會投票決定無視這一點推行Libra,Facebook會作何決定?扎克伯格表示,如果Libra協會21個成員投票后決定在美國監管批準前推行Libra,那么我想真的到了那個時候Facebook將被迫退出協會。此外,Huizenga表示,在我認為,Facebook是一個工具,加密貨幣也是一個工具,就像其他技術一樣,我們可以就把其看作像汽車、刀具、武器一樣,技術和工具的誕生是為了為人類社會帶來益處,但就像剛才議員提到的,伴隨著這些技術的背后我們面臨著很多非法活動和恐怖主義危機,我很想就這個問題繼續我們的談話,但時間已經用盡。[2019/10/23]

其實這個方法是從兩個方向逐漸靠攏的——第一是從BFT的方向,大家逐漸意識到其實鏈式結構可以省掉BFT中的很多事情,例如其實我們不需要定序,而且對于后面一個區塊達成共識實際上就相當于對于前面的區塊進行了共識,而很多BFT算法,例如:avalanche都開始注意到了這個事;而從區塊鏈共識算法,尤其是追求finality的方向來看,人們發現其實一個區塊后面跟上2f1個節點的出塊,就相當于達成了BFT,而如果通過多個人對于這些區塊簽名可以加速這個過程,像這一點,也在例如Polkadots這類的算法中有所體現。而Hotstuff可以說是這兩種思路到了這個階段最簡潔的融合。

動態 | Calibra或無法在印度和中國等國可用:據TechCrunch報道,Facebook的數字錢包Calibra將不會出現在其一些最大的市場上,包括印度。一位發言人告表示,Libra區塊鏈將是全球性的,但將由托管錢包提供商確定其將在何處運營。 Calibra將不會在受美國制裁的國家或禁止加密貨幣的國家或地區使用。此外,Calibra將無法在中國、朝鮮和伊朗上市。據悉,本月早些時候,印度立法者提出了嚴厲的新規定,處理加密貨幣的公民將面臨10年監禁。[2019/6/20]

BFT的快速響應

大網絡BFT算法在實際應用中最復雜的問題實際上是viewchange,這點我聽不止一個采用PBFT算法的人說過了。這是因為實際上在PBFT以及所有傳統BFT其實都是基于傳統的拜占庭將軍問題的,也就是說,我們會先假設leader是誠實的,然后以他為主導達成共識。

于是,viewchange是個不得已的事情,需要所有的誠實節點先timeout,然后對于viewchange這件事達成共識,然后,他們把這個共識告訴新的leader,新的leader還要把這個消息廣播出去宣布viewchange,于是,這個viewchange的cost是O(n^3)。

這其中有兩個問題:一個是viewchange的消息復雜度,一個是viewchange必須要等到誠實節點對于viewchange達成共識之后才會發生。

Hotstuff的一個非常有趣的新意在于把傳統BFT的兩輪共識變成了三輪,然后借此把viewchange的cost變成了O(n)。這個可以這么理解:傳統的viewchange是O(n^2)消息復雜度,也就是說,所有的誠實節點在viewchange之前會確認所有的誠實節點確實都進行到下一個view,而在Hotstuff中,viewchange不需要等「我知道其他人也知道viewchange了」這件事就可以進行,于是,消息復雜度就降到了O(n),也就是說,只要誠實節點的內置timeout到了,那么就可以發viewchange給新的leader開始viewchange。

為什么需要把兩輪變成三輪呢?因為之前BFT鏈式結構的簡化中,嚴格來說這兩個通信復雜度為O(n)的區塊和PBFTO(n^2)消息復雜度的prepare和commit還是有區別的——當有兩個區塊連起來的時候,兩邊是相當的,但是其實每一個區塊的消息復雜度都只有O(n),并不說明所有誠實節點都知道「所有誠實節點都會達成共識」。

而同樣,viewchange的消息復雜度也只有O(n),于是如果一條消息剛有第一個區塊的時候viewchange了,那么誠實節點會對于第一個區塊是否達成了共識產生不一致,因為prepare和viewchange看起來都很有道理。

而把兩輪變成三輪之后我們就解決了這個問題。因為我們可以規定任何兩輪之后的東西才是共識,而如果沒有到兩輪就不算——對于prepare和viewchange都是如此。

于是,如果viewchange發生在第一輪之后,那么我們不認為之前prepare的是正確的,而viewchange也同理。相反,如果在第二輪之后發生viewchange,那么由于已經經過了兩輪,所以這條消息已經經過了定序,即便在viewchange之后也會最終達成共識。

所以總體來說,Hotstuff的核心思路如下:

采用聚合簽名的結構把每一輪的消息復雜度變成O(n);

用鏈式結構把O(n^2)的共識變成了兩輪O(n)消息復雜度的區塊提交;

在這種結構下,把viewchange的消息復雜度降到O(n),然后為了防止viewchange造成的不一致,把兩輪區塊提交變成了三輪;

整體下來,雖然前兩條也很有趣,但是最核心的優點是viewchange變得更容易了,無論是時長,消息復雜度,還是對于下一任leader的工作壓力。雖然代價是需要多一輪通信,但是這樣的延遲,無論是對于世紀中viewchange的可能延遲,還是對于習慣了區塊鏈共識算法延遲的我們而言,其實都不值一提。

LibraBFT

LibraBFT基本上就是Hotstuff,只不過在這之上做了兩點改動。

其中一點是將Hotstuff用于區塊鏈時候加上了現實考量的機制,例如引入了epoch的概念,允許共識節點替換,同時加上激勵機制和懲罰機制…

另外一點是同步性上的改進:

Hotstuff是在partialsynchrony網絡中生效的,這已經算是一個非常強的異步假設了,它和PBFT一樣,但是現在很多的區塊鏈算法都已經在用同步假設了。

而Hotstuff里的輪其實概念更像是PBFT的幾個步驟,也就是說實際上這個輪不是一個時間概念,而是和PBFT一樣,是上一個步驟結束之后自動進入的。換句話說,一個區塊出現有可能很快,但也有可能在ViewChange的時候要等很久。于是呢,LibraBFT使用了Pacemaker機制,讓每一輪的時間盡量有一個上限。

以上就是關于LibraBFT的簡介了。在我看來,Hotstuff是一個非常有趣,甚至有可能是最近對于未來區塊鏈的共識算法最有啟發性的一個算法。而Libra采用這個算法其實也很有道理,因為Hotstuff不僅有現在大部分BFT的高輸出,而且解決了大部分通行BFT的viewchange的問題,而在實踐中這卻是是非常影響BFT算法在區塊鏈環境中使用的問題。

當然,對于Libra本身,我的意見都在這個答案里了:《如何評價Facebook發布的數字貨幣Libra?》

反正,對于Facebook而言,這是個進可威脅金融業,統治區塊鏈領域,甚至和主流貨幣扳手腕;退可造噱頭,蹭熱點,漲股價,最后搞個Facebook版支付寶或者微信支付的項目,甚至,即便它被相關機構叫停,它還是能洗白之前隱私盜竊犯的形象,搖身一變變成強權和守舊的挑戰者,對于Facebook而言,它幾乎一定會成功,只不過是程度問題。

但是,無論如何,它都會對于區塊鏈領域造成深遠的影響,不是因為它做的事,不是因為它的技術,不是因為它可能的成就,而是因為它是Facebook。

因此,在以上這個意見里我沒有提到的是,我覺得無論成功與否,它對于區塊鏈整個行業造成的影響,都未必是正面的——如果它取得了巨大的成功了,以現在的路線,我們可以看到的是區塊鏈對于互聯網巨頭挑戰的失敗,以及區塊鏈領域再次被大鱷占領;如果它沒有取得巨大的成功而只是一個成功的噱頭,我們會看到其他的大鱷們站臺的無數跟風的噱頭出現,再割完一圈韭菜后翩翩離場,留下一個不再有任何生機的區塊鏈行業。

Tags:BFTLIBVIEWVIEbft幣多少錢一個LibertyBscview

火幣APP下載
讓“聽得見炮火的士兵”做決定:你也許低估了幣安 以及DEX_DEX

最近CZ有兩條發言,值得很多人關注。一條是在Facebook發布穩定幣Libra白皮書之后,有人整理了“Facebook發幣,大佬怎么說”,搜集了馬化騰、郎咸平、鮑威爾、孫宇晨、CZ、BM等大V.

1900/1/1 0:00:00
6.26午間行情:BTC突破12000美元大關 LTC走勢趨弱_比特幣

文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
旺鏈科技劉濤:來自埃森哲的區塊鏈革新者_區塊鏈

溯源是當下區塊鏈技術應用的一大場景已是行業共識,除了成為創業者青睞的領域,阿里、京東等也紛紛將區塊鏈溯源應用在自己的電商體系中.

1900/1/1 0:00:00
解讀Algorand:一場持續五年的眾籌——區塊鏈周報0623_LGO

導讀 北京時間6月19日,引人注目的明星公鏈項目Algorand主網正式啟動,首輪Algorand通證拍賣也于當日18:00開始.

1900/1/1 0:00:00
貨幣互聯網的超級實驗:Facebook Libra 解析_LIBRA

應該以怎樣的態度面對libra的沖擊在過去的一周內,在全球范圍內最具有沖擊力的事件,莫過于Libra白皮書的公布,以及該白皮書所反映的Libra的構想、實施和路徑.

1900/1/1 0:00:00
Tokenview:USDT的印鈔和發行對幣價的影響 | 火星號首發_SDT

上一篇文章里我們聊了USDT鏈上流通和發行的基礎概念,但僅僅解釋這些概念,并不足以理解USDT對市場的影響.

1900/1/1 0:00:00
ads