區(qū)塊鏈里,很多人對(duì)比特幣(BTC)最為熟悉。然而,比特幣網(wǎng)絡(luò)每秒最多只能處理7筆交易,超過(guò)的交易只能按順序排隊(duì)等著。
最擁擠的時(shí)候,有超過(guò)15萬(wàn)筆的比特幣交易在排隊(duì)等候處理(注1)。也許,你會(huì)嘀咕:這種性能的比特幣怎么和微信、支付寶PK呢?
確實(shí),這個(gè)問(wèn)題——擴(kuò)容,早已成為區(qū)塊鏈(不僅僅是比特幣)的重點(diǎn)優(yōu)化方向。
01
那我們需要多高性能的區(qū)塊鏈呢?
很多人會(huì)把Visa、或者雙11時(shí)淘寶的峰值交易處理速度作為區(qū)塊鏈的性能優(yōu)化目標(biāo)。
事實(shí)上,在一些特殊場(chǎng)景下,這個(gè)性能也可能是不夠的,比如將區(qū)塊鏈應(yīng)用于物聯(lián)網(wǎng)時(shí),對(duì)終端和設(shè)備的實(shí)時(shí)訪問(wèn)控制需求,就需要極高的數(shù)據(jù)傳輸和處理速率。
因此,如果要用區(qū)塊鏈來(lái)構(gòu)建價(jià)值傳遞網(wǎng)絡(luò),有人認(rèn)為它的性能至少應(yīng)該以目前整個(gè)互聯(lián)網(wǎng)信息的數(shù)據(jù)實(shí)時(shí)處理速度為目標(biāo)(包括每秒200萬(wàn)封郵件、6.5萬(wàn)次google搜索、7.2萬(wàn)次youtube視頻等、以及53TB的數(shù)據(jù)流程。數(shù)據(jù)出處見注2),這已經(jīng)絕非簡(jiǎn)單只用每秒處理量(TPS)來(lái)要求了。
如何在目前區(qū)塊鏈有限處理能力的基礎(chǔ)上進(jìn)行提升呢?
這其中存在著巨大的挑戰(zhàn)和機(jī)會(huì),近幾年,眾多擴(kuò)容方案紛紛登臺(tái)亮相,總體上,它們都來(lái)自于兩大陣營(yíng):鏈上擴(kuò)容和鏈下擴(kuò)容。
02
鏈上擴(kuò)容
最先登臺(tái)的是鏈上擴(kuò)容派,也常被稱為layer-1擴(kuò)容。
所謂鏈上,顧名思義,就是直接在區(qū)塊鏈上動(dòng)手術(shù),直接修改區(qū)塊鏈的基礎(chǔ)規(guī)則,包括區(qū)塊大小、共識(shí)機(jī)制等。拿修路打個(gè)比方,如果車多路堵了,最直接的就是把原來(lái)的雙向二股車道擴(kuò)充成四股,再不夠就改成六股、八股。
比特幣現(xiàn)在每秒只能處理7筆,直接原因是出塊慢、區(qū)塊容量小,那就把出塊速度提高、區(qū)塊變大。
比如萊特幣(LTC),在比特幣代碼基礎(chǔ)上,把出塊速度從平均10分鐘左右,提高了4倍到每2.5分鐘出塊;還有比特幣現(xiàn)金(BCH),也是在比特幣基礎(chǔ)上,把區(qū)塊從1M大小直接提到32M,處理能力提高了32倍;還有采用相對(duì)復(fù)雜的分片方案,把原來(lái)全網(wǎng)共同處理每一筆交易,優(yōu)化成多個(gè)小組并行運(yùn)作,在同樣的時(shí)間干更多的活,等等。
鏈上擴(kuò)容這種方式比較直接,不過(guò)也和道路直接擴(kuò)充一樣,有點(diǎn)折騰,或者說(shuō)很難一步到位。好不容易實(shí)現(xiàn)了擴(kuò)容,更高性能需求的應(yīng)用場(chǎng)景又出現(xiàn)了,需要不斷地超越自己。而且,因?yàn)樗薪灰兹匀恍枰趨^(qū)塊鏈這個(gè)分布式系統(tǒng)中進(jìn)行數(shù)據(jù)同步,整個(gè)網(wǎng)絡(luò)的性能瓶頸會(huì)取決于其中單臺(tái)服務(wù)器的處理性能。
所以,通常會(huì)認(rèn)為鏈上擴(kuò)容方案在性能上會(huì)存在難以逾越的天花板。
03
鏈下擴(kuò)容
于是,從2018年開始,涌現(xiàn)了越來(lái)越多的鏈下擴(kuò)容方案,也常被稱為L(zhǎng)ayer-2擴(kuò)容方案。
鏈下擴(kuò)容和鏈上擴(kuò)容是相對(duì)的,鏈下擴(kuò)容陣營(yíng)換了種思路,他們不直接改動(dòng)區(qū)塊鏈本身的規(guī)則(區(qū)塊大小、共識(shí)機(jī)制等),而是在其之上再架設(shè)一層來(lái)做具體的活,只將必要信息、或需要共識(shí)參與(如數(shù)據(jù)出錯(cuò)、發(fā)生糾紛時(shí))時(shí)才與區(qū)塊鏈進(jìn)行信息交互和傳播。因?yàn)閿U(kuò)容本質(zhì)上沒(méi)有發(fā)生在區(qū)塊鏈上,因此這類方案被直觀地稱為鏈下擴(kuò)容。
仍然拿道路擴(kuò)容打比方的話,鏈下擴(kuò)容不是在原有道路上擴(kuò)充,而是在現(xiàn)有路線上架個(gè)可以四通八達(dá)的高架、或者隧道,普通汽車都上那兒開,原來(lái)的路不到萬(wàn)不得已盡量不用。
鏈下擴(kuò)容方案中,大量的事務(wù)通常只在參與節(jié)點(diǎn)間直接交易,不會(huì)進(jìn)行全網(wǎng)傳播,效率直接取決于節(jié)點(diǎn)間的網(wǎng)絡(luò)性能,顯然效率更高。而且因?yàn)闆](méi)有全網(wǎng)廣播,信息不能公開可查,通常隱私性也更高。
因此,鏈下交易性能不受原有區(qū)塊鏈性能的影響,鏈下擴(kuò)容的性能目標(biāo)沒(méi)有最高,只有更高。
鏈下擴(kuò)容主要包括狀態(tài)通道、側(cè)鏈等解決方案,閃電網(wǎng)絡(luò)就是鏈下擴(kuò)容的代表選手之一。
在閃電網(wǎng)絡(luò)中,交易雙方可直接構(gòu)建通道,之后便可在通道內(nèi)點(diǎn)對(duì)點(diǎn)實(shí)現(xiàn)任意多筆零確認(rèn)的交易,只需要在通道開啟和關(guān)閉時(shí)才跟區(qū)塊鏈“打個(gè)招呼”,在全網(wǎng)傳播確認(rèn)即可。
它不需要修改比特幣的共識(shí)算法,比特幣網(wǎng)絡(luò)從每筆交易的處理者,后退一步,僅處理少量關(guān)鍵交易,或在交易出現(xiàn)糾紛時(shí)進(jìn)行處理以“主持公道”。這樣的工作量現(xiàn)有性能即可滿足。
當(dāng)然,鏈下擴(kuò)容也并非完美,其方案也伴隨著是否會(huì)帶來(lái)中心化、或者數(shù)據(jù)可能會(huì)被修改等等疑慮。
不過(guò),作為普通用戶,通常不會(huì)考慮具體采用了哪種解決方案的。隨著區(qū)塊鏈商業(yè)應(yīng)用場(chǎng)景的落地,哪些解決方案能更好地解決問(wèn)題,并且不影響使用體驗(yàn),就很可能會(huì)在擴(kuò)容方案中勝出。