編者按:本文來自鏈捕手,作者:本體研究院,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
動態 | Blockstack CEO正尋求新共識算法Stacking的技術和經濟層面反饋:Blockstack CEO Muneeb Ali在Blockstack公開論壇中回復社區成員就全新共識算法Stacking的相關問題,并表示希望就全新共識算法Stacking得到社區開發者的反饋,反饋主要集中在共識算法技術層面和經濟激勵層面兩個方面。此前消息,Blockstack正在準備對共識算法進行重大升級,可行的話,預計在今年第二季度推出。據悉,Blockstacks目前使用的機制是燃燒證明(PoB),PoB的挖礦過程是,Stacks礦工需要去燃燒一種底層貨幣(比特幣)來參與挖礦。在預計的全新共識Stacking 中,Blockstack可能會引入PoS的概念,形成PoW+PoS的新共識。(區塊律動)[2020/1/16]
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共識算法的發展趨勢
聲音 | NEO創始人:區塊的不確定性、安全漏洞以及51%攻擊等是區塊鏈共識算法必須面對和解決的問題:NEO創始人張錚文表示,最近BSV上發生的異常交易和區塊回滾事件再次加劇了他對PoW共識機制的擔憂。 PoW的許多方面已經被證明是長期不可持續的,并且在商業應用場景中可能是災難性的。巨大的能源浪費(在中國,挖礦被認為是一種過時的做法),區塊的不確定性、安全漏洞以及51%攻擊,這些都是區塊鏈共識算法必須面對和解決的問題。[2019/4/20]
總體來看,目前主流共識算法逐漸由PoW轉向PoS共識算法,并且采用VRF隨機選擇節點的方式實現算法的擴展性,即使Ethereum后續的寧靜版本,也將是基于PoS的共識算法,并在其信標鏈中實現VRF隨機選擇驗證者節點。另外,Avalanche共識算法也是采用隨機選擇節點的方式實現區塊鏈共識算法的擴展性,不過目前還沒有上線的區塊鏈采用此共識算法。隨著區塊鏈社區對區塊鏈共識算法的研究,技術社區已經發現在Internet規模的網絡中可達到的性能上限不僅取決于共識算法的性能參數,更取決于在此規模的網絡中完成消息傳播的時間延遲等物理上限。因此,主流區塊鏈的研究團隊都將下一步區塊鏈網絡性能擴展方向投向了分片技術、狀態通道和二層網絡等方向。
現場 | 卿蘇德:共識算法正在向分層混合的趨勢發展:金色財經10月9日訊,中國信息通信研究院區塊鏈主管、可信區塊鏈推進計劃辦公室主任卿蘇德在今日舉辦的2018可信區塊鏈峰會上表示,共識算法正在向分層混合的趨勢發展。他介紹,分層共識是一種新的共識思路,將共識過程拆分成多步驟,以不同的共識算法組合來選取打包節點和驗證節點,這種思路使共識算法靈活多變,可定制性好,適應性更強。[2018/10/9]
金色財經獨家分析 螞蟻區塊鏈平臺采用PBFT共識算法:今天,在全球區塊鏈(杭州)高峰論壇上,螞蟻區塊鏈平臺進行講解時我們了解到,螞蟻金服采用的是PBFT共識算法,金色財經對此進行分析。PBFT共識算法目前不只是螞蟻區塊鏈平臺在使用,央行所推出的區塊鏈數字票據交易平臺也是使用的優化后的PBFT共識算法。據了解,PBFT的機制要求是一個封閉的集群,兩兩節點需要進行通信,通信量是O(n^2)(通過優化可以減少通信量),目前在實際應用中技術非常成熟,效果比較好,這種通過投票來達成共識的機制可以很好的解決包括分叉等問題的同時提升效率,其缺點是PBFT共識算法在網絡不穩定的情況下有很高的延遲,螞蟻區塊鏈平臺采用此共識算法目前算是較為穩妥的算法。[2018/3/26]
前言:本文主要闡述當前以太坊的具體運作原理,有助于我們理解以太坊背后的各種概念和操作,適合初學者閱讀.
1900/1/1 0:00:00編者按:本文來自:一本區塊鏈,作者:比薩,Odaily星球日報經授權轉載。發票,已經成為區塊鏈在國內落地最快的領域之一。2018年8月,深圳國貿旋轉餐廳開出全國第一張區塊鏈發票.
1900/1/1 0:00:002018年12月挖礦市場收益報告本期報告重點內容:幣價:大盤跌幅4%,十大幣種平均跌幅9%全網算力:十大幣種算力平均變化為-9%,算力跌幅趨緩礦機成本:阿瓦隆礦機跌幅領先.
1900/1/1 0:00:003月4日,據TheBlock報道,星巴克在即將推出的加密資產交易平臺Bakkt中持有“重要股權”.
1900/1/1 0:00:00本文作者:星云研究院資深研究院湯載陽博士。華中科技大學計算機博士,日本會津大學和法國南巴黎國立電信學院訪問學者,研究方向包括分布式系統、無線網絡和區塊鏈共識,在TPDS、ICDCS等頂級期刊會議.
1900/1/1 0:00:00頭條 黑客在暗網出售個人信息,聲稱來源于大型交易所據CCN消息,在一個名為“Dread”的暗網市場上,賣家“ExploitDOT”發布廣告出售個人信息.
1900/1/1 0:00:00