摘要:沒有哪種共識機制是完美的,各共識機制都有其優缺點,有些共識機制就是為了解決一些特定問題而生區塊鏈中的共識算法分為驗證池,工作證明。網絡延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。
沒有哪種共識機制是完美的,各共識機制都有其優缺點,有些共識機制就是為了解決一些特定問題而生
區塊鏈中的共識算法分為:POW、POS、DPOS、PBFT、POOL驗證池
1、POW:Proof of Work,工作證明。一句話介紹:干的越多,收益越多。
??依賴機器進行數學運算來獲取記賬權,資源消耗相比其它共識機制高、可監管性弱,同時每次達成共識需要全網共同參與運算,性能效率比較低,容錯性方面允許全網50%節點出錯。
??比特幣在Block的生成過程中使用了POW機制,一個符合要求的Block Hash由N個前導零構成,零的個數取決于網絡的難度值。要得到合理的Block Hash需要經過大量嘗試計算,計算時間取決于機器的哈希運算速度。當某個節點提供出一個合理的Block Hash值,說明該節點確實經過了大量的嘗試計算,當然,并不能得出計算次數的絕對值,因為尋找合理hash是一個概率事件。當節點擁有占全網n%的算力時,該節點即有n/100的概率找到Block Hash。
優點:
算法簡單,容易實現;
節點間無需交換額外的信息即可達成共識;
破壞系統需要投入極大的成本;
缺點:
浪費能源;
區塊的確認時間難以縮短;
新的區塊鏈必須找到一種不同的散列算法,否則就會面臨比特幣的算力攻擊;
容易產生分叉,需要等待多個確認;
永遠沒有最終性,需要檢查點機制來彌補最終性
2、POS:Proof of Stake,股權證明。一句話介紹:持有越多,收益越多。
??主要思想是節點記賬權的獲得難度與節點持有的權益成反比,相對于PoW,一定程度減少了數學運算帶來的資源消耗,性能也得到了相應的提升,但依然是基于哈希運算競爭獲取記賬權的方式,可監管性弱。該共識機制容錯性和PoW相同。它是Pow的一種升級共識機制,根據每個節點所占代幣的比例和時間,等比例的降低挖礦難度,從而加快找隨機數的速度。
優點:
在一定程度上縮短了共識達成的時間;
相對POW,一定程度減少了數學運算帶來的資源消耗
缺點:
還是需要挖礦,本質上沒有解決商業應用的痛點;
3、DPOS:Delegated Proof of Stake,委任權益證明??去中心化表示每個股東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批準。為達到這個目標,每個股東可以將其投票權授予一名代表。獲票數最多的前100位代表按既定時間表輪流產生區塊。每名代表分配到一個時間段來生產區塊(當輪到他們時,沒能生成區塊)。所有的代表將收到等同于一個平均水平的區塊所含交易費的10%作為報酬。如果一個平均水平的區塊含有100股作為交易費,一名代表將獲得1股作為報酬。網絡延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。然而,這不太可能發生,因為制造區塊的代表可以與制造前后區塊的代表建立直接連接。建立這種與你之后的代表(也許也包括其后的那名代表)的直接連接是為了確保你能得到報酬。該模式可以每30秒產生一個新區塊,并且在正常的網絡條件下區塊鏈分叉的可能性極其小,即使發生也可以在幾分鐘內得到解決。
??成為一名代表,你必須在網絡上注冊你的公鑰,然后分配到一個32位的特有標識符。然后該標識符會被每筆交易數據的“頭部”引用。授權選票:每個錢包有一個參數設置窗口,在該窗口里用戶可以選擇一個或更多的代表,并將其分級。一經設定,用戶所做的每筆交易將把選票從“輸入代表”轉移至“輸出代表”。一般情況下,用戶不會創建特別以投票為目的的交易,因為那將耗費他們一筆交易費。但在緊急情況下,某些用戶可能覺得通過支付費用這一更積極的方式來改變他們的投票是值得的。保持代表誠實:每個錢包將顯示一個狀態指示器,讓用戶知道他們的代表表現如何。如果他們錯過了太多的區塊,那么系統將會推薦用戶去換一個新的代表。如果任何代表被發現簽發了一個無效的區塊,那么所有標準錢包將在每個錢包進行更多交易前要求選出一個新代表。抵抗攻擊: 在抵抗攻擊上,因為前100名代表所獲得的權力權是相同的,每名代表都有一份相等的投票權。因此,無法通過獲得超過1%的選票而將權力集中到一個單一代表上。因為只有100名代表,可以想象一個攻擊者對每名輪到生產區塊的代表依次進行拒絕服務攻擊。幸運的是,由于事實上每名代表的標識是其公鑰而非IP地址,這種特定攻擊的威脅很容易被減輕。這將使確定DDOS攻擊目標更為困難。而代表之間的潛在直接連接,將使妨礙他們生產區塊變得更為困難。
優點:
大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:
整個共識機制還是依賴于代幣,很多商業應用是不需要代幣存在的。
4、PBFT:Practical Byzantine Fault Tolerance,實用拜占庭容錯算法??PBFT是一種狀態機副本復制算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本復制。每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f+1,這里f是有可能失效的副本的最大個數。盡管可以存在多于3f+1個副本,但是額外的副本除了降低性能之外不能提高可靠性。
??在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算機(Coordinator / Commander)或成員計算機 (Member /Lieutanent)可能因系統錯誤并交換錯的訊息,導致影響最終的系統一致性。拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。而拜占庭問題的可能解決方法為:在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計算機總數,F為有問題計算機總數。信息在計算機間互相交換后,各計算機列出所有得到的信息,以大多數的結果作為解決辦法。
優點:
系統運轉可以脫離幣的存在,pbft算法共識各節點由業務的參與方或者監管方組成,安全性與穩定性由業務相關方保證。
共識的時延大約在2~5秒鐘,基本達到商用實時處理的要求。
共識效率高,可滿足高頻交易量的需求。
缺點:
當有1/3或以上記賬人停止工作后,系統將無法提供服務;
當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網絡孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
介紹一個改進的算法:delegated BFT(DBFT,授權拜占庭容錯算法)
??由權益來選出記賬人,然后記賬人之間通過拜占庭容錯算法來達成共識。此算法在PBFT基礎上進行了以下改進:
將C/S架構的請求響應模式,改進為適合P2P網絡的對等節點模式;
將靜態的共識參與節點改進為可動態進入、退出的動態共識參與節點;
為共識參與節點的產生設計了一套基于持有權益比例的投票機制,通過投票決定共識參與節點(記賬節點);
在區塊鏈中引入數字證書,解決了投票中對記賬節點真實身份的認證問題。
優點:
專業化的記賬人;
可以容忍任何類型的錯誤;
記賬由多人協同完成,每一個區塊都有最終性,不會分叉;
算法的可靠性有嚴格的數學證明;
缺點:
當有1/3或以上記賬人停止工作后,系統將無法提供服務;
當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網絡孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
總結來說,DBFT機制最核心的一點,就是最大限度地確保系統的最終性,使區塊鏈能夠適用于真正的金融應用場景。
5、POOL驗證池基于傳統的分布式一致性技術,加上數據驗證機制。
優點:
不需要代幣也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基礎上,實現秒級共識驗證。
缺點:
去中心化程度不如bictoin;更適合多方參與的多中心商業模式。
從時間上來看,這個順序也是按該共識算法從誕生到熱門的順序來定。
??對于POW,直接讓比特幣成為了現實,并投入使用。而POS的存在主要是從經濟學上的考慮和創新。而最終由于專業礦工和礦機的存在,讓社區對這個標榜去中心化的算法有了實質性的中心化擔憂,即傳聞60%~70%的算力集中在中國。因此后來又出現DPOS,這種不需要消耗太多額外的算力來進行礦池產出物的分配權益方式。但要說能起到替代作用,DPOS來多帶帶替代POW,POS或者POW+POS也不太可能,畢竟存在即合理。每種算法都在特定的時間段中有各自的考慮和意義,無論是技術上,還是業務上。
??至于說算法的選擇,共識最好的設計是模塊化,例如Notary,共識算法的選擇與應用場景高度相關,可信環境使用paxos 或者raft,帶許可的聯盟可使用pbft ,非許可鏈可以是pow,pos,ripple共識等,根據對手方信任度分級,自由選擇共識機制,這樣才是真的最優。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24206.html
摘要:第一類模式是在公鏈項目中運用的最廣泛應用的共識算法,比特幣長達年的運行已充分證明的安全性與穩定性。此時當前區塊已是合法區塊但是未獲得最終確認,類似于比特幣未獲得個塊確認存在回滾的可能性。 showImg(https://segmentfault.com/img/bVbtamO?w=1000&h=600); 共識算法是分布式系統保證節點數據狀態一致性的方法,在區塊鏈的共識算法分POW(工...
摘要:第一類模式是在公鏈項目中運用的最廣泛應用的共識算法,比特幣長達年的運行已充分證明的安全性與穩定性。此時當前區塊已是合法區塊但是未獲得最終確認,類似于比特幣未獲得個塊確認存在回滾的可能性。 showImg(https://segmentfault.com/img/bVbtamO?w=1000&h=600); 共識算法是分布式系統保證節點數據狀態一致性的方法,在區塊鏈的共識算法分POW(工...
摘要:月日圣誕夜,伍鳴博士做客火星財經創始學習群,分享了使用結構提升中本聰共識的吞吐率。為什么傳統的基于的中本聰共識機制的吞吐率非常低下總結來說,為了安全,不得不如此。這樣,就繞開了中本聰共識中安全與效率兩難的困境。 12月25日圣誕夜,Conflux CTO伍鳴博士做客「火星財經創始學習群」,分享了Conflux: 使用 DAG 結構提升中本聰共識的吞吐率。 嘉賓簡介: showImg(h...
摘要:月日圣誕夜,伍鳴博士做客火星財經創始學習群,分享了使用結構提升中本聰共識的吞吐率。為什么傳統的基于的中本聰共識機制的吞吐率非常低下總結來說,為了安全,不得不如此。這樣,就繞開了中本聰共識中安全與效率兩難的困境。 12月25日圣誕夜,Conflux CTO伍鳴博士做客「火星財經創始學習群」,分享了Conflux: 使用 DAG 結構提升中本聰共識的吞吐率。 嘉賓簡介: showImg(h...
閱讀 1160·2021-11-24 09:38
閱讀 3609·2021-11-22 15:32
閱讀 3461·2019-08-30 15:54
閱讀 2573·2019-08-30 15:53
閱讀 1499·2019-08-30 15:52
閱讀 2530·2019-08-30 13:15
閱讀 1841·2019-08-29 12:21
閱讀 1402·2019-08-26 18:36