目前主要幾類共識演算法如下:PoW、PoS、DPos、Ripple Consensus、PBFT
1、PoW(工作量證明)
透過與或運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的資料,全網其它節點驗證後一起儲存;
優點:易實現,節點間無需交換額外的資訊即可達成共識,破壞系統需要投入極大的成本。
缺點:浪費能源,區塊的確認時間難以縮短;共識達成的週期較長,不適合商業應用
2、PoS(權益證明)
PoW的一種升級共識機制,本質上是採用權益證明來代替PoW的算力證明,記賬權由最高權益的節點獲得,而不是最高算力的節點。根據每個節點所佔代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。
優點:,解決了PoW 消耗算力的問題,在一定程度上縮短了共識達成的時間
缺點:擁有權益 的參與者未必希望參與記賬,還是需要挖礦。
3、DPos(股份授權證明機制)
類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
4、Ripple Consensus(瑞波共識演算法)
使一組節點能夠基於特殊節點列表達成共識。初始特殊節點列表就像一個俱樂部,要接納一個新成員,必須由51%的該俱樂部會員投票透過。共識遵循這核心成員的51%權力,外部人員則沒有影響力。由於該俱樂部由“中心化”開始,它將一直是“中心化的”,而如果它開始腐化,股東們什麼也做不了。
5、PBFT:Practical Byzantine Fault Tolerance(實用拜占庭容錯演算法)
PBFT是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都儲存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f+1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f+1個副本,但是額外的副本除了降低效能之外不能提高可靠性。
PBFT演算法主要特點如下:客戶端向主節點發送請求呼叫服務操作;主節點透過廣播將請求傳送給其他副本;所有副本都執行請求並將結果發回客戶端;客戶端需要等待f+1個不同副本節點發回相同的結果,作為整個操作的最終結果。
區塊鏈的共識機制一定會越來越清晰,在現實當中起到的作用也會越來越大,並受到眾多機構的支援,從而讓區塊鏈在現實當中的普及進入到一個全新的應用階段。
目前主要幾類共識演算法如下:PoW、PoS、DPos、Ripple Consensus、PBFT
1、PoW(工作量證明)
透過與或運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的資料,全網其它節點驗證後一起儲存;
優點:易實現,節點間無需交換額外的資訊即可達成共識,破壞系統需要投入極大的成本。
缺點:浪費能源,區塊的確認時間難以縮短;共識達成的週期較長,不適合商業應用
2、PoS(權益證明)
PoW的一種升級共識機制,本質上是採用權益證明來代替PoW的算力證明,記賬權由最高權益的節點獲得,而不是最高算力的節點。根據每個節點所佔代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。
優點:,解決了PoW 消耗算力的問題,在一定程度上縮短了共識達成的時間
缺點:擁有權益 的參與者未必希望參與記賬,還是需要挖礦。
3、DPos(股份授權證明機制)
類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
4、Ripple Consensus(瑞波共識演算法)
使一組節點能夠基於特殊節點列表達成共識。初始特殊節點列表就像一個俱樂部,要接納一個新成員,必須由51%的該俱樂部會員投票透過。共識遵循這核心成員的51%權力,外部人員則沒有影響力。由於該俱樂部由“中心化”開始,它將一直是“中心化的”,而如果它開始腐化,股東們什麼也做不了。
5、PBFT:Practical Byzantine Fault Tolerance(實用拜占庭容錯演算法)
PBFT是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都儲存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f+1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f+1個副本,但是額外的副本除了降低效能之外不能提高可靠性。
PBFT演算法主要特點如下:客戶端向主節點發送請求呼叫服務操作;主節點透過廣播將請求傳送給其他副本;所有副本都執行請求並將結果發回客戶端;客戶端需要等待f+1個不同副本節點發回相同的結果,作為整個操作的最終結果。
區塊鏈的共識機制一定會越來越清晰,在現實當中起到的作用也會越來越大,並受到眾多機構的支援,從而讓區塊鏈在現實當中的普及進入到一個全新的應用階段。