&共識層:調配記賬節點的任務負載
6) 核心技術之:共識機制
共識機制,就是所有記賬節點之間如何達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。目前主要有四大類共識機制:PoW、PoS、DPoS和分布式一致性算法。
PoW(Proofof Work,工作量證明)
PoW機制,也就是像比特幣的挖礦機制,礦工通過把網絡尚未記錄的現有交易打包到一個區塊,然后不斷遍歷嘗試來尋找一個隨機數,使得新區塊加上隨機數的哈希值滿足一定的難度條件。找到滿足條件的隨機數,就相當于確定了區塊鏈最新的一個區塊,也相當于獲得了區塊鏈的本輪記賬權。礦工把滿足挖礦難度條件的區塊在網絡中廣播出去,全網其他節點在驗證該區塊滿足挖礦難度條件,同時區塊里的交易數據符合協議規范后,將各自把該區塊鏈接到自己版本的區塊鏈上,從而在全網形成對當前網絡狀態的共識。
優點:完全去中心化,節點自由進出,避免了建立和維護中心化信用機構的成本。只要網絡破壞者的算力不超過網絡總算力的50%,網絡的交易狀態就能達成一致。
缺點:目前比特幣挖礦造成大量的資源浪費;另外挖礦的激勵機制也造成礦池算力的高度集中,背離了當初去中心化設計的初衷。更大的問題是PoW機制的共識達成的周期較長,每秒只能最多做7筆交易,不適合商業應用。
PoS(Proofof Stake,權益證明)
PoS機制,要求節點提供擁有一定數量的代幣證明來獲取競爭區塊鏈記賬權的一種分布式共識機制。如果單純依靠代幣余額來決定記賬者必然使得富有者勝出,導致記賬權的中心化,降低共識的公正性,因此不同的PoS機制在權益證明的基礎上,采用不同方式來增加記賬權的隨機性來避免中心化。例如點點幣(Peer Coin)PoS機制中,擁有最多鏈齡長的比特幣獲得記賬權的幾率就越大。NXT和Blackcoin則采用一個公式來預測下一記賬的節點。擁有多的代幣被選為記賬節點的概率就會大。未來以太坊也會從目前的PoW機制轉換到PoS機制,從目前看到的資料看,以太坊的PoS機制將采用節點下賭注來賭下一個區塊,賭中者有額外以太幣獎,賭不中者會被扣以太幣的方式來達成下一區塊的共識。
優點:在一定程度上縮短了共識達成的時間,降低了PoW機制的資源浪費。
缺點:破壞者對網絡攻擊的成本低,網絡的安全性有待驗證。另外擁有代幣數量大的節點獲得記賬權的幾率更大,會使得網絡的共識受少數富裕賬戶支配,從而失去公正性。
DPoS(DelegatedProof-Of-Stake,股份授權證明)
DPoS很容易理解,類似于現代企業董事會制度。比特股采用的DPoS機制是由持股者投票選出一定數量的見證人,每個見證人按序有兩秒的權限時間生成區塊,若見證人在給定的時間片不能生成區塊,區塊生成權限交給下一個時間片對應的見證人。持股人可以隨時通過投票更換這些見證人。DPoS的這種設計使得區塊的生成更為快速,也更加節能。
從某種角度來說,DPOS可以理解為多中心系統,兼具去中心化和中心化優勢。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:選舉固定數量的見證人作記賬候選人有可能不適合于完全去中心化的場景。另外在網絡節點數少的場景,選舉的見證人的代表性也不強。
分布式一致性算法
分布式一致性算法是基于傳統的分布式一致性技術。其中有分為解決拜占庭將軍問題的拜占庭容錯算法,如PBFT(拜占庭容錯算法)。另外解決非拜占庭問題的分布式一致性算法(Pasox、Raft),詳細算法本文不做說明。該類算法目前是聯盟鏈和私有鏈場景中常用的共識機制。
優點:實現秒級的快速共識機制,保證一致性。
缺點:去中心化程度不如公有鏈上的共識機制;更適合多方參與的多中心商業模式。
綜合來看, POW適合應用于公鏈,如果搭建私鏈,因為不存在驗證節點的信任問題,可以采用POS比較合適;而聯盟鏈由于存在不可信局部節點,采用DPOS比較合適。
所以區塊鏈最重要的就是共識,我們只有保持共識才能保證區塊鏈的長久共存!夸克區塊鏈就需要我們保持長久的共識!所以擼起袖子加油干!


