基于VRF的共識(shí)機(jī)制介紹
在區(qū)塊鏈從POW機(jī)制向POS機(jī)制進(jìn)化之路上,不可避免地會(huì)碰到一個(gè)核心問題:舍棄POW這種強(qiáng)算力型的隨機(jī)算法后,POS應(yīng)該采用何種低功耗隨機(jī)算法可以保證礦工記賬權(quán)益的公正公平性的同時(shí),還能保障系統(tǒng)魯棒性。從以太坊遲遲未能升級(jí)Casper看出,真隨機(jī)數(shù)問題一直以來是POS的核心問題。
在此情況下,VRF算法近年來得到越來越多人關(guān)注,它是一種低能耗,高效率的隨機(jī)數(shù)算法,并提供了非對(duì)稱密鑰可驗(yàn)證機(jī)制。
VRF全稱Verifiable Random Functions(可驗(yàn)證隨機(jī)函數(shù)),盡管上世紀(jì)末該算法就已提出,但直到近段時(shí)間Algorand、DFINITY等公鏈項(xiàng)目的聲名鵲起,人們才意識(shí)到:基于VRF的共識(shí)機(jī)制,或許才是“不可能三角”的正解。
提到VRF,業(yè)內(nèi)可能會(huì)第一時(shí)間想到兩個(gè)明星公鏈項(xiàng)目:DFINITY和Algorand。在POS共識(shí)機(jī)制發(fā)展歷程來看,DFINITY和Algorand的確有著舉足輕重的地位:Algorand是由麻省理工(MIT)教授和圖靈獎(jiǎng)得主Silvio Micali創(chuàng)立的,首個(gè)將VRF算法引入?yún)^(qū)塊鏈,通過VRF秘密抽簽機(jī)制很好地解決POS機(jī)制下提案者和驗(yàn)證者隨機(jī)選擇問題;而DFINITY也有深厚的學(xué)術(shù)背景,創(chuàng)新地將門限簽名技術(shù)引入?yún)^(qū)塊鏈,驗(yàn)證性能更加高效。它們分別從前沿學(xué)術(shù)研究作為切入點(diǎn),將適用的密碼學(xué)算法引入?yún)^(qū)塊鏈領(lǐng)域,從不同角度嘗試去解決POS機(jī)制現(xiàn)有問題,同時(shí)兩者也分別在今年下半年逆市拿到上億的融資。
之前我們關(guān)注到業(yè)內(nèi)一篇關(guān)于VRF的分析探討:《3大熱門公鏈項(xiàng)目Algorand、DFINITY和Thunder共識(shí)體制的技術(shù)分析》。不可否認(rèn)的是,Algorand、DFINITY的確是VRF共識(shí)的先驅(qū),兩者從不同角度考慮并設(shè)計(jì)了VRF的使用方案。
不過根據(jù)論文解讀和代碼實(shí)踐驗(yàn)證,前文所述的兩者目前存在的問題也得到確認(rèn):
1、Algorand難以達(dá)到宣稱的高性能,去中心化也存在問題;
2、DFINITY在安全性和性能上都存在較多疑點(diǎn);
3、兩者在真正Dapp落地方面都存在問題。
如果將Algorand、DFINITY所代表的VRF陣營優(yōu)劣勢一一列舉,基本上可以得到目前現(xiàn)行VRF機(jī)制的不足之處及與之相對(duì)應(yīng)的解決方案。
VRF共識(shí)機(jī)制缺陷及TASchain解決方案
可以很明顯從圖1-1中看出,學(xué)術(shù)性VRF在節(jié)能上有著巨大的優(yōu)勢,但相應(yīng)存在三個(gè)主要問題:網(wǎng)絡(luò)通訊效率低、缺乏經(jīng)濟(jì)激勵(lì)機(jī)制、去中心化程度低。對(duì)于這些存在的問題,TASchain給出了現(xiàn)階段來看的最優(yōu)解。首先,在展開之前要說的是:
TASchain是什么?
TASchain是高可用、強(qiáng)安全、高效率的去中心化分布式應(yīng)用平臺(tái)。獨(dú)創(chuàng)的基于VRF+BLS的共識(shí)算法Chiron,在保證去中心化和高安全的同時(shí),達(dá)到了高性能和低能耗。共識(shí)內(nèi)核TPS達(dá)到3000+,并可通過分片分層和分布并行技術(shù)擴(kuò)展到數(shù)萬甚至更高,足以滿足商業(yè)化應(yīng)用需求。針對(duì)商業(yè)落地場景,TASchain推出即插即用的應(yīng)用組件,降低開發(fā)成本的同時(shí)大幅提高易用性。
簡單介紹完,讓我們回到VRF的三項(xiàng)問題以及對(duì)應(yīng)的TASchain的解決方案。
一、網(wǎng)絡(luò)通訊效率低
VRF共識(shí)機(jī)制需要提案組和驗(yàn)證組協(xié)同工作。區(qū)塊在組內(nèi)、組間節(jié)點(diǎn)之間的傳播以及同步速度,在很大部分決定了系統(tǒng)的性能。在基于VRF分組模型的網(wǎng)絡(luò)通訊上,Algorand和DFINITY目前都沒給出良好的方案。
要解決網(wǎng)絡(luò)通訊效率低的問題,TASchain目前的做法是:使用新型的NAT穿透技術(shù)大幅提高節(jié)點(diǎn)在線率;針對(duì)分組鑄塊模式,設(shè)計(jì)了雙層KAD網(wǎng)絡(luò)提高通訊效率;使用RUDP代替TCP作為通訊協(xié)議,通訊延時(shí)降低35%左右。
二、缺乏經(jīng)濟(jì)激勵(lì)機(jī)制
回顧比特幣的POW,可以看到用結(jié)合技術(shù)的通證經(jīng)濟(jì)設(shè)計(jì)而不是單純的安全技術(shù)保證了提案者無法作惡。在POW中,提案者得到提案權(quán)需要預(yù)先付出算力成本,若其提案區(qū)塊有問題(交易雙花),則該提案區(qū)塊在全網(wǎng)其他節(jié)點(diǎn)驗(yàn)證必將失敗,從而不但沒有鑄塊收益,還付出了算力成本。
比特幣的多年運(yùn)行可以證明:良好的通證經(jīng)濟(jì)設(shè)計(jì)是保障系統(tǒng)安全非常好的手段。
TASchain借鑒比特幣的思想,結(jié)合密碼學(xué)和工程技術(shù)設(shè)計(jì)了良好的獎(jiǎng)懲機(jī)制,對(duì)合法參與鑄塊的礦工進(jìn)行按勞獎(jiǎng)勵(lì),對(duì)作惡者(交易雙花,無利害關(guān)系,女巫攻擊等等)能進(jìn)行識(shí)別并進(jìn)一步經(jīng)濟(jì)懲罰。這種分組模式下按勞分配的經(jīng)濟(jì)激勵(lì)制度,很大程度上將解決現(xiàn)有VRF共識(shí)缺乏經(jīng)濟(jì)激勵(lì)機(jī)制的弊端。
三、去中心化程度低
要討論共識(shí)機(jī)制的去中心化,不能僅僅看參與鑄塊的必要條件,而是要深度分析系統(tǒng)對(duì)節(jié)點(diǎn)算力、帶寬、存儲(chǔ)等綜合要求。這些要求越低,普羅大眾越能真正參與到系統(tǒng)的共建中。
從這個(gè)角度來看,即使像Algorand、DFINITY也都存在較大的問題。這兩個(gè)項(xiàng)目更多從學(xué)術(shù)角度思考,為了解決安全性問題把共識(shí)階段的驗(yàn)證組規(guī)模設(shè)計(jì)得較大。但一到實(shí)際工程實(shí)現(xiàn),就會(huì)發(fā)現(xiàn)驗(yàn)證組內(nèi)的通訊量巨大,導(dǎo)致參與節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬門檻變得很高,實(shí)際阻礙了普通用戶參與到系統(tǒng)中。(具體詳見圖1-2)
因此,現(xiàn)有VRF機(jī)制在去中心化要面對(duì)的問題,其實(shí)也跟比特幣一樣,盡管準(zhǔn)入機(jī)制均為高度去中心化,但算力成為門檻后,普通用戶無法參與比特幣。
但如果可以設(shè)計(jì)良好的獎(jiǎng)懲機(jī)制,能對(duì)明確作惡行為進(jìn)行識(shí)別和懲罰,則就可以用結(jié)合技術(shù)的通證經(jīng)濟(jì)設(shè)計(jì)來保障系統(tǒng)安全,那么驗(yàn)證組規(guī)模就無需太大,如100人/組就可以完成。不但提高了去中心化程度,也提高了性能。達(dá)到了去中心化與高性能的平衡。
TASchain正是采用這樣的方式對(duì)VRF做迭代和升級(jí)。驗(yàn)證組規(guī)模的縮小,會(huì)使驗(yàn)證組內(nèi)的通訊量,以及簽名數(shù)據(jù)相應(yīng)大幅減少,從而解決一個(gè)鑄塊高度驗(yàn)證節(jié)點(diǎn)眾多(通訊量大,簽名數(shù)據(jù)多)、存儲(chǔ)浪費(fèi)影響性能的問題??赡艽嬖谘芯咳藛T覺得100人/組的數(shù)字太過理想化,然而實(shí)際根據(jù)TASchain實(shí)驗(yàn)數(shù)據(jù)測算,目前已經(jīng)可以達(dá)到“上行速率400KB/S,下行速率2MB/S”的目標(biāo)。再根據(jù)前面的數(shù)據(jù),可以得出以下對(duì)比:
通過圖表看出,其實(shí)普通家庭寬帶就可以滿足TASchain的節(jié)點(diǎn)帶寬要求,從而很好解決了VRF系統(tǒng)去中心化程度不高的問題。
TASchain如何解決Algorand、DFINITY的缺陷
眾所周知,POS機(jī)制分為提案(proposal)和驗(yàn)證(agreement)兩個(gè)階段。提案的安全性和驗(yàn)證的效率決定了POS能否真正成為下一代公鏈的共識(shí)。
從提案的安全性上考量,以DFINITY為代表存在的系統(tǒng)安全問題(DDOS攻擊、提案者與驗(yàn)證組聯(lián)手作惡),TASchain嘗試通過“后驗(yàn)方式”解決。簡單地說,是參與者使用自己的私鑰自行計(jì)算VRF,若滿足提案條件則成為本輪提案者,打包交易完成提案區(qū)塊后,將提案區(qū)塊和憑證(VRF proof)一起對(duì)外廣播,其他參與者通過憑證(VRF proof)計(jì)算才能確定其身份合法性。因此,在本環(huán)節(jié)任務(wù)結(jié)束之前,參與者的角色身份都是個(gè)秘密,這也極大程度上避免了被惡意者“腐化”或者DDOS攻擊的風(fēng)險(xiǎn)。
另外想要徹底解決DFINITY系統(tǒng)中存在的提案者和驗(yàn)證組聯(lián)手作惡的可能,TASchain還進(jìn)行了一系列的增強(qiáng)設(shè)計(jì):提案者多點(diǎn)并行方式給出提案區(qū)塊,在驗(yàn)證組內(nèi)競爭簽名達(dá)成共識(shí)。而針對(duì)最嚴(yán)重的51%攻擊,目前在業(yè)內(nèi)有提出“系統(tǒng)健康度概念”,即超級(jí)中心需要控制95%的節(jié)點(diǎn),才能發(fā)起類似比特幣的51%攻擊。這些增強(qiáng)設(shè)計(jì)也都是TASchain業(yè)內(nèi)首創(chuàng)的技術(shù)。
POS機(jī)制中,因?yàn)樘岚负臅r(shí)很短可以忽略,所以鑄塊時(shí)間(即系統(tǒng)的性能)主要取決于網(wǎng)絡(luò)傳播以及共識(shí)過程。Algorand在驗(yàn)證階段采用的BA*算法,需要多步(期望值13步,即除了提案組,尚需12個(gè)驗(yàn)證組)才能完成驗(yàn)證,而DFINITY選擇門限簽名,僅需一輪無交互的驗(yàn)證簽名便顯得十分高效。從這點(diǎn)來說,DFINITY的解法要比Algorand更優(yōu)。
高效的同時(shí)仍有相當(dāng)大的優(yōu)化空間。TASchain在共識(shí)階段采用與BLS算法相似的門限簽名算法時(shí),通過采用不同的橢圓曲線,以及更安全高效的雙線性對(duì)算子,可以在提案區(qū)塊進(jìn)行驗(yàn)證的同時(shí)達(dá)成共識(shí)。這意味著效率將極高——至少3000TPS,同時(shí)可以保持簽名數(shù)據(jù)量小、每輪產(chǎn)生唯一且不可預(yù)測的隨機(jī)數(shù)等優(yōu)點(diǎn)。
將上述Algorand、DFINITY的問題解決并優(yōu)化解決方案,其實(shí)只需要一句話:通過VRF秘密抽簽選擇多名提案者并行提案,通過門限簽名算法來達(dá)成驗(yàn)證組內(nèi)共識(shí)。
跳出VRF
如果想要真正解決“不可能三角”,單單局限在VRF一點(diǎn)往往是不夠的。比特幣和以太坊,兩者都有一個(gè)同樣的安全問題,是什么?
全量賬本缺失的潛在風(fēng)險(xiǎn)。
TPS提升到1000,對(duì)比比特幣來說,意味著單位時(shí)間內(nèi)的交易數(shù)增長125倍,相應(yīng)的賬本存儲(chǔ)量將會(huì)大大增加。
對(duì)此,TASchain設(shè)計(jì)了輕節(jié)點(diǎn)和重節(jié)點(diǎn)的分工機(jī)制,重節(jié)點(diǎn)存儲(chǔ)全量賬本,輕節(jié)點(diǎn)存儲(chǔ)最小賬本(全部賬戶余額和最近的若干區(qū)塊)來減輕賬本存儲(chǔ)量。輕節(jié)點(diǎn)保存的最小賬本,足夠滿足驗(yàn)證礦工對(duì)提案礦工的鑄塊進(jìn)行一致性和準(zhǔn)確性驗(yàn)證,同時(shí)分享部分的鑄塊收益。
不難估計(jì),當(dāng)新型共識(shí)機(jī)制將TPS提升到1000甚至更高后,礦工迫于存儲(chǔ)條件,可能會(huì)采用最小賬本模式來參與鑄塊。對(duì)區(qū)塊鏈系統(tǒng)而言,全量賬本的缺失,表面上會(huì)表現(xiàn)為賬本同步和新節(jié)點(diǎn)加入會(huì)越來越難,深層次而言,區(qū)塊鏈賬本不可篡改,可追溯的基石就不存在了。
為了避免這種情況的發(fā)生,TASchain設(shè)計(jì)了對(duì)重節(jié)點(diǎn)全量賬本的核查——這一點(diǎn)是Algorand,還是DFINITY都沒有涉及到的(最小賬本模式同樣適用于兩者)。TASchain的共識(shí)機(jī)制,每次鑄塊通過隨機(jī)數(shù)指定全量賬本中的某些區(qū)塊,重節(jié)點(diǎn)必須給出這些區(qū)塊的存儲(chǔ)證明,方能有權(quán)提案參與鑄塊。在保證系統(tǒng)有充足的全量賬本節(jié)點(diǎn)后,其安全性將進(jìn)一步提高。
總結(jié)
每一次巨大的技術(shù)進(jìn)步離不開學(xué)界的創(chuàng)新,但是工業(yè)界的落地同樣任重道遠(yuǎn)。站在巨人的肩膀上,在看的更遠(yuǎn)的同時(shí),也需要走的更遠(yuǎn)。在“不可能三角”的最優(yōu)解上,TASchain將繼續(xù)沿著正確的方向前進(jìn),推進(jìn)技術(shù)變革,并不遺余力實(shí)現(xiàn)Dapp的落地與大范圍運(yùn)用。