編者按:本文來自鏈捕手,作者:本體研究院,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當前主流的共識算法
Cyber Capital創始人:Solana的POH共識算法存在設計缺陷:12月11日消息,Cyber Capital 創始人兼 CIO Justin Bons 發推稱,Solana 昨天再次遭到 DDoS 攻擊,Solana 為了速度犧牲了去中心化和安全性,他們選擇歷史證明共識算法 POH 存在基本設計缺陷,因為 POH 會導致確定性區塊創建。此前大多數公鏈沒有選擇 POH 共識是有充分理由的,只有非確定性區塊創建才能增加了安全性并抵制審查,因為沒有人可以預測誰會創建下一個區塊。而在 Solana 中,可以預測并因此攻擊下一個內聯區塊生產者,比如黑客能攻擊接下來的 100 個驗證者,而不是攻擊整個網絡,無論規模大小,這種攻擊都有效,從而嚴重降低了 SOL 安全性和抵御 DDoS 攻擊的能力,而且這種攻擊還可以與 51% 攻擊相結合,允許攻擊者通過攻擊其他 Stake Holder 來暫時獲得對網絡的控制權。此外,如果與 Turbine 結合還會導致更可怕的后果,因為 Turbine 將交易內存池劃分為驗證者小組,這意味著使用 PoH,你可以通過攻擊下一個內聯分組中的特定驗證器來審查交易。[2021/12/11 7:32:21]
在區塊鏈發展初期,主流區塊鏈網絡都是基于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
動態 | 火幣集團和 Nervos CKB 團隊聯合開發的火幣公鏈將采用 Overlord 共識算法:據了解,火幣公鏈將于近期推出測試網,其采用的 Overlord 共識算法是當前最先進的共識算法之一。
Overlord 采用鏈式確認,并行處理出塊和投票,徹底解耦了狀態計算與共識,出塊無需等待。數據處理能力經過實測可達數萬 TPS,在同等情況下大幅領先于使用 Cosmos SDK 的 Tendermint 共識算法。
Overlord 共識算法由 Nervos 團隊原創,已于去年 10 月份開源。火幣公鏈將會是第一個采用 Overlord 共識算法的公鏈。[2020/2/12]
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共識算法的發展趨勢
分析 | MORECOIN研究院:聯盟鏈的技術壁壘在于數據而不是共識算法:MORECOIN研究院最新的報告稱,以比特幣為代表的公鏈技術核心是在極端環境下創造信任,即允許參與的節點不互信甚至有惡意節點的存在。聯盟鏈由于是在相對可信的商業環境,其本質類似一個權限靈活的分布式數據庫。聯盟鏈與傳統數據庫最大的區別是數據:
1. 散列算法對數據進行特征處理,形成特定的數據結構;
2. 數據存儲通過聯盟場景和哈希函數形成環環相扣的“鏈”條,保證數據的可追溯、不可篡改;
3. 非對稱加密、多方安全計算、零知識證明、環簽名、差別隱私等密碼學算法保證用戶數據的隱私和安全。
聯盟鏈的核心一方面是獲得數據的物聯網技術,另一方面是讓數據可以創造價值的AI、數據挖掘技術。[2019/5/5]
總體來看,目前主流共識算法逐漸由PoW轉向PoS共識算法,并且采用VRF隨機選擇節點的方式實現算法的擴展性,即使Ethereum后續的寧靜版本,也將是基于PoS的共識算法,并在其信標鏈中實現VRF隨機選擇驗證者節點。另外,Avalanche共識算法也是采用隨機選擇節點的方式實現區塊鏈共識算法的擴展性,不過目前還沒有上線的區塊鏈采用此共識算法。隨著區塊鏈社區對區塊鏈共識算法的研究,技術社區已經發現在Internet規模的網絡中可達到的性能上限不僅取決于共識算法的性能參數,更取決于在此規模的網絡中完成消息傳播的時間延遲等物理上限。因此,主流區塊鏈的研究團隊都將下一步區塊鏈網絡性能擴展方向投向了分片技術、狀態通道和二層網絡等方向。
聲音 | NEO創始人:區塊的不確定性、安全漏洞以及51%攻擊等是區塊鏈共識算法必須面對和解決的問題:NEO創始人張錚文表示,最近BSV上發生的異常交易和區塊回滾事件再次加劇了他對PoW共識機制的擔憂。 PoW的許多方面已經被證明是長期不可持續的,并且在商業應用場景中可能是災難性的。巨大的能源浪費(在中國,挖礦被認為是一種過時的做法),區塊的不確定性、安全漏洞以及51%攻擊,這些都是區塊鏈共識算法必須面對和解決的問題。[2019/4/20]
現場 | 卿蘇德:共識算法正在向分層混合的趨勢發展:金色財經10月9日訊,中國信息通信研究院區塊鏈主管、可信區塊鏈推進計劃辦公室主任卿蘇德在今日舉辦的2018可信區塊鏈峰會上表示,共識算法正在向分層混合的趨勢發展。他介紹,分層共識是一種新的共識思路,將共識過程拆分成多步驟,以不同的共識算法組合來選取打包節點和驗證節點,這種思路使共識算法靈活多變,可定制性好,適應性更強。[2018/10/9]
編者按:本文來自:鏈塔智庫,作者:姚前,中國人民銀行數字貨幣研究所所長,odaily星球日報經授權轉載。如何實現整體經濟效益和社會福利的最大化,是法定數字貨幣研發的核心命題.
1900/1/1 0:00:00本周行情回顧截止1月25日15時,加密貨幣總市值1201.84億美元,加密貨幣個數2116個,比特幣市值629.61億美元,占總市值的52.4%.
1900/1/1 0:00:00編者按:本文來自區塊律動BlockBeats,作者:0x29,Odaily星球日報經授權轉載。提到最受關注的區塊鏈項目,你腦中出現的第一個詞是什么?可能大多數人會回答比特幣,的確,比特幣作為幣圈.
1900/1/1 0:00:00很多人都惦記著比特幣什么時候死,不得不說你想多了。比特幣可能會漲,可能還會跌,但比特幣不會死,因為全球有越來越多的信仰者和因為各種原因的需求者.
1900/1/1 0:00:00譯者|Moni編輯|盧曉明上周,美國共和黨和民主黨舉辦了一場“兩黨政策中心”活動,美國證券交易委員會和美國商品期貨交易委員會的專員齊聚一堂.
1900/1/1 0:00:00頭條 上交所資本市場研究所所長:比特幣挖礦業務不太適合上市在2019年度“陸家嘴資本夜話”高峰論壇上,上海證券交易所資本市場研究所所長施東輝表示,注冊制還是要審的.
1900/1/1 0:00:00