區塊鏈的共識機制特點(從夸克區塊鏈看共識機制的演化)
人類能夠進行大規模的合作,能夠在地球上的眾多生物中脫穎而出,從而達成共識,來源于文化或組織的特性,不達成共識,就不能形成制度合作的力量,產生共識的原因有些來自文化認同,有些來自國家機器,例如采用貨幣,就需要國家進行信用背書。
而比特幣的誕生,則為我們帶來了一個網絡自主運行的成功例子,它通過協商一致的算法、加密、點對點網絡和獎勵機制等,形成了一個自治的社區,能夠形成一個沒有中央機構達成的信任,最終實現點對點的價值循環。
我們可以從夸克區塊鏈中看到現有的區塊鏈共識機制主要有哪些?需要關注哪些共識機制?還有哪些共識算法值得關注?是否會繼續進化呢?
共識算法是區塊鏈自身運行的核心
就區塊鏈而言,它沒有一個中央機構來負責系統的運行,那么賬本是如何記錄的?大家確認了哪些賬本?這類問題需要通過一種去中心化機制來達成共識。
對公鏈而言,共識機制是否足夠安全,是否更加有效,這是一個關鍵問題,協商一致的機制設計好了,一是能保障網絡安全,確保記賬安全,免受惡意攻擊,二是能使社區自我運行良好,尤其是在如何進行激勵方面,是否有好的設計是自治社區能否進入良性循環的關鍵,
最終,在保證安全性的同時,越來越多的共識算法也會考慮到效率和公平性,讓我們看一下,不同的共識算法各自有什么優點。
1. PoW
Pow算法是最典型的共識機制,被比特幣引入并使用,例如,在比特幣網絡中,礦工要想獲得計帳權,就必須通過計算力來解決數學問題,即 PoW共識機制,在大約10分鐘內,首批發現特殊屬性哈希的礦工將獲得記帳權,并獲得比特幣的回報。
這一機制的本質是消耗算力,因為解決問題沒有別的辦法,只能靠算力,盡管解題費時費力,但驗證答案的正確性卻非常簡單,因為計算背后是經濟成本,需要電費和采礦機械等支持,這就是說,發動51%的算力攻擊需要消耗大量的能量和算力資源。
PoW協議是迄今為止運行時間最長,時間最長的共識算法,具有很高的安全性,而且是相對公平和非中心化的網絡。
但是與此同時也有很多地方被人詬病,特別是在能耗和性能方面,因為解決這個問題需要大量的電力消耗,根據統計,世界范圍內 PoW算法消耗的電力比一個愛爾蘭國家要多。
此外, PoW的機制由于不能保證安全性,在性能上也不能兼顧,其可擴展性受到了批評,只有7次交易是每秒7次,與100多萬次的中心化交易相比是無與倫比的,比特幣很難通過 PoW機制來實現網上電子現金支付。
關于集權問題,也有一些爭論,因為各地區的電費是不同的,從成本上看,最終會相對向電費較低的國家和地區傾斜,例如,目前,中國占據了比特幣算力的大部分份額。
2. PoS
與 PoW不同的是, PoS不需要通過消耗計算力來獲得計帳權,因此更加環保,PoS具有需要鎖定一定量 token的驗證器,并且在鎖定之后,還會有權益證明,一個驗證者小組輪流提出并投票產生下一個區塊,并根據它所擁有的 token的數量賦予投票的權重。
這就是說,每一個網絡節點都鏈接到一個地址,這個地址持有的代幣越多,產生下一個區塊的可能性就越大,一名攻擊者如果想要發起51%的攻擊,就必須持有超過50%的代幣,如果一家網絡的市值超過10億美元,攻擊者就必須至少要5億美元的代價,如果一次攻擊導致網絡不安全,對理性攻擊者就毫無意義,并且 PoS的防御和攻擊是不對等的,防御更加簡單,恢復網絡的成本比攻擊者要低,PoS更適合于代幣固定的網絡,不會引起通貨膨脹,其收益主要來自用戶的交易。
PoS的優勢在于無需消耗大量能源,快速達成共識,但存在不足之處,因為并非所有節點都愿意挖礦,永遠沒有最終結果,而且需要檢查點機制來減緩這一問題,也容易造成分歧。
3. DPoS
DPoS比 PoS效率更高,其代幣持有者投票支持代理,而代理則通過驗證區塊交易得到獎勵,對 DPoS的投票正在進行中,只要代幣持有人就可以在代表未能發揮作用通過投票來選出代表。
因為代理需要遵守所有規則,保證網絡正常運行時間,所以比 PoS更有效,而且,它沒有分叉,比 PoS更具優勢。
其不足之處在于風險集中,在超級節點數量僅20個以上的情況下,超級節點受到控制時,網絡存在安全隱患,然而, DPoS共識機制也在不斷發展,它需要兼顧安全性、去中心化和效率。
結論
區塊鏈網絡運行的核心是共識機制,為了使區塊鏈上不同節點的復制保持一致,都需要通過共識算法來實現,然而,當前的區塊鏈技術很難做到性能、安全性和去中心化同時兼顧,以保證安全和去中心化。
這些算法各有其優點和不足,以 PoW作為公鏈共識算法,難以實現擴展性,也難以建立 DApp的生態基礎,難以擴展到主流應用。
在 PoS或 DPoS共識算法中,也可能會出現一些小概率事件,如盜取私鑰、超級節點合謀導致集中趨勢等。同時考慮性能,可能會在去中心化和安全性方面存在一些缺陷,不過可以預見的是未來除了PoW、PoS、DPoS、……之外,還會有更多層出不窮的共識算法,這對于區塊鏈發展的探索都是有益的。