區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
區(qū)塊鏈的共識機制是區(qū)塊鏈系統(tǒng)的核心,是構(gòu)建多方信任的基礎(chǔ),當(dāng)前幾大主流共識算法卻或在資源浪費、或在對抗欺詐節(jié)點、或在效能效率等方面不盡如人意,甚至出現(xiàn)中心化傾向。共識算法如何回歸區(qū)塊鏈民主化的本質(zhì)?如何支撐起日益龐大的應(yīng)用需求?這事關(guān)整個區(qū)塊鏈系統(tǒng)走向何方……
銀行業(yè)是率先入場區(qū)塊鏈的行業(yè),其相關(guān)從業(yè)者也將目光大舉轉(zhuǎn)向區(qū)塊鏈,諳熟整個金融市場體系的他們,對這個新技術(shù)也許會多一些更實用宏觀的角度。洪蜀寧,曾長期任職中國人民銀行南京分行,現(xiàn)專注于數(shù)字貨幣、區(qū)塊鏈技術(shù)及應(yīng)用研究,已從前人行專家成功“跨界”為公認(rèn)的區(qū)塊鏈行業(yè)資深專家。2011年以發(fā)表國內(nèi)第一篇、也是體制內(nèi)第一篇研究比特幣的學(xué)術(shù)論文《比特幣:一種新型貨幣對金融體系的挑戰(zhàn)》引發(fā)巨大反響,直至今日其中觀點仍被認(rèn)為極具前瞻性。隨后,他又接連發(fā)表一系列關(guān)于數(shù)字貨幣對金融業(yè)影響的文章,以對金融市場的把握和數(shù)字貨幣研究的深入成為權(quán)威布道者。這一次,他將目光瞄準(zhǔn)了共識算法,直指現(xiàn)有共識算法面臨的三大問題:“無利害關(guān)系”、“遠(yuǎn)程攻擊”和“馬太效應(yīng)”,到底誰更接近區(qū)塊鏈Decentralization、公平、普惠的最初理想和目標(biāo)?讓我們一探究竟。
區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
從計算機系統(tǒng)角度來看,區(qū)塊鏈技術(shù)是一種全新的分布式系統(tǒng),但區(qū)塊鏈與傳統(tǒng)分布式系統(tǒng)最根本的區(qū)別就在于其Decentralization特性。所謂Decentralization,是指沒有一個中央控制方能夠控制區(qū)塊鏈網(wǎng)絡(luò)的運行,既不能停止它,也不能操縱其中的數(shù)據(jù)。Decentralization特性為區(qū)塊鏈帶來三個好處:容錯性、抗攻擊力和防合謀,從而使得區(qū)塊鏈成為一種獨立的、可信的、抗壟斷的技術(shù)體系,為在其之上存儲和轉(zhuǎn)移價值與信任提供了技術(shù)保障。
為實現(xiàn)這種Decentralization特性,區(qū)塊鏈引入了共識算法,在無須信任的各參與方之間建立了進行可信計算的基礎(chǔ)。所謂共識算法,實際上是一種協(xié)議,當(dāng)各參與方均按照協(xié)議進行計算時,可保證各方所進行的計算結(jié)果是一致的,如果有(少數(shù))人不遵守協(xié)議提供錯誤的計算結(jié)果(拜占庭節(jié)點),其計算結(jié)果會被其他人拒絕,只有多數(shù)人達成一致的計算結(jié)果才會被記錄進區(qū)塊鏈賬本之中。值得一提的是,參與者是否遵守協(xié)議完全由其自己決定,并不受外力的強制。
最早的區(qū)塊鏈共識算法是比特幣所采用的工作量證明(Proof of Work, PoW)算法,通過反復(fù)進行無法預(yù)測結(jié)果的哈希計算(俗稱“挖礦”)來達到隨機選擇區(qū)塊創(chuàng)建者的目的。工作量證明算法簡單、安全、可靠,對節(jié)點數(shù)量沒有限制,除51%攻擊外幾乎沒有漏洞,像比特幣這樣容納了巨額財富的區(qū)塊鏈網(wǎng)絡(luò)需要它所提供的最高安全級別保護。但由于挖礦需要消耗巨大的電能,因此工作量證明算法不適用于低價值系統(tǒng)。
區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
另一種常見的共識算法是拜占庭容錯算法(BFT),在惡意參與者不超過1/3的情況下可以提供高效、確定性的共識結(jié)果,主要缺點有兩個,一是當(dāng)參與者數(shù)量較多時性能會非??斓叵陆?,從而實際上不可用,二是無法防范分身攻擊,需要明確參與者的身份,防止一個人(機構(gòu))部署多個節(jié)點。因此BFT共識算法主要用于小規(guī)模的聯(lián)盟鏈,不適用于公鏈。
區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
為解決上述問題,出現(xiàn)了權(quán)益證明(Proof of Stake, PoS)共識算法。將工作量證明中的哈希計算改為質(zhì)押數(shù)字貨幣(即權(quán)益),既解決了工作量證明算法消耗大量算力的缺陷,又解決了BFT算法的分身攻擊問題。權(quán)益證明用幣價下跌的威脅捆綁了參與者的切身利益,起到了與工作量證明機制類似的作用。但權(quán)益證明也面臨著3大問題:一是“無利害關(guān)系”(Nothing-at-stake attack)問題,攻擊者可以只抵押一次權(quán)益但同時在所有分叉上出塊;二是“遠(yuǎn)程攻擊”(LongRange Attacks)問題,攻擊者可以從任意長度的距離建立一個分叉而不用擔(dān)心權(quán)益被削減;三是“馬太效應(yīng)”問題,也即財富會愈來愈集中。針對這些問題目前有幾種改進的手段:
1、DPoS(BitShare, Steem, EOS)
以EOS的DPoS算法為例,首先所有用戶通過PoS算法投票選出21個超級節(jié)點,再在超級節(jié)點之間用BFT算法生成區(qū)塊。這樣結(jié)合PoS和BFT算法的優(yōu)點,就避免了傳統(tǒng)PoS算法的“無利害關(guān)系”和“遠(yuǎn)程攻擊”問題,但卻帶來了另一個致命的問題:由于超級節(jié)點的運營者及其密切支持者往往占有了大量的EOS幣,很難被普通用戶投票選下去,從而加劇EOS的中心化傾向,與區(qū)塊鏈的Decentralization本質(zhì)相抵觸。因此,DPoS算法只是個折中方案,不是好的共識算法。
區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
2、Casper(以太坊)
以太坊推出的Casper共識算法則另辟蹊徑,引入了懲罰機制,將未遵守共識算法、在多個分叉上出塊的節(jié)點所質(zhì)押的以太幣處全部或部分沒收,從而解決無利害關(guān)系問題。與此同時,通過結(jié)合工作量證明算法、定期更新區(qū)塊的終結(jié)狀態(tài),又解決了遠(yuǎn)程攻擊問題。這是一個非常精妙的構(gòu)思,但是否能真正實現(xiàn)還有待觀察。
3、基于VRF的PoS算法(Algorand, Dfinity,Ouroborous)
這類共識算法思路與DPoS類似,但出塊節(jié)點不是由用戶投票選出來,而是通過VRF(Verifiable Random Function,可驗證隨機函數(shù))算法從所有節(jié)點中隨機抽取若干個節(jié)點,然后用BFT算法生成區(qū)塊。VRF可以保證無法預(yù)測誰下一輪會被抽中,這樣就無法作弊。這類算法由于其復(fù)雜性,尚處于實驗階段,而且有一個通病就是VRF在網(wǎng)絡(luò)擁堵情況下無法工作,因此應(yīng)用于公鏈目前還有難度。
4、DSC(Penta)
上述三類PoS算法都無法解決“馬太效應(yīng)”問題。Penta(PNT)提出的DSC(Dynamic Stake Consensus)共識算法吸收了各種PoS算法的優(yōu)點,并創(chuàng)造性地提出了超級議員的概念模式,即將參與記賬的節(jié)點分為議員和觀察員兩類,議員需要質(zhì)押大量的代幣才能獲得資格,而觀察員則只需質(zhì)押少量代幣即可。觀察員的數(shù)量遠(yuǎn)遠(yuǎn)大于議員的數(shù)量,議員和觀察員均由用戶通過PoS算法投票選出。系統(tǒng)定時通過散列抽簽算法(RSA)挑選議員和觀察員組成若干共識組,每個共識組都由少數(shù)議員和多數(shù)觀察員組成。每個共識組進行BFT共識,生成各自的候選區(qū)塊,最后再通過散列抽簽算法從候選區(qū)塊中隨機選取正式區(qū)塊。
區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
DSC共識算法使得無法持有大量代幣的普通人也有機會參與記賬、獲取利潤,以人數(shù)優(yōu)勢彌補資金劣勢,從而避免將“挖礦”變成只有富人才能參與的游戲,實現(xiàn)區(qū)塊鏈Decentralization、公平、普惠的最初理想和目標(biāo),相信這種優(yōu)秀的理念會逐漸被其他公鏈所接受和模仿。
信息首發(fā):區(qū)塊鏈共識算法實現(xiàn)Decentralization的演化路徑
