Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

1.15. 共識機制

共識機制,就是所有記賬節點之間如何達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。目前主要有四大類共識機制:PoW、PoS、DPoS和分散式一致性算法。

1.15.1. PoW(Proofof Work,工作量證明)

PoW機制,也就是像比特幣的挖礦機制,礦工通過把網絡尚未記錄的現有交易打包到一個區塊,然後不斷遍歷嘗試來尋找一個隨機數,使得新區塊加上隨機數的哈希值滿足一定的難度條件。找到滿足條件的隨機數,就相當於確定了區塊鏈最新的一個區塊,也相當於獲得了區塊鏈的本輪記賬權。礦工把滿足挖礦難度條件的區塊在網絡中廣播出去,全網其他節點在驗證該區塊滿足挖礦難度條件,同時區塊裡的交易數據符合協議規範後,將各自把該區塊連結到自己版本的區塊鏈上,從而在全網形成對當前網絡狀態的共識。

優點:完全去中心化,節點自由進出,避免了建立和維護中心化信用機構的成本。只要網絡破壞者的算力不超過網絡總算力的50%,網絡的交易狀態就能達成一致。

缺點:目前比特幣挖礦造成大量的資源浪費;另外挖礦的激勵機制也造成礦池算力的高度集中,背離了當初去中心化設計的初衷。更大的問題是PoW機制的共識達成的周期較長,每秒只能最多做7筆交易,不適合商業應用。

1.15.2. PoS(Proofof Stake,權益證明)

PoS機制,要求節點提供擁有一定數量的代幣證明來獲取競爭區塊鏈記賬權的一種分散式共識機制。如果單純依靠代幣餘額來決定記賬者必然使得富有者勝出,導致記賬權的中心化,降低共識的公正性,因此不同的PoS機制在權益證明的基礎上,採用不同方式來增加記賬權的隨機性來避免中心化。例如點點幣(Peer Coin)PoS機制中,擁有最多鏈齡長的比特幣獲得記賬權的幾率就越大。NXT和Blackcoin則採用一個公式來預測下一記賬的節點。擁有多的代幣被選為記賬節點的概率就會大。未來以太坊也會從目前的PoW機制轉換到PoS機制,從目前看到的資料看,以太坊的PoS機制將採用節點下賭注來賭下一個區塊,賭中者有額外以太幣獎,賭不中者會被扣以太幣的方式來達成下一區塊的共識。

優點:在一定程度上縮短了共識達成的時間,降低了PoW機制的資源浪費。

缺點:破壞者對網絡攻擊的成本低,網絡的安全性有待驗證。另外擁有代幣數量大的節點獲得記賬權的幾率更大,會使得網絡的共識受少數富裕賬戶支配,從而失去公正性。

1.15.3. DPoS(DelegatedProof-Of-Stake,股份授權證明)

DPoS很容易理解,類似於現代企業董事會制度。比特股採用的DPoS機制是由持股者投票選出一定數量的見證人,每個見證人按序有兩秒的權限時間生成區塊,若見證人在給定的時間片不能生成區塊,區塊生成權限交給下一個時間片對應的見證人。持股人可以隨時通過投票更換這些見證人。DPoS的這種設計使得區塊的生成更為快速,也更加節能。從某種角度來說,DPOS可以理解為多中心繫統,兼具去中心化和中心化優勢。

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

缺點:選舉固定數量的見證人作記賬候選人有可能不適合于完全去中心化的場景。另外在網絡節點數少的場景,選舉的見證人的代表性也不強。