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