如果說共識是區塊鏈的基礎,那共識機制就是區塊鏈的靈魂。
區塊鏈技術最大的創新點在於去中心化的信任,能夠實現在一個陌生的網絡環境里通過代碼產生信任且完成交易,其運作的答案就是共識機制。它就像一個國家的法律,維繫著“區塊鏈世界”的日常運轉。
共識(Consensus)的通俗釋意是對某個問題達成一致性。區塊鏈共識機制指的是多個分佈式且不相干的節點面對一筆交易時達成一致性的算法。
在目前區塊鏈中最常用的二種共識算法是工作量證明、權益證明。
- 工作量證明即PoW,就如字面的解釋,Proof of Work就是工作越多,收益越大。
- 權益證明即PoS, 它類似股權憑證和投票系統,由持有最多(token)的人來最終決定。
基於PoS又延伸出一種較常用的共識算法:股份授權證明,即DPoS,這是PoS的進化方案,區別是DPoS選了一些“人大代表“,海量節點中選舉出多個記賬節點,交易被記賬節點決定誰是正確的。
然而這幾種被熟知的共識算法都存在一些較明顯的弊端。比如PoW的最大弊端就是依賴機器進行數學運算來獲取一致性記賬權,這對硬件算力、電力會造成極度浪費。
PoS的誕生確實一定程度解決了挖礦過程中產生的大量能源過耗的問題,但卻面臨新的問題:擁有權益的參與者擁有更大權利,容易產生壟斷。其次,所有的確認都只是概率上的表達,存在其他攻擊的可能性。另外挖礦成本低,硬分叉十分容易。
為了同時解決區塊鏈的資源耗損和安全性、壟斷性問題,GAIAWORLD基於PoS算法,獨創研發了CPoS共識算即CPoS(Competition Prove of Stake)共識機制,基於競爭和更公平的認證算法。
CPoS通過競爭的方式,選擇投票權最高的地址作為出塊節點。和其他股權證明方案不一樣的是,CPoS中所有鍛造者被隨機分配到256個分組中,股權不僅僅取決於投入的資金量還和區塊高度、累加次數、隨機初始值相關聯,在指定分組中股權最高的鍛造者獲得鍛造當前區塊的權利。
CPos共識機製做了哪些創新性改進?
為了提高公平性和避免串通作惡,CPoS引入了可驗證隨機數。即投票權不僅僅和保證金相關聯,並且還和區塊的隨機數相關。
所有可能的隨機數生成者都提前公佈了自己的BLS公鑰,當成為隨機數生成者時會使用私鑰和指定隨機數生成算法生成隨機數,所有的節點都可以使用BLS公鑰對隨機數進行驗證。公鑰是提前公佈的,而隨機數生成者也無法控制隨機數,這樣能保證結果是真正的公平。
這種制度設計使得更多的人可以獲得鍛造機會,而且資金投入量小的節點也有機會戰勝資金投入量大的節點,這樣的共識機制能更好的解決PoS和DPoS沒能解決的安全性、監督性問題。
CPoS算法的本質則是讓每一個節點都有隨機的概率獲得鍛造新區塊的機會,能更好的避免現有區塊鏈的串通作惡現象,解決安全性和監督性的問題。
CPoS算法流程:
- 接收交易信息
- 計算出塊分組
- 打包並廣播待確認區塊
- 驗證出塊信息
- 計算總投票權,並確認區塊
- 重置鍛造者投票權和分組
並且經過大量的測試後,基於CPoS共識算法的區塊鏈可以達到更極致的運行效率。