區(qū)塊鏈共識(shí)機(jī)制的演化
DSC共識(shí)算法的新探索。
人類能夠大規(guī)模地進(jìn)行協(xié)作,能夠在地球上眾多生物中真正脫穎而出,最重要因素之一就是人類可以達(dá)成共識(shí)。這個(gè)共識(shí)來自于文化或者組織的認(rèn)同。人們對(duì)國家、民族有共識(shí),對(duì)公司有共識(shí),這樣可以朝一個(gè)方向進(jìn)行協(xié)作。如果沒有共識(shí),就無法形成體系合作的力量,共識(shí)的產(chǎn)生有的來源于文化認(rèn)同,有的來源于國家機(jī)器。比如貨幣的采用,是需要國家的信用背書。
比特幣的誕生則給我們帶來了一個(gè)可以自運(yùn)轉(zhuǎn)網(wǎng)絡(luò)的成功范例。通過共識(shí)算法、加密、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)以及獎(jiǎng)勵(lì)機(jī)制等,可以形成一個(gè)自治的社區(qū),可以形成一個(gè)不通過中心機(jī)構(gòu)來達(dá)成的信任,最終實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的價(jià)值流通。
這是一個(gè)全所未有的社會(huì)實(shí)驗(yàn),到目前為止,它還是比較成功的,全球有數(shù)千萬比特幣地址,市值超過1400多億美元。
目前區(qū)塊鏈的共識(shí)機(jī)制主要有哪些?有哪些值得關(guān)注的共識(shí)機(jī)制?除了PoW、PoS、DPoS、PBFT之外,還有哪些共識(shí)算法值得關(guān)注?它會(huì)不會(huì)繼續(xù)演化?藍(lán)狐筆記最近關(guān)注到一種叫DSC的共識(shí)算法,它試圖平衡效率、公平、安全等方面,新探索值得探究。
一、共識(shí)算法是區(qū)塊鏈自運(yùn)轉(zhuǎn)的核心
對(duì)于區(qū)塊鏈來說,它沒有一個(gè)中心主體在負(fù)責(zé)體系的運(yùn)轉(zhuǎn),賬本怎么記?什么賬本才是大家確認(rèn)的?諸如此類都需要由一個(gè)去中心化的機(jī)制來達(dá)成共識(shí)。
對(duì)于一個(gè)公鏈來說,它是否足夠安全,是否更有效率,共識(shí)機(jī)制是關(guān)鍵。共識(shí)機(jī)制設(shè)計(jì)好了,一是能夠保證網(wǎng)絡(luò)的安全,保證記賬的安全,免于遭受惡意攻擊;二是能夠讓社區(qū)很好的自運(yùn)轉(zhuǎn),特別是在如何激勵(lì)方面,是否有好的設(shè)計(jì)是自治社區(qū)能否進(jìn)入良性循環(huán)的關(guān)鍵。
最后,越來越多的共識(shí)算法,除了保證安全之外,也會(huì)考慮到效率和公平。我們來看看,不同的共識(shí)算法各自的優(yōu)劣之處。
1. PoW
PoW算法是最經(jīng)典的共識(shí)機(jī)制。由比特幣引入并使用。以比特幣為例,PoW共識(shí)機(jī)制中,比特幣網(wǎng)絡(luò)中的礦工為了獲得記賬權(quán),必須通過算力來解數(shù)學(xué)題。大約十分鐘時(shí)間,第一個(gè)發(fā)現(xiàn)特定屬性哈希的礦工將獲得記賬權(quán),并被獎(jiǎng)勵(lì)比特幣。
這個(gè)機(jī)制的本質(zhì)就是消耗算力,因?yàn)榻忸}沒有其他辦法,就是靠算力。而雖然解題耗費(fèi)算力,但驗(yàn)證答案是否正確卻很簡(jiǎn)單。由于算力背后是經(jīng)濟(jì)的成本,需要電費(fèi)和礦機(jī)等支撐。這意味著要發(fā)起51%的算力攻擊需要巨大的能源和算力資源才能完成。
PoW是目前為止運(yùn)行時(shí)間最長(zhǎng)的共識(shí)機(jī)制,也是最久經(jīng)考驗(yàn)的共識(shí)算法,有較高的安全性,也是相對(duì)公平、去中心化的網(wǎng)絡(luò)。
但同時(shí)也有不少地方被大家詬病。尤其是在電力消耗和性能上。由于解題需要消耗大量的電力,全世界PoW算法所消耗的能源據(jù)統(tǒng)計(jì)已經(jīng)超過愛爾蘭一個(gè)國家所消耗的電力。
另外,PoW的機(jī)制為了保證安全性,在性能上也不能兼顧,它的擴(kuò)展性備受詬病。每秒才7個(gè)交易,跟中心化每秒10萬以上的交易相比,完全無法媲美。基于PoW機(jī)制,比特幣很難成為網(wǎng)絡(luò)電子現(xiàn)金支付系統(tǒng)。
在中心化方面,也存在一定的爭(zhēng)議。由于不同地區(qū)的電費(fèi)不同,從成本上來說,最終會(huì)相對(duì)傾斜到電費(fèi)成本較低的國家和地區(qū)。比如中國目前占據(jù)比特幣算力的相當(dāng)大一部分。
上圖來源于blockchain.info,顯示了hashrate分布的中心化趨勢(shì)。
2. PoS
PoS跟PoW不同,它無須通過消耗算力獲得記賬權(quán),所以更環(huán)保。PoS有驗(yàn)證者,這些驗(yàn)證者節(jié)點(diǎn)需要鎖定一定量的token,鎖定之后,就有權(quán)益的證明。一組驗(yàn)證者輪流提議和投票下一個(gè)區(qū)塊的生成,而投票的權(quán)重取決于其持有token多少。
也就是說每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)鏈接到一個(gè)地址,這個(gè)地址所持有的代幣越多,它獲得生成下一個(gè)區(qū)塊的概率就越大。如果一個(gè)攻擊者試圖發(fā)起51%的攻擊,它需要持有超過50%以上的代幣,如果一個(gè)市值超過10億美元的網(wǎng)絡(luò),攻擊者的成本至少5億美元以上,如果發(fā)生攻擊,導(dǎo)致網(wǎng)絡(luò)不安全,對(duì)理性攻擊者來說也沒有意義。而且PoS的防御和攻擊是不對(duì)等的,防御更容易些,恢復(fù)網(wǎng)絡(luò)的代價(jià)要低于攻擊者的代價(jià)。PoS是由NxT最先提出的。
PoS更適合代幣固定的網(wǎng)絡(luò),不會(huì)產(chǎn)生通貨膨脹,它的收益獎(jiǎng)勵(lì)主要來自于用戶的交易。
PoS的好處是不用消耗大量能源,達(dá)成共識(shí)速度快,但也有不足,不是所有節(jié)點(diǎn)都愿意挖礦、永遠(yuǎn)沒有最終性,需要檢查點(diǎn)機(jī)制來減緩這個(gè)問題、也容易產(chǎn)生分叉。
3.DPoS
DPoS比PoS更加高效。它的代幣持有人投票支持代表,當(dāng)選的代表驗(yàn)證區(qū)塊交易,獲得獎(jiǎng)勵(lì)。DPoS的投票是持續(xù)進(jìn)行的。一旦代表的表現(xiàn)不盡人意,代幣持有者可以用投票把代表選出。
由于代表需要遵守所有的規(guī)則,保證網(wǎng)絡(luò)正常運(yùn)行時(shí)間,這也會(huì)比PoS更高效。此外,它不會(huì)分叉,比PoS有優(yōu)勢(shì)。
它的不足是有中心化的風(fēng)險(xiǎn)。如果只有20多個(gè)超級(jí)代表,這意味著如果超級(jí)節(jié)點(diǎn)被控制,網(wǎng)絡(luò)有一定的安全風(fēng)險(xiǎn)。不過,DPoS共識(shí)機(jī)制也在不斷的進(jìn)化,不斷的尋找兼顧安全、去中心化和效率。
除了PoW、PoS、DPoS之外,還有PBFT、VBFT、PoA、PoE、PoI…哪些值得關(guān)注呢?
藍(lán)狐筆記發(fā)現(xiàn)Penta網(wǎng)絡(luò)的DSC共識(shí)算法,它有自己的特色,它試圖在保證安全性的同時(shí),滿足效率與公平的需求,為成為DApp的基礎(chǔ)設(shè)施而努力。
二、DSC共識(shí)算法:安全、效率與公平的兼顧
DSC協(xié)議是指動(dòng)態(tài)權(quán)益共識(shí)協(xié)議,采用散列抽簽算法,兼顧效率與公平。
DSC共識(shí)算法通過如下幾個(gè)步驟來實(shí)現(xiàn)區(qū)塊的生產(chǎn):
首先是從全網(wǎng)節(jié)點(diǎn)進(jìn)行代表的投票選舉,選出兩種代表:一是持有較多PNT代幣的議員,一個(gè)是持有較少PNT代幣的觀察員。
其次,在兩種代表中通過散列抽簽算法,隨機(jī)挑選部分議員和觀察員組成若干的共識(shí)組,每個(gè)共識(shí)組的議員或觀察員占比不得少于1/3。
共識(shí)組進(jìn)行BFT共識(shí)。在議員中選舉出議長(zhǎng)。議長(zhǎng)提議生成區(qū)塊,其他議員和觀察員進(jìn)行區(qū)塊驗(yàn)證,在2/3以上節(jié)點(diǎn)驗(yàn)證通過后,生成該共識(shí)組所對(duì)應(yīng)的候選區(qū)塊。共識(shí)組數(shù)量的多少?zèng)]有固定,根據(jù)網(wǎng)絡(luò)情況進(jìn)行動(dòng)態(tài)調(diào)節(jié),以保證正常出塊。
最后,候選區(qū)塊并不會(huì)自動(dòng)成為正式區(qū)塊,還需要通過散列抽簽函數(shù)從所有共識(shí)組產(chǎn)生的候選區(qū)塊中選擇正式區(qū)塊。如果出現(xiàn)區(qū)塊共識(shí)在一定時(shí)間內(nèi)無法達(dá)成的情況,會(huì)啟動(dòng)RESET機(jī)制。所有議員進(jìn)行一輪BFT共識(shí),產(chǎn)生一個(gè)RESET區(qū)塊,重新組成共識(shí)組,恢復(fù)網(wǎng)絡(luò)正常運(yùn)行。
這樣的選舉設(shè)計(jì)也有議會(huì)機(jī)制的影子。比如美國建國之初,一開始試圖設(shè)置單一院制,但發(fā)現(xiàn)眾議院是基于人數(shù),人口少的州很少有機(jī)會(huì)發(fā)出自己的聲音,于是產(chǎn)生了兩院制的議會(huì)。參議院不管各州大小,都是兩票,一共100席。眾議院則根據(jù)州人口多少獲得席位。設(shè)計(jì)的目的是為了兼顧各方利益。
DSC通過議長(zhǎng)、議員、觀察員、共識(shí)組的設(shè)計(jì),有一部分制衡和保證公平的考慮。因?yàn)橛^察員有機(jī)會(huì)進(jìn)入共識(shí)組,且不少于1/3,所以即使用戶是持有較少PNT的代表,也有機(jī)會(huì)獲得獎(jiǎng)勵(lì)。這兼顧了公平,而在PoS共識(shí)機(jī)制中,一個(gè)持有很少代幣的用戶,能得到獎(jiǎng)勵(lì)的概率非常低。
Penta的議員是PNT代幣持有節(jié)點(diǎn)主動(dòng)發(fā)起申請(qǐng),其他節(jié)點(diǎn)進(jìn)行投票選擇。要想當(dāng)選議員,首先要質(zhì)押一定數(shù)量的PNT代幣,同時(shí)必須獲得超過一定數(shù)量的票數(shù)。一旦當(dāng)選議員,所有節(jié)點(diǎn)獲得記賬的機(jī)會(huì)均等。不是PNT數(shù)量越多,機(jī)會(huì)越大。議長(zhǎng)是通過BFT共識(shí)過程產(chǎn)生,主要負(fù)責(zé)區(qū)塊生成。
觀察員是監(jiān)督的角色,它跟議員不同,所需要質(zhì)押的PNT數(shù)量較少,獲得的選票也較少。但觀察員分布更廣,數(shù)量更多。它代表了更多普通PNT代幣持有人的利益。更類似于眾議院的角色。觀察員無法當(dāng)選為議員或議長(zhǎng),沒有生成區(qū)塊的權(quán)利。
Penta網(wǎng)絡(luò)的議員人數(shù)是動(dòng)態(tài)增長(zhǎng)的,這個(gè)跟美國參議院固定席位不同。根據(jù)參與節(jié)點(diǎn)和PNT持有排名情況,Penta網(wǎng)絡(luò)確定最初的議員數(shù)量和最低PNT代幣的質(zhì)押數(shù)量。同時(shí),議員的數(shù)量和也會(huì)根據(jù)運(yùn)行情況進(jìn)行動(dòng)態(tài)調(diào)整。觀察員的數(shù)量則不設(shè)置上限。
記賬過程也是靈活參與。首先存入作為保證金的PNT代幣,然后申請(qǐng)記賬,經(jīng)過投票、鎖定代幣之后,獲得參與記賬的機(jī)會(huì)。如要退出記賬,申請(qǐng)解鎖質(zhì)押的代幣,到期后獲得解鎖代幣,完成退出。
通過散列抽簽算法,Penta網(wǎng)絡(luò)可以從議員和觀察員中隨機(jī)選擇組成若干個(gè)共識(shí)組。假如每個(gè)共識(shí)組記賬人數(shù)n,n是動(dòng)態(tài)調(diào)整的,其中,議員數(shù)量是(n1),那么,n/3<n1<2n/3,觀察員的數(shù)量是n2=n-n1。這樣保持了共識(shí)組里面靈活的組員比例,議員和觀察員都是動(dòng)態(tài)調(diào)整,同時(shí)都保持在一定的數(shù)量范圍之內(nèi)。
關(guān)于惡意節(jié)點(diǎn)的懲罰:由于賬戶上質(zhì)押了保證金,一旦發(fā)現(xiàn)任何故意破壞系統(tǒng)的行為,將會(huì)對(duì)節(jié)點(diǎn)進(jìn)行懲罰。比如議長(zhǎng)提出兩個(gè)及以上區(qū)塊BFT共識(shí)提案,其他節(jié)點(diǎn)可以舉證,一旦確認(rèn),議長(zhǎng)會(huì)收到遠(yuǎn)高于收益的懲罰。這會(huì)讓作惡的成本處于不對(duì)稱的狀態(tài)。
Penta網(wǎng)絡(luò)共識(shí)還能避免分叉。它有協(xié)議升級(jí)的機(jī)制。協(xié)議升級(jí)需要所有議員進(jìn)行BFT投票,(2n+1)/3以上議員贊成,即可在指定區(qū)塊高度自動(dòng)切換到新協(xié)議,保證協(xié)議升級(jí)不發(fā)生分叉。協(xié)議升級(jí)主要是一些參數(shù)調(diào)整,比如共識(shí)組節(jié)點(diǎn)數(shù)量、交易手續(xù)費(fèi)、最低保證金、議員和觀察員人數(shù)等。
對(duì)于節(jié)點(diǎn)來說,記賬可以獲得收益,交易也有手續(xù)費(fèi)收益。其中50%的PNT用于共識(shí)記賬激勵(lì)。在議長(zhǎng)提議的區(qū)塊被議員和觀察員確認(rèn)之后,候選區(qū)塊變成正式區(qū)塊,在這個(gè)過程中,參與貢獻(xiàn)的記賬節(jié)點(diǎn),也就是產(chǎn)生備選區(qū)塊的共識(shí)組成員都會(huì)得到相應(yīng)的PNT獎(jiǎng)勵(lì)。
Penta的共識(shí)機(jī)制吸取了PoS、DPoS的優(yōu)點(diǎn),也有自己的獨(dú)創(chuàng)之處,不用擔(dān)心分叉,不用擔(dān)心能源浪費(fèi),提高了效率,同時(shí)兼顧代幣較少持有人的利益,鼓勵(lì)更多人參與進(jìn)來,減少寡頭利益風(fēng)險(xiǎn),兼顧安全、效率、公平。
這種共識(shí)機(jī)制的設(shè)計(jì)值得探索,也值得保持長(zhǎng)期關(guān)注。
三、結(jié)語
共識(shí)機(jī)制是區(qū)塊鏈網(wǎng)絡(luò)運(yùn)轉(zhuǎn)的核心,區(qū)塊鏈上不同節(jié)點(diǎn)的副本要保持一致,都需要通過共識(shí)算法來達(dá)成。但是為了保證安全和去中心化,目前區(qū)塊鏈技術(shù)很難實(shí)現(xiàn)性能、安全和去中心化同時(shí)兼得。
不同的算法都有各自優(yōu)勢(shì)和不足。用PoW作為公鏈共識(shí)算法,很難實(shí)現(xiàn)擴(kuò)展性,很難在它的基礎(chǔ)上構(gòu)建DApp的生態(tài)基礎(chǔ),很難向主流人群擴(kuò)展。
用PoS或者DPoS共識(shí)算法,也有可能產(chǎn)生一些小概率事件,比如私鑰被盜取、超級(jí)節(jié)點(diǎn)合謀導(dǎo)致中心化趨勢(shì)等。在兼顧性能同時(shí),可能在去中心化和安全上出現(xiàn)了一些不足。
在共識(shí)算法上的實(shí)踐肯定還不會(huì)停止下來,而DSC的共識(shí)算法試圖平衡安全、去中心化和效率,以及公平等方面,希望在這個(gè)基礎(chǔ)上設(shè)計(jì)出一個(gè)可以安全、穩(wěn)定的價(jià)值傳遞網(wǎng)絡(luò)。
Penta的DSC共識(shí)協(xié)議跟DPoS不同的是,多了一個(gè)散列抽簽的算法,不僅僅照顧了代幣持有人的利益,還兼顧了更多公平和安全。
此外它還有插件化的共識(shí)組件,有靈活多種共識(shí)算法,可以支持到側(cè)鏈或獨(dú)立鏈。在Penta平臺(tái)上的記賬共識(shí)與DApp上側(cè)鏈或獨(dú)立鏈的共識(shí)分離,平臺(tái)層和業(yè)務(wù)層的解耦,不同的DApp采用不同的共識(shí)機(jī)制來達(dá)成自身的目的。
比如說,有的DApp對(duì)交易的性能要求不高,但對(duì)交易安全要求更高,它也許會(huì)選擇PoW算法,有的DApp對(duì)于交易性能要求很高,可能會(huì)采用DPoS的共識(shí)算法來達(dá)成目的。
未來的區(qū)塊鏈發(fā)展來看,由于要達(dá)成共識(shí),肯定會(huì)犧牲效率。但要走向大規(guī)模人群的采用,沒有性能又是不行的。這里的悖論需要解決,要么,采用更加均衡的架構(gòu)和共識(shí)機(jī)制,做一個(gè)平衡的取舍。要么,采用非區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)或者中心化的方式來解決問題。
如果在區(qū)塊鏈的前提下,要達(dá)成一個(gè)可以落地的方案。采取類似于DSC這樣的共識(shí)算法,可以兼顧安全、效率以及公平,同時(shí),通過一個(gè)比較靈活的設(shè)計(jì),采用側(cè)鏈和獨(dú)立鏈的模式,允許這些鏈采用組件化的其他共識(shí)算法,實(shí)現(xiàn)不同場(chǎng)景下的不同最優(yōu)選擇。
可以預(yù)見,未來除了PoW、PoS、DPoS、PBFT、PoA、PoI……之外,還會(huì)有更多層出不窮的共識(shí)算法,這對(duì)于區(qū)塊鏈發(fā)展的探索都是有益的。
風(fēng)險(xiǎn)警示:“藍(lán)狐筆記”所有文章都不構(gòu)成投資推薦,投資有風(fēng)險(xiǎn),建議對(duì)項(xiàng)目進(jìn)行深入考察,慎重做好自己的投資決策。
#專欄作家#
藍(lán)狐筆記,人人都是產(chǎn)品經(jīng)理專欄作家,微信公眾號(hào):lanhubiji。
本文由 @藍(lán)狐筆記 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Pixabay,基于 CC0 協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!