加密貨幣網(wǎng)絡(luò)發(fā)展的這幾年,以擴(kuò)容為特點(diǎn)的項(xiàng)目有很多,不過(guò)能作為“標(biāo)志性解決方案”的并不多,例如以太坊2.0的同構(gòu)分片,波卡構(gòu)建的異構(gòu)分片,Plasma的側(cè)鏈,zkSync、Optimistic、StarkWare等的layer2,COSMOS的跨鏈結(jié)構(gòu)(用跨鏈擴(kuò)容)。
這些項(xiàng)目都在不斷尋找基于以太坊、比特幣的區(qū)塊鏈結(jié)構(gòu)最適合的擴(kuò)容方法。以太坊2.0的關(guān)注度是最高的,主打PoW切換PoS,然后壓縮交易數(shù)據(jù)(rollup),塑造分片結(jié)構(gòu)(sharding,非數(shù)據(jù)分片),這種方式極為漫長(zhǎng),屬于是加密貨幣網(wǎng)絡(luò)的終極思路,但不能否認(rèn)這是極為必要的長(zhǎng)久之路。
而從本質(zhì)上來(lái)看,區(qū)塊鏈結(jié)構(gòu)優(yōu)勢(shì)明顯,天花板也極為明顯。如果想創(chuàng)新,如果不打破區(qū)塊鏈結(jié)構(gòu)帶來(lái)的天花板,業(yè)內(nèi)似乎很難走向下一步,筆者認(rèn)為業(yè)內(nèi)的創(chuàng)新需要從很多成熟產(chǎn)業(yè)和成熟技術(shù)體系里借鑒思路。
關(guān)于打破性能天花板,就可以借鑒云計(jì)算平臺(tái)的設(shè)計(jì)。
區(qū)塊鏈的瓶頸過(guò)于明顯
區(qū)塊鏈的瓶頸來(lái)源于其最優(yōu)勢(shì)的地方:共識(shí)。
共識(shí)的運(yùn)行過(guò)程是多方(節(jié)點(diǎn)設(shè)備)對(duì)同一數(shù)據(jù)(區(qū)塊)進(jìn)行計(jì)算的過(guò)程,例如比特幣,是某一節(jié)點(diǎn)打包區(qū)塊后廣播給所有節(jié)點(diǎn)逐一保存。
即使以太坊2.0從PoW切換到PoS后,只是會(huì)加快整個(gè)共識(shí)過(guò)程,減少單次共識(shí)完成的時(shí)間,以增加單位時(shí)間內(nèi)的處理數(shù)量。而在海量計(jì)算需求面前,PoS依舊是天花板過(guò)于明顯。
這樣,每一個(gè)區(qū)塊鏈結(jié)構(gòu)里,就會(huì)出現(xiàn)上圖中的模型,所有的計(jì)算任務(wù),是在搶占一個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算資源,若干個(gè)任務(wù)都在搶占一個(gè)狹窄的通道。
如果在一些應(yīng)用場(chǎng)景里要求并發(fā)量沒(méi)有那么高,可以通過(guò)提高單個(gè)節(jié)點(diǎn)的計(jì)算能力,更換更快的共識(shí)算法,以及對(duì)拼搶資源的任務(wù)做一下“通過(guò)”時(shí)間分配,可以順利疏通整個(gè)確認(rèn)過(guò)程。
不過(guò),可惜的是,對(duì)于很多高并發(fā)場(chǎng)景(區(qū)塊鏈不能止步于金融和單一場(chǎng)景),一定會(huì)堵塞、慢、甚至于完全不能進(jìn)行,亦或者因?yàn)槎氯l(fā)其他問(wèn)題(例如安全)。
解決這個(gè)問(wèn)題,需要在任務(wù)處理時(shí)實(shí)現(xiàn)足夠多的并行處理量,才能增加網(wǎng)絡(luò)單位時(shí)間內(nèi)任務(wù)處理的上限值。
如果借鑒云計(jì)算的擴(kuò)容和并行思路,加密貨幣網(wǎng)絡(luò)該如何實(shí)現(xiàn)呢?
云計(jì)算提供的思路,最基礎(chǔ)的要求,是接入系統(tǒng)的網(wǎng)絡(luò)資源,不是多臺(tái)計(jì)算設(shè)備接入,對(duì)外輸出的資源上限只是一個(gè)計(jì)算設(shè)備的上限,而是N臺(tái)計(jì)算設(shè)備接入后,網(wǎng)絡(luò)的處理能力,是N倍提升的。
這恰恰是加密貨幣網(wǎng)絡(luò)需要的,每個(gè)加密貨幣網(wǎng)絡(luò)都有若干個(gè)計(jì)算設(shè)備的接入,而最終的性能局限在了共識(shí)層的結(jié)構(gòu)部分。
我們具體來(lái)看,傳統(tǒng)云計(jì)算平臺(tái)存在水平擴(kuò)容和垂直擴(kuò)容,水平擴(kuò)容即并行,將任務(wù)分流分區(qū)處理。垂直擴(kuò)容即增加單臺(tái)設(shè)備的處理能力,這就很像:解決擴(kuò)容問(wèn)題的一個(gè)思路是加大區(qū)塊。
云計(jì)算中并行的舉例,數(shù)據(jù)生成適合并行的結(jié)構(gòu),繼而利用GPU的性能快速處理
但加密貨幣網(wǎng)絡(luò)中區(qū)塊鏈結(jié)構(gòu)無(wú)法改變的時(shí)候,實(shí)現(xiàn)并行的思路已經(jīng)演化為2種。
本文中,白計(jì)劃團(tuán)隊(duì)將以O(shè)asis、Phala、PlatON、Dfinity、Filecoin、IOTA 6個(gè)加密貨幣項(xiàng)目為例闡述兩種主要實(shí)現(xiàn)并行的思路。
(白計(jì)劃注:排列順序是根據(jù)依靠安全硬件并行和依靠改善算法并行區(qū)分的)
當(dāng)這些加密貨幣網(wǎng)絡(luò)在具備云化并行的能力后,將承擔(dān)未來(lái)很多互聯(lián)網(wǎng)遺留問(wèn)題的解決預(yù)期。
主流的2種并行思路拆分
以上的項(xiàng)目可以分為兩種思路解決擴(kuò)容和并行問(wèn)題。
其一是以O(shè)asis、Phala、PlatON為代表,通過(guò)將可信計(jì)算硬件作為計(jì)算設(shè)備接入網(wǎng)絡(luò),硬件設(shè)備具備很高的計(jì)算能力和安全能力,可以將計(jì)算過(guò)程、存儲(chǔ)過(guò)程賦予安全性。而這些單個(gè)設(shè)備(或集群)又可以獨(dú)立承擔(dān)獨(dú)立的處理工作,這樣在共識(shí)層外實(shí)現(xiàn)并行和安全計(jì)算,總結(jié)為獨(dú)立的可信計(jì)算。
其二是以Dfinity、IOTA、Filecoin為代表,通過(guò)研發(fā)新的算法在共識(shí)層,改變區(qū)塊交易確認(rèn)的過(guò)程,實(shí)現(xiàn)并行驗(yàn)證,以提高鏈上的任務(wù)處理能力,然后再通過(guò)可伸縮性的塑造,增加單個(gè)計(jì)算設(shè)備的算力和空間,也就是云計(jì)算的垂直擴(kuò)容。
具體拆分如下:
以可信硬件硬件實(shí)現(xiàn)并行的網(wǎng)絡(luò)設(shè)計(jì)
1.先搭建一個(gè)優(yōu)質(zhì)的共識(shí)層。
首先,加密貨幣需要一個(gè)總帳本,總帳本存在于共識(shí)層,Oasis、Phala、PlatON都將共識(shí)層和計(jì)算層做了切割,在計(jì)算設(shè)備之上有獨(dú)立的共識(shí)層,即一條通過(guò)計(jì)算設(shè)備(或云)搭建的運(yùn)行高速共識(shí)算法區(qū)塊鏈網(wǎng)絡(luò)。
不過(guò)值得注意的是,其中Oasis、PlatON有較為明顯的分層概念,而Phala的分層概念不明顯,其設(shè)計(jì)細(xì)節(jié)在于對(duì)鏈下計(jì)算設(shè)備有獨(dú)立的規(guī)則。
為了保證共識(shí)層的穩(wěn)定性,Oasis的這一層選擇通過(guò)具備行業(yè)信任度較高的組織和企業(yè)搭建節(jié)點(diǎn),節(jié)點(diǎn)間通過(guò)Tendermint算法通信,快速形成總帳本。
PlatON的節(jié)點(diǎn)同樣是通過(guò)合作方搭建,并且其使用類BFT算法CBFT算法,優(yōu)化了普通BFT算法的效率。
Phala則是把具備TEE的計(jì)算節(jié)點(diǎn)(被稱為Gatekeeper)接入網(wǎng)絡(luò),Gatekeeper的TEE計(jì)算區(qū)可以維護(hù)總帳本,其共識(shí)為與波卡一致的NPOS共識(shí),可以快速出塊。
共識(shí)層外,他們把計(jì)算和存儲(chǔ)引入鏈下或layer2。并行計(jì)算就在這里實(shí)現(xiàn)。
2.讓計(jì)算層實(shí)現(xiàn)并行計(jì)算。