編者按:本文來自鏈捕手,作者:本體研究院,Odaily星球日報經授權轉載。
共識算法是近年來分布式系統研究的熱點,也是區塊鏈技術的核心要素。如何理解共識算法重要性及評價體系?如何認清當前主流的共識算法及背后發展脈絡?接下來共識算法發展的趨勢與阻礙又是什么?01共識算法及評價體系
共識算法主要是解決分布式系統中多個節點之間對某個狀態達成一致性結果的問題。分布式系統都是由多個服務節點共同完成對事務的處理,分布式系統中多個副本對外呈現的數據狀態需要保持一致性。但是由于節點的不可靠性和節點間通訊的不穩定性,甚至節點作惡偽造信息進行惡意響應,節點之間就存在數據狀態不一致性的問題。通過共識算法,可以實現將多個不可靠的單獨節點組建成一個可靠的分布式系統,實現數據狀態的一致性,提高系統的可靠性。區塊鏈系統本身是一個超大規模的分布式系統,但又與傳統的分布式系統存在明顯區別。區塊鏈系統建立在去中心化的點對點網絡基礎之上,在整個系統中沒有中央權威,并由共識算法實現在分散的節點間對交易的處理順序達成一致,這是共識算法在區塊鏈系統中起到的最主要作用。另外,與企業分布式系統不同,區塊鏈系統中的共識算法還承擔著區塊鏈系統中激勵模型和治理模型中的部分功能,包括每個區塊中對哪些礦工進行激勵發放、網絡中所有交易手續費的結算和分配、區塊鏈網絡共識周期的切換等。共識算法根據容錯能力不同,即在考慮節點故障不響應的情況下,再考慮節點是否會偽造信息進行惡意響應,可以分為CFT類和BFT類共識算法。CFT共識算法只保證分布式系統中節點發生宕機錯誤時整個分布式系統的可靠性,而當系統中節點違反共識協議的時候將無法保障分布式系統的可靠性,因此CFT共識算法目前主要應用在企業內部的封閉式分布式系統中,目前流行的CFT共識算法主要有Paxos算法及其衍生的Raft共識算法。采用BFT共識算法的分布式系統,即使系統中的節點發生了任意類型的錯誤,只要發生錯誤的節點少于一定比例,整個系統的可靠性就可以保證。因此,在開放式分布式系統中,比如區塊鏈網絡,必須采用BFT共識算法。在區塊鏈網絡發展前,BFT共識算法主要為PBFT共識算法,目前部分聯盟鏈采用PBFT共識算法。由于公有鏈的開放性,任意節點都可以隨時參與和退出網絡并都有作惡的可能,近兩年公有鏈的快速發展也帶動了BFT共識算法的巨大進步。另外,因為共識算法都建立在底層的網絡模型基礎上,所以從網絡同步模型的角度來看,共識算法可以分為三種,即同步共識算法,半同步共識算法,和異步共識算法。同步共識算法要求網絡中任一消息能夠在已知的限定時間內到達所有的共識節點,因此主要應用在限定規模的網絡環境中,大多數聯盟鏈采用同步共識算法。異步共識算法對于消息在網絡中的傳播延遲沒有任何限制,消息可以在無限長時間后才能發送到其他共識節點,由于FLP不可能定理,異步共識算法無法確定性保證共識終局,因此幾乎沒有高效的全異步共識算法,即使Bitcoin的PoW算法也是基于同步網絡保證一致性,基于異步網絡保證可用性。半同步共識算法在前兩者之間做了權衡,要求網絡中消息某限定時間后到達所有共識節點的的概率與時間的關系是已知的,目前主流的區塊鏈共識算法都是基于半同步的網絡模型,即半同步共識算法。評價一個區塊鏈共識算法的優劣,可以從以下四個方面進行,即容錯性能、終局性性能、擴展性以及網絡模型性能。容錯性能:指共識算法的容錯能力,比如Raft只能支持節點故障錯誤。而在區塊鏈中,特別公有鏈中,由于節點間存在利益博弈,同時又是一個非中心化的網絡狀態,其共識算法必須支持節點作惡的容錯,所以區塊鏈的共識算法必然是BFT算法。終局性性能:指區塊鏈網絡對一個候選區塊完成終局一致性所需要的時間,這對于面向用戶的DApp應用是非常重要的參數。擴展性:指隨著區塊鏈網絡節點數目與共識算法性能的相關關系,比如PBFT算法隨著節點數目增加,完成一輪共識需要在網絡中傳播的消息數目呈平方比例增加,因此PBFT算法的天然特性無法支持大規模網絡。共識算法的網絡模型性能對其容錯性能和終局性能都有很大的影響。在區塊鏈大規模網絡條件下,同步共識算法要求所有節點在規定時間內響應對其他節點的消息,否則將被認為是故障節點,因此受網絡波動影響較大,從而進一步導致算法容錯性能的降低;而由于FLP不可能定理,異步共識算法無法給出確定的終局性性能,所以當前主流區塊鏈共識算法都是基于半同步模型。02當前主流的共識算法
動態 | 火幣集團和 Nervos CKB 團隊聯合開發的火幣公鏈將采用 Overlord 共識算法:據了解,火幣公鏈將于近期推出測試網,其采用的 Overlord 共識算法是當前最先進的共識算法之一。
Overlord 采用鏈式確認,并行處理出塊和投票,徹底解耦了狀態計算與共識,出塊無需等待。數據處理能力經過實測可達數萬 TPS,在同等情況下大幅領先于使用 Cosmos SDK 的 Tendermint 共識算法。
Overlord 共識算法由 Nervos 團隊原創,已于去年 10 月份開源。火幣公鏈將會是第一個采用 Overlord 共識算法的公鏈。[2020/2/12]
在區塊鏈發展初期,主流區塊鏈網絡都是基于PoW共識算法,包括Bitcoin,Ethereum,Litecoin,Zcash等。由于PoW存在挖礦的資源浪費問題,2017年后基于PoS的共識算法研究得到了迅猛的發展,并在2018年各種基于PoS共識算法的公有鏈都逐步上線。對于當前主流共識算法可以采用如下幾種方式分類:基于挖礦方式分類:1)PoW:所有節點通過解決某個計算難題參與共識。包括:Bitcoin,Ethereum,Litecoin2)PoS:所有節點通過質押代幣的方式參與共識。包括:Ethereum-PoS,Tendermint,Algorand,EOSDPoS,DFINITY,VBFT基于終局性分類:1)GHOST:PoW,Ethereum-PoS2)BFT:Tendermint,EOSDPoS,Algorand,DFINITY,VBFT基于節點選擇方式:1)所有節點參與:PoW,EthereumPoS,Tendermint2)隨機選擇部分節點參與:Algorand,Dfinity,VBFT
聲音 | 數字資產研究院郭宇:區塊鏈的信任需要結合共識算法、零知識證明和形式化驗證:12月22日,數字資產與區塊鏈年會(2019)暨中國投資協會數字資產研究中心成立大會在京舉辦。數字資產研究院學術與技術委員郭宇演講中表示,區塊鏈網絡的吞吐率低下的核心原因是網絡寬帶限制,提高出塊速度是此前比較流行的解決方案,但這種做法會導致區塊鏈分叉,甚至可能威脅區塊鏈系統安全。郭宇認為,要在不降低安全性的前提下,提高區塊鏈吞吐率的解決方案是零知識證明。郭宇指出,區塊鏈系統的可信實際上包括三方面:共識算法提供區塊鏈協議信任,零知識證明提供數據信息和計算完整性,形式化驗證保證計算邏輯可信。區塊鏈的信任需要共識算法、零知識證明和形式化驗證三者的結合。(新浪財經)[2019/12/23]
Table1:主流共識算法比較從上述的分類過程中,我們可以看出當前區塊鏈共識算法在性能、擴展性、去中心化等方向上的演進過程。在Bitcoin創建了區塊鏈技術時,創建了PoW共識算法,通過計算哈希難題和最長鏈規則,實現去中心化的共識算法。隨著Bitcoin網絡規模的增大,后續區塊在網絡中傳播延遲的增加,基于最長鏈規則造成了大量偽分叉,極大的浪費了網絡中的算力和PoW共識算法的性能。針對于偽分叉的問題,區塊鏈社區后續提出了通過DAG方式擴展PoW共識算法,比如PHANTOM,Conflux等。但是針對于PoW的算力浪費的問題,區塊鏈社區后續更多轉向了基于PoS的共識算法。Ethereum也計劃逐漸減少PoW激勵,直至最終完全取消對PoW的共識激勵,完成到PoS共識算法的切換。同時,也有大多數新興區塊鏈平臺都采用了PoS的共識方式,其中最著名為EOS的DPoS共識算法。與此同時,隨著區塊鏈應用的增加,區塊鏈共識算法的擴展性問題也日益凸顯。圖靈獎獲得者Micali教授提出了Algorand算法,提出基于VRF隨機選擇部分節點參與共識的方式,通過BFT的方式極大降低了共識算法的消息復雜度,在保證去中心化安全性的同時實現共識算法的可擴展性。在此基礎之上,VBFT等共識算法增加了基于PoS治理機制,并基于此解決了隨機節點選擇的抽樣陷阱問題,在保證算法擴展性的同時實現優秀的終局性性能。混合共識算法也值得介紹,由于單一共識算法由于其本身具有的局限性,例如PoW共識速度偏慢等,區塊鏈研究者嘗試將兩種或者多種共識算法融合起來,取長補短,來達到更好的共識特性。一般來說,混合共識有PoW+PoS,PoW+BFT以及PoS+BFT等種類。可以看到新一代的共識算法,比如Algorand,DFINITY,BUMO的BUFirework以及Ontology的VBFT,都屬于混合共識算法。03共識算法的發展趨勢
聲音 | 螞蟻區塊鏈閆鶯:區塊鏈性能的瓶頸在于合約高效執行,而非共識算法:據巴比特消息,6月1日,在中國區塊鏈技術與應用高峰論壇上。螞蟻區塊鏈技術總監、阿里達摩院區塊鏈實驗室資深技術專家閆鶯發表演講稱,區塊鏈性能的瓶頸不在于共識算法,而在于合約高效執行,在于IO。為了突破IO瓶頸,螞蟻區塊鏈研發了新型的存儲架構。該架構的優點是:一是創新的數據模型,讓區塊鏈合約應用開發更自然;二是將存儲效率提升6-8倍;三是分布式的存儲架構,具備橫向和縱向擴展能力;四是冷熱數據分層處理,存儲成本更加優化。[2019/6/1]
總體來看,目前主流共識算法逐漸由PoW轉向PoS共識算法,并且采用VRF隨機選擇節點的方式實現算法的擴展性,即使Ethereum后續的寧靜版本,也將是基于PoS的共識算法,并在其信標鏈中實現VRF隨機選擇驗證者節點。另外,Avalanche共識算法也是采用隨機選擇節點的方式實現區塊鏈共識算法的擴展性,不過目前還沒有上線的區塊鏈采用此共識算法。隨著區塊鏈社區對區塊鏈共識算法的研究,技術社區已經發現在Internet規模的網絡中可達到的性能上限不僅取決于共識算法的性能參數,更取決于在此規模的網絡中完成消息傳播的時間延遲等物理上限。因此,主流區塊鏈的研究團隊都將下一步區塊鏈網絡性能擴展方向投向了分片技術、狀態通道和二層網絡等方向。
現場 | 卿蘇德:共識算法正在向分層混合的趨勢發展:金色財經10月9日訊,中國信息通信研究院區塊鏈主管、可信區塊鏈推進計劃辦公室主任卿蘇德在今日舉辦的2018可信區塊鏈峰會上表示,共識算法正在向分層混合的趨勢發展。他介紹,分層共識是一種新的共識思路,將共識過程拆分成多步驟,以不同的共識算法組合來選取打包節點和驗證節點,這種思路使共識算法靈活多變,可定制性好,適應性更強。[2018/10/9]
VBFT共識算法7節點測試TPS達5300 公鏈中較高:開源中國技術社區發布Ontology VBFT共識算法性能測試報告。報告顯示,在沒有加入分片、并行處理和FPGA硬件加速的前提下,使用7個節點測試,TPS達到了5300以上,在公鏈中處于較高水準。[2018/6/14]
這是穩定幣引起的第二波熱潮了,去年年中一波,今年年初一波,但是用心的人會發現,這個時候的“穩定幣”已經跟去年很不一樣了。01什么是穩定幣?與法幣的兌換比例保持相對穩定.
1900/1/1 0:00:00一、本周大事記 公投上線運行;EOSIO發布新版本,性能提升35%;EOS側鏈新項目——BOS主網于1月17日正式激活.
1900/1/1 0:00:00本文來自:鏈內參,原作者:MariaStankevich,編譯:內參君,文章來源:dailyhodl,Odaily星球日報經授權轉載.
1900/1/1 0:00:00編者按:本文來自深鏈Deepchain(ID:deepchainvip),作者:門人,Odaily星球日報經授權轉載.
1900/1/1 0:00:00編者按:本文來自白話區塊鏈,作者:Frank,Odaily星球日報經授權轉載。要說2019年2月圈內最火的事件,估計閃電網絡的“火炬運動”當仁不讓,拔得頭籌.
1900/1/1 0:00:00作者|吳遂心編輯|盧曉明提到數字貨幣錢包,大家應該都不陌生。數字貨幣錢包是用于存儲數字資產的工具,目前市面上錢包種類豐富,按是否時刻在線分為冷錢包和熱錢包兩種,就安全性而言,非時刻在線的硬件冷錢.
1900/1/1 0:00:00