共識機制是區塊鏈的靈魂。它就像區塊鏈的憲法,維繫著整個區塊鏈世界的正常運轉。
區塊鏈是放在一個非安全環境中的分散式資料庫,資訊透過P2P來傳播。
而由於點對點(P2P)網路存在較高的網路延遲,世界各地各個節點所觀察到的資料的先後順序不可能完全一致。
為了避免有人故意在視窗時間釋出大量錯誤的資訊,產生資料分叉,就需要有人把所有人接收到的資料進行驗證,最後公佈最正確的資訊。
這是透過技術方式來避免故意作惡的機制設計。這種驗證機制,即對資料的先後順序達成共識的演算法,被稱為“共識機制”。
共識機制是讓所有參與的節點,對所有新增的區塊資訊(如發行數字幣)達成共識。
以什麼樣的方式進行驗證?誰來主導驗證?是目前各種共識機制的演算法差異。
現在有5種常見的共識機制:
第一種,工作量證明機制POW(Proof of Work)
即誰的工作量越多,收益就越大。
在這種共識機制下,誰的工作量在全網佔比越多,獲得收益的機率就越大。
第二種,權益證明機制POS(Proof of Stake)
即將POW中的算力改為系統權益,擁有權益越大則成為下一個記賬人的機率就越大。這種機制類似股權憑證和投票系統,因此也叫“股權證明演算法”。
但POS的問題是,大多數的持幣人沒有足夠的專業知識或足夠的預算,無法達到高效能節點所需的計算機硬體和軟體要求,這時候就有了DPOS機制。
DPOS(Delegated Proof of Stake ,代理權益證明)這是一種基於投票選舉的共識演算法,有點像民主大會,持幣人選出幾個代表節點來運營網路,用專業執行的網路伺服器來保證區塊鏈網路的安全和效能。
DPOS機制中,不需要算力解決數學難題,而是由持幣者選出誰說生產者,如果生產者不稱職,就有隨時有可能被投票出局,這也就解決了POS的效能問題。這就類似選出群眾代表,然後記賬人之間再輪流記賬。
第三種,拜占庭共識演算法PBFT(Practical Byzantine Fault Tolerance-PBFT)
它與之前兩種都不相同,PBFT以計算為基礎,沒有代幣獎勵。由鏈上所有人參與投票,少於(N-1)/3個節點反對時就獲得公示資訊的權利。
第四種,授權拜占庭容錯演算法dBFT(delegated BFT)
這是由權益來選出記賬人,然後記賬人之間透過拜占庭容錯演算法來達成共識。
第五種,POOL驗證池
這種機制基於傳統的分散式一致性技術,加上資料驗證的機制。
隨著區塊鏈技術的不斷髮展,我們相信,後期人們將會進一步探索出操作更為科學合理,制度也更為完善的共識機制。