Harmony與Zilliqa等項(xiàng)目到底有何不同
目前而言,雖然走入現(xiàn)實(shí)技術(shù)和應(yīng)用的區(qū)塊鏈正慢慢被普羅大眾接受,但離其廣泛應(yīng)用顯然還有相當(dāng)一段長(zhǎng)的路要走,這其中,最大的一個(gè)障礙就是區(qū)塊鏈本身的響應(yīng)速度問(wèn)題。越來(lái)越多的商家開始接觸、了解并接受用比特幣和以太坊等虛擬貨幣支付進(jìn)行交易的概念,但如果真要將虛擬貨幣當(dāng)成一種正規(guī)且通用的支付手段,并占據(jù)跨境交易市場(chǎng),它的性能和相應(yīng)的技術(shù)基礎(chǔ)就需要達(dá)到Visa和Mastercard等這些人們?cè)缫蚜?xí)慣的傳統(tǒng)支付方式正面競(jìng)爭(zhēng)的水平。
從現(xiàn)有的事實(shí)看,區(qū)塊鏈還太落后了。目前區(qū)塊鏈的性能還無(wú)法滿足這一要求,比特幣每秒只能處理不到10筆交易,以太坊哪怕在最高峰時(shí)每秒也只能處理不到40筆交易,相比之下,Visa每秒處理的交易可達(dá)2000~5000筆,差距顯而易見(jiàn)。
目前多個(gè)區(qū)塊鏈項(xiàng)目已經(jīng)在嘗試用不同手段解決區(qū)塊鏈的性能問(wèn)題。以太坊提出了自己的擴(kuò)容方案——以太坊2.0,但目前開發(fā)進(jìn)度非常緩慢,擴(kuò)容升級(jí)遙遙無(wú)期。在區(qū)塊鏈領(lǐng)域,為了提升性能,通常需要犧牲其安全性或去中心化程度,這就是大家常說(shuō)并被廣為接受的區(qū)塊鏈“不可能三角”理論。分片技術(shù)作為最新的擴(kuò)容方案,是唯一一個(gè)突破不可能三角的方向。區(qū)塊鏈的分片簡(jiǎn)單來(lái)講,就是分而治之,將整個(gè)區(qū)塊鏈賬本橫向切分為更小的賬本。其實(shí),傳統(tǒng)的中心化信息系統(tǒng)早已經(jīng)開始使用分片技術(shù),但直到近期,這一技術(shù)才開始被區(qū)塊鏈?zhǔn)澜缢匾暋?/p>
Zilliqa可能是大家第一個(gè)想到的區(qū)塊鏈分片項(xiàng)目。被稱作“高性能公鏈”的Zilliqa在測(cè)試網(wǎng)中實(shí)現(xiàn)了2828筆比交易每秒(TPS)的速度。需要注意的是,在分片系統(tǒng)中,TPS交易速度(TPS)會(huì)隨節(jié)點(diǎn)數(shù)量的增加而增加,Zilliqa的這個(gè)TPS數(shù)值是在3600個(gè)節(jié)點(diǎn)中獲得的。在過(guò)去的一段時(shí)間里,除了Zilliqa還有一些新項(xiàng)目也在利用分片技術(shù)開發(fā)高性能區(qū)塊鏈。其中最令人期待的項(xiàng)目之一便是在過(guò)去一年里潛心開發(fā)的公鏈Harmony。作為下一代的開放式高性能公鏈,Harmony的愿景是無(wú)縫鏈接數(shù)十億人的經(jīng)濟(jì)運(yùn)轉(zhuǎn)。為了達(dá)到這個(gè)目標(biāo),Harmony在區(qū)塊鏈協(xié)議層、網(wǎng)絡(luò)層和系統(tǒng)層都做了大量創(chuàng)新。
是什么讓Harmony團(tuán)隊(duì)在眾多公鏈項(xiàng)目中脫穎而出?讓我們來(lái)深度剖析一下Harmony與Zilliqa等項(xiàng)目到底有何不同。
State Sharding狀態(tài)分片技術(shù)
盡管都是打著分片技術(shù)的期號(hào),但Harmony和Zilliqa的分片技術(shù)顯然有所差異。Zilliqa僅對(duì)網(wǎng)絡(luò)和交易進(jìn)行了分片,而Harmony則在這一基礎(chǔ)上,進(jìn)一步對(duì)區(qū)塊鏈狀態(tài)進(jìn)行了分片處理。簡(jiǎn)而言之,Zilliqa是將網(wǎng)絡(luò)節(jié)點(diǎn)分到不同的分片,每個(gè)分片包含幾百個(gè)節(jié)點(diǎn)(即網(wǎng)絡(luò)分片),這使得不同的交易可以被各分片同時(shí)處理(即交易分片)。然而,為了能夠處理跨片交易,每個(gè)分片的每個(gè)節(jié)點(diǎn)都需要存儲(chǔ)區(qū)塊鏈的整個(gè)賬本數(shù)據(jù),這使得某些性能差的節(jié)點(diǎn)無(wú)法參加到網(wǎng)絡(luò)中,進(jìn)而減弱去中心化。
相比之下,Harmony對(duì)區(qū)塊鏈的賬本數(shù)據(jù)也做了進(jìn)行了分片處理(即狀態(tài)分片),團(tuán)隊(duì)將這種在分片技術(shù)中各方面突破的總和方案命名為“深度分片”。深度分片,是包括對(duì)網(wǎng)絡(luò)、交易和狀態(tài)的多層分片,同時(shí)在網(wǎng)絡(luò)層的數(shù)據(jù)傳輸協(xié)議中,利用糾刪碼技術(shù)對(duì)區(qū)塊數(shù)據(jù)進(jìn)行分片,使廣播者的網(wǎng)絡(luò)壓力很小,再加上引入Kademlia路由協(xié)議,讓區(qū)塊數(shù)據(jù)能通過(guò)最短路徑傳輸?shù)侥康牡?,在此基礎(chǔ)上,還可以允許小節(jié)點(diǎn)的加入,最大限度地保證了去中心化程度。
PBFT Consensus Mechanism/PBFT共識(shí)機(jī)制
Zilliqa的共識(shí)機(jī)制被稱為PBFT(實(shí)用拜占庭容錯(cuò))協(xié)議。在這一協(xié)議里,一個(gè)節(jié)點(diǎn)被選為“領(lǐng)導(dǎo)者”,其余節(jié)點(diǎn)作為“驗(yàn)證者”。每一次共識(shí)過(guò)程包括兩個(gè)階段:prepare(準(zhǔn)備)和commit(確認(rèn))。在每個(gè)階段,領(lǐng)導(dǎo)者向所有驗(yàn)證者廣播一個(gè)提議,所有驗(yàn)證者收到提議后,再反過(guò)來(lái)將自己的投票意見(jiàn)廣播給其他人,最后每個(gè)驗(yàn)證者都要計(jì)算所有收到的其他投票。這個(gè)過(guò)程導(dǎo)致總消息復(fù)雜度為O(n*n),這里n是總節(jié)點(diǎn)數(shù)。通過(guò)簡(jiǎn)單的計(jì)算可知,這種算法在幾百個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)中并不實(shí)用。
Harmony 在 PBFT 算法的基礎(chǔ)上進(jìn)行了大量改良,創(chuàng)造出FBFT算法(快速拜占庭算法)。在這個(gè)新的算法中,驗(yàn)證者不用廣播他們的投票,只需通過(guò)數(shù)字簽名的方式把投票發(fā)給領(lǐng)導(dǎo)者即可,領(lǐng)導(dǎo)者把收到的數(shù)字簽名合成為一個(gè)數(shù)據(jù)量位O(1)的多重簽名,再?gòu)V播出去,這使得整個(gè)共識(shí)過(guò)程的消息復(fù)雜度從O(n*n)驟降到O(n)。
此外,驗(yàn)證者的選取是通過(guò)PoS抵押代幣的機(jī)制完成的,想要成為驗(yàn)證者的節(jié)點(diǎn)需要抵押一定數(shù)量的代幣才有權(quán)參與共識(shí)。PoS相比于PoW有節(jié)能高效的特點(diǎn),在這點(diǎn)上,基于PoS的Harmony要比基于PoW的Zilliqa具有更多優(yōu)勢(shì)。抵押代幣越多的節(jié)點(diǎn),被選為領(lǐng)導(dǎo)者的幾率越大,但恰恰因?yàn)榈盅捍鷰旁蕉?,他們才不?huì)輕易作惡,因?yàn)橐坏┍痪W(wǎng)絡(luò)檢查到,他們的抵押代幣將會(huì)被全部沒(méi)收。
Distributed Randomness Generation/分布式隨機(jī)數(shù)生成
分片區(qū)塊鏈系統(tǒng)通常需要一個(gè)隨機(jī)的節(jié)點(diǎn)分配過(guò)程,目的是避免單一分片受到攻擊。這就需要生成一個(gè)隨機(jī)數(shù)來(lái)實(shí)現(xiàn)隨機(jī)的分片過(guò)程。隨機(jī)數(shù)本身需要具有完全不可預(yù)測(cè),不可干擾的特性,這樣惡意節(jié)點(diǎn)就無(wú)法知道它將被分配到哪個(gè)分片。此外,這個(gè)隨機(jī)數(shù)的產(chǎn)生過(guò)程還需要快速并且可驗(yàn)證。
在這個(gè)問(wèn)題上,我們先看看Harmony白皮書里提到的其他幾個(gè)分片項(xiàng)目方案的做法。項(xiàng)目Omniledger采用的分布式隨機(jī)數(shù)產(chǎn)生協(xié)議叫RandHound,協(xié)議中會(huì)把所有參與的節(jié)點(diǎn)劃分成若干組,我們以c代表組數(shù)。這個(gè)協(xié)議的弱點(diǎn)在于它的復(fù)雜度為O(n*c*c),對(duì)于節(jié)點(diǎn)眾多的區(qū)塊鏈系統(tǒng)來(lái)說(shuō),如此高的復(fù)雜度會(huì)使協(xié)議速度極慢。RapidChain作為比Omniledger更新的分片項(xiàng)目設(shè)計(jì),采用了基于Verifiable Secret Sharing(VSS)的分布式隨機(jī)數(shù)產(chǎn)生協(xié)議。雖然這個(gè)協(xié)議比RandHound快很多,但它并不安全,容易受到攻擊者的干擾和阻礙。大家熟知的項(xiàng)目Algorand用到了Verifiable Random FuncTIon(VRF)作為隨機(jī)數(shù),雖然它是基于密碼學(xué)里重要的技術(shù),但它不是分布式的協(xié)議,任何單一節(jié)點(diǎn)都可以獨(dú)自完成隨機(jī)數(shù)過(guò)程。最后以太坊2.0采用了Verifiable Delay FuncTIon(VDF)的最新技術(shù),可以大大提高分布式隨機(jī)數(shù)協(xié)議的安全性。
有了信標(biāo)鏈的保護(hù),攻擊者必須同時(shí)攻陷分片鏈和信標(biāo)鏈才有可能進(jìn)行雙花攻擊。不止如此,由于信標(biāo)鏈在分片鏈區(qū)塊頭的廣播中起到了中樞的作用,所導(dǎo)致的網(wǎng)絡(luò)開銷僅為O(n)的量級(jí)。設(shè)想一下,如果沒(méi)有信標(biāo)鏈的幫助,每個(gè)分片都需要分別廣播它的區(qū)塊頭,那么總體網(wǎng)絡(luò)開銷將是O(n*n),這極有可能造成網(wǎng)絡(luò)阻塞,而通過(guò)信標(biāo)鏈,Harmony則巧妙地避免了這個(gè)問(wèn)題。
ParTIng Thoughts/總結(jié)
可以看出,Harmony愿景遠(yuǎn)大,而一個(gè)遠(yuǎn)大宏大的愿景是成功改變世界的起點(diǎn)開始。在測(cè)試網(wǎng)中,Harmony利用44,000個(gè)節(jié)點(diǎn)跑出了驚人的118,000TPS的數(shù)據(jù)。誠(chéng)然,好的技術(shù)也需要有好的落地場(chǎng)景和市場(chǎng)來(lái)檢驗(yàn),Harmony團(tuán)隊(duì)在市場(chǎng)開發(fā)這方面也毫不遜色,相信他們會(huì)在不久的將來(lái)開拓出自己的市場(chǎng)。除此之外更重要的是,Harmony是一個(gè)關(guān)注社群建設(shè)的項(xiàng)目,他們的開發(fā)者一直在Telegram和Discord上積極回答社群?jiǎn)栴},并聽(tīng)取建議。