第4章 區塊鏈靈魂:共識演算法

xiaohuanglv發表於2018-08-25

區塊鏈是一種去中心化的分散式賬本系統,它可以用於登記和發行數字化資產、產權憑證、積分等,並以點對點的方式進行轉賬、支付和交易。區塊鏈系統與傳統的中心化賬本系統相比,具有完全公開、不可篡改、防止多重支付等優點,並且不依賴於任何的可信第三方。

由於點對點網路下存在較高的網路延遲,各個節點所觀察到的事務先後順序不可能完全一致。因此區塊鏈系統需要設計一種機制對在差不多時間內發生的事務的先後順序進行共識。這種對一個時間視窗內的事務的先後順序達成共識的演算法被稱為“共識機制”

目前主要有幾大類共識機制:Pow、Pos、DPos、Pool、PBFT

1、Pow工作量證明,就是大家熟悉的挖礦,通過與或運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的資料,全網其它節點驗證後一起儲存;

優點:完全去中心化,節點自由進出;

缺點:目前bitcoin已經吸引全球大部分的算力,其它再用Pow共識機制的區塊鏈應用很難獲得相同的算力來保障自身的安全;挖礦造成大量的資源浪費;共識達成的週期較長,不適合商業應用

2、Pos權益證明,Pow的一種升級共識機制;根據每個節點所佔代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。

優點:在一定程度上縮短了共識達成的時間

缺點:還是需要挖礦,本質上沒有解決商業應用的痛點

3、DPos股份授權證明機制,類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。

優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證

缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的

4、Pool驗證池,基於傳統的分散式一致性技術,加上資料驗證機制;是目前行業鏈大範圍在使用的共識機制

優點:不需要代幣也可以工作,在成熟的分散式一致性演算法(Pasox、Raft)基礎上,實現秒級共識驗證;

缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業模式

 5、PBFT:Practical Byzantine Fault Tolerance,實用拜占庭容錯演算法。見前文拜占庭容錯演算法介紹。 

PBFT是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都儲存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f+1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f+1個副本,但是額外的副本除了降低效能之外不能提高可靠性。

在使用共識機制,保證資料一致性時的巨大優勢(共識機制則是Ripple首先提出的,資料正確性優先的網路交易同步機制,在共識網路中,無論軟體程式碼怎麼變動,無法取得共識就無法進入網路,更不要提分叉了)

來源:我是碼農,轉載請保留出處和連結!

本文連結:http://www.54manong.com/?id=99

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

相關文章