目前區塊鏈的基礎是P2P分散式網路,加密演算法,共識機制等,在這些基礎的技術中,共識機制的重要性是不言而喻的。
目前主要幾類共識演算法如下:PoW、PoS、DPos、Ripple Consensus、P、dBFT、POOL驗證池。
1.POW工作量證明
透過與或運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的資料,全網其它節點驗證後一起儲存;
優點:易實現,節點間無需交換額外的資訊即可達成共識,破壞系統需要投入極大的成本。
缺點:浪費能源,區塊的確認時間難以縮短;共識達成的週期較長,不適合商業應用
2.POS權益證明
PoW的一種升級共識機制,本質上是採用權益證明來代替PoW的算力證明,記賬權由最高權益的節點獲得,而不是最高算力的節點。根據每個節點所佔代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。
優點:解決了PoW 消耗算力的問題,在一定程度上縮短了共識達成的時間
缺點:擁有權益 的參與者未必希望參與記賬,還是需要挖礦。
3.DPOS股權授權證明
類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
4.Ripple Consensus((NEO)採用的dBFT機制,是由權益來選出記賬人,然後記賬人之間透過拜占庭容錯演算法來達成共識。
此演算法在PBFT基礎上進行了以下改進:
優點:
1)專業化的記賬人;
2)可以容忍任何型別的錯誤;
3)記賬由多人協同完成,每一個區塊都有最終性,不會分叉;
4)演算法的可靠性有嚴格的數學證明;
缺點:
1)當有1/3或以上記賬人停止工作後,系統將無法提供服務;
2)當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
7.POOL驗證池
基於傳統的分散式一致性技術,加上資料驗證機制。
優點:不需要代幣也可以工作,在成熟的分散式一致性演算法(Pasox、Raft)基礎上,實現秒級共識驗證。
缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業模式。