編者按:本文來自鏈捕手,作者:本體研究院,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當前主流的共識算法
動態 | Telegram提出共識算法Catchain 或可達BFT解決方案理論極限:據Cointelegraph消息,Telegram聯合創始人Nikolai Durov在最新發表的一篇論文中詳細介紹了Telegram開放網絡共識機制Catchain。Catchain所呈現的解決方案是拜占庭容錯(BFT共識機制)權益證明(PoS)算法,與NEO或Cosmos使用的算法類似。只要三分之一的節點沒有惡意,Catchain就可以正常工作,這相當于BFT解決方案的理論極限。[2020/2/5]
在區塊鏈發展初期,主流區塊鏈網絡都是基于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
聲音 | ETCLabs主管:對于公鏈 PoW是最好的共識算法:ETCLabs主管Darin Kotalik認為,不管PoW還是PoS,不同的共識沒有高低之分,重點在于你想要解決什么樣的問題。對于公鏈,PoW是最好的共識算法,畢竟它已經在比特幣上運行了10年,得到了驗證。DPoS中心化程度比較高,可能相對來說危險一些。[2019/8/25]
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共識算法的發展趨勢
聲音 | Ripple首席技術官:XRP Ledger的共識算法更適合交叉貨幣系統:據ambcrypto報道,Ripple公司首席技術官David Schwartz表示,XRP Ledger首先建立了“聯邦拜占庭協議模型”,與BTC的工作量證明(PoW)有很大不同,前者適合于交叉加密貨幣系統。由于交易成本、交易速度和可擴展性等因素,XRP Ledger比BTC的區塊鏈優越。XRP Ledger可以在不到4秒的時間內處理一筆交易,而BTC需要幾分鐘到幾個小時才能完成一筆交易。[2019/3/24]
總體來看,目前主流共識算法逐漸由PoW轉向PoS共識算法,并且采用VRF隨機選擇節點的方式實現算法的擴展性,即使Ethereum后續的寧靜版本,也將是基于PoS的共識算法,并在其信標鏈中實現VRF隨機選擇驗證者節點。另外,Avalanche共識算法也是采用隨機選擇節點的方式實現區塊鏈共識算法的擴展性,不過目前還沒有上線的區塊鏈采用此共識算法。隨著區塊鏈社區對區塊鏈共識算法的研究,技術社區已經發現在Internet規模的網絡中可達到的性能上限不僅取決于共識算法的性能參數,更取決于在此規模的網絡中完成消息傳播的時間延遲等物理上限。因此,主流區塊鏈的研究團隊都將下一步區塊鏈網絡性能擴展方向投向了分片技術、狀態通道和二層網絡等方向。
聲音 | NEO聯合創始人:NEO共識算法 dBFT 即將完成:NEO聯合創始人Erik Zhang發推表示,經過半年的開發,改進后的NEO共識算法 dBFT 即將完成。經過這一改進,用戶只需等待一個15秒的確認,來確保交易的不可逆性,并能防止雙花,這非常適合金融應用。[2019/1/3]
金色財經獨家分析 EOS的DPOS共識算法變雙刃劍:據IMEOS 報道,BM在官方電報群日常答疑中,回答對于開發多鏈者的建議:劃分智能合約以盡可能減少跨鏈通訊。必要時,交易所在每條鏈上都可以有一個市場。同時官方公布Dawn3.0公共測試網預計在5月4日發布,目前有一些bug需要修正。金色財經獨家分析,隨著Dawn3.0公共測試網的發布日期臨近,關于EOS的爭論日益增加,DPOS共識算法號稱將來可以支持每秒百萬筆交易,號稱將顛覆以太坊。但由于EOS只有21個主節點,去中心化程度有限,因此EOS也招來了大量的非議。以太坊創始人V神就曾炮轟EOS,他在個人博客稱,,“區塊鏈、加密貨幣所創建時的愿景,如今已經遭到了嚴重破壞。當初這些技術出現,就是為了去規避、逾越體制中的某些無法克服的缺陷。而如今,人類社會體制中我們所深惡痛絕的舞弊,再次不可避免的在它們的身上重現了。”V神將它歸咎于EOS的共識機制DPOS,天然導致財閥統治。到底EOS將顛覆以太坊,還是淪為“財閥統治”的工具,等主網上線之后才能揭曉。[2018/4/8]
“每周我們都要失去300名美國人,其中有90%來自南部邊境。”1月11日,美國總統特朗普發布新推特說道。也許你會困惑這句話的意思。這里的“失去”大概指的是,而不是綁架.
1900/1/1 0:00:00編者按:本文來自鏈聞ChainNews,|作者:李畫,星球日報經授權發布。「ProgPoW」是「ProgrammaticProof-of-Work」的縮寫,簡單的說,是一種Ethash算法經過G.
1900/1/1 0:00:00編者按:本文來自以太坊愛好者,翻譯校對:Ray&阿劍,作者:AodhganGleeson,Odaily星球日報經授權轉載.
1900/1/1 0:00:00文|谷燕西四個月前我寫了兩篇文章,分析了美國的STO市場結構以及海外項目到美國STO市場融資的可行性.
1900/1/1 0:00:00作者|秦曉峰編輯|盧曉明一、整體概述本周,以太坊上出現5筆高額手續費,最高的一筆達到2100個ETH,這筆手續費屬于誰、該怎么分配,至今沒有答案.
1900/1/1 0:00:00編者按:本文來自藍狐筆記,作者:MatusSteis,來源于medium,由“藍狐筆記”公眾號社群“Lu”翻譯。Odaily星球日報經授權轉載。區塊鏈的治理模式是區塊鏈進化過程中的重要組成部分.
1900/1/1 0:00:00