打破性能天花板,基于區(qū)塊鏈的「云計(jì)算」了解一下

火星財(cái)經(jīng)
白計(jì)劃
從本質(zhì)上來看,區(qū)塊鏈結(jié)構(gòu)優(yōu)勢明顯,天花板也極為明顯。如果想創(chuàng)新,如果不打破區(qū)塊鏈結(jié)構(gòu)帶來的天花板,業(yè)內(nèi)似乎很難走向下一步,筆者認(rèn)為業(yè)內(nèi)的創(chuàng)新需要從很多成熟產(chǎn)業(yè)和成熟技術(shù)體系里借鑒思路。

加密貨幣網(wǎng)絡(luò)發(fā)展的這幾年,以擴(kuò)容為特點(diǎn)的項(xiàng)目有很多,不過能作為「標(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ù)分片),這種方式極為漫長,屬于是加密貨幣網(wǎng)絡(luò)的終極思路,但不能否認(rèn)這是極為必要的長久之路。

而從本質(zhì)上來看,區(qū)塊鏈結(jié)構(gòu)優(yōu)勢明顯,天花板也極為明顯。如果想創(chuàng)新,如果不打破區(qū)塊鏈結(jié)構(gòu)帶來的天花板,業(yè)內(nèi)似乎很難走向下一步,筆者認(rèn)為業(yè)內(nèi)的創(chuàng)新需要從很多成熟產(chǎn)業(yè)和成熟技術(shù)體系里借鑒思路。

關(guān)于打破性能天花板,就可以借鑒云計(jì)算平臺(tái)的設(shè)計(jì)。

區(qū)塊鏈的瓶頸過于明顯

區(qū)塊鏈的瓶頸來源于其最優(yōu)勢的地方:共識(shí)。

共識(shí)的運(yùn)行過程是多方(節(jié)點(diǎn)設(shè)備)對(duì)同一數(shù)據(jù)(區(qū)塊)進(jìn)行計(jì)算的過程,例如比特幣,是某一節(jié)點(diǎn)打包區(qū)塊后廣播給所有節(jié)點(diǎn)逐一保存。

即使以太坊2.0從PoW切換到PoS后,只是會(huì)加快整個(gè)共識(shí)過程,減少單次共識(shí)完成的時(shí)間,以增加單位時(shí)間內(nèi)的處理數(shù)量。而在海量計(jì)算需求面前,PoS依舊是天花板過于明顯。

1.jpg

區(qū)塊鏈單節(jié)點(diǎn)限制的示例圖

這樣,每一個(gè)區(qū)塊鏈結(jié)構(gòu)里,就會(huì)出現(xiàn)上圖中的模型,所有的計(jì)算任務(wù),是在搶占一個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算資源,若干個(gè)任務(wù)都在搶占一個(gè)狹窄的通道。

如果在一些應(yīng)用場景里要求并發(fā)量沒有那么高,可以通過提高單個(gè)節(jié)點(diǎn)的計(jì)算能力,更換更快的共識(shí)算法,以及對(duì)拼搶資源的任務(wù)做一下「通過」時(shí)間分配,可以順利疏通整個(gè)確認(rèn)過程。

不過,可惜的是,對(duì)于很多高并發(fā)場景(區(qū)塊鏈不能止步于金融和單一場景),一定會(huì)堵塞、慢、甚至于完全不能進(jìn)行,亦或者因?yàn)槎氯l(fā)其他問題(例如安全)。

解決這個(gè)問題,需要在任務(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)部分。

我們具體來看,傳統(tǒng)云計(jì)算平臺(tái)存在水平擴(kuò)容和垂直擴(kuò)容,水平擴(kuò)容即并行,將任務(wù)分流分區(qū)處理。垂直擴(kuò)容即增加單臺(tái)設(shè)備的處理能力,這就很像:解決擴(kuò)容問題的一個(gè)思路是加大區(qū)塊。

2.jpg

云計(jì)算中并行的舉例,數(shù)據(jù)生成適合并行的結(jié)構(gòu),繼而利用GPU的性能快速處理

但加密貨幣網(wǎng)絡(luò)中區(qū)塊鏈結(jié)構(gòu)無法改變的時(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)未來很多互聯(lián)網(wǎng)遺留問題的解決預(yù)期。

主流的2種并行思路拆分

以上的項(xiàng)目可以分為兩種思路解決擴(kuò)容和并行問題。

其一是以O(shè)asis、Phala、PlatON為代表,通過將可信計(jì)算硬件作為計(jì)算設(shè)備接入網(wǎng)絡(luò),硬件設(shè)備具備很高的計(jì)算能力和安全能力,可以將計(jì)算過程、存儲(chǔ)過程賦予安全性。而這些單個(gè)設(shè)備(或集群)又可以獨(dú)立承擔(dān)獨(dú)立的處理工作,這樣在共識(shí)層外實(shí)現(xiàn)并行和安全計(jì)算,總結(jié)為獨(dú)立的可信計(jì)算。

其二是以Dfinity、IOTA、Filecoin為代表,通過研發(fā)新的算法在共識(shí)層,改變區(qū)塊交易確認(rèn)的過程,實(shí)現(xiàn)并行驗(yàn)證,以提高鏈上的任務(wù)處理能力,然后再通過可伸縮性的塑造,增加單個(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í)層,即一條通過計(jì)算設(shè)備(或云)搭建的運(yùn)行高速共識(shí)算法區(qū)塊鏈網(wǎng)絡(luò)。

不過值得注意的是,其中Oasis、PlatON有較為明顯的分層概念,而Phala的分層概念不明顯,其設(shè)計(jì)細(xì)節(jié)在于對(duì)鏈下計(jì)算設(shè)備有獨(dú)立的規(guī)則。

為了保證共識(shí)層的穩(wěn)定性,Oasis的這一層選擇通過具備行業(yè)信任度較高的組織和企業(yè)搭建節(jié)點(diǎn),節(jié)點(diǎn)間通過Tendermint算法通信,快速形成總帳本。

PlatON的節(jié)點(diǎn)同樣是通過合作方搭建,并且其使用類BFT算法CBFT算法,優(yōu)化了普通BFT算法的效率。

Phala則是把具備TEE的計(jì)算節(jié)點(diǎn)(被稱為Gatekeeper)接入網(wǎng)絡(luò),Gatekeeper的TEE計(jì)算區(qū)可以維護(hù)總帳本,其共識(shí)為與波卡一致的NPOS共識(shí),可以快速出塊。

3.jpg

Phala的Gatekeeper(中間部分)維護(hù)總帳本

共識(shí)層外,他們把計(jì)算和存儲(chǔ)引入鏈下或layer2。并行計(jì)算就在這里實(shí)現(xiàn)。

2.讓計(jì)算層實(shí)現(xiàn)并行計(jì)算。

這里要先說Oasis,其計(jì)算層稱為Paratime,可以看作是一個(gè)個(gè)獨(dú)立的鏈,或者看作一個(gè)runtime集群,不過,在Oasis網(wǎng)絡(luò)的建立初期,Paratime大多還部署在云里,并沒有全面替換具備TEE的設(shè)備作為網(wǎng)絡(luò)基礎(chǔ)設(shè)備。隨著進(jìn)度推進(jìn),Paratime的節(jié)點(diǎn)會(huì)全部具備TEE能力,保證其安全性。

4.jpg

Oasis的計(jì)算層(右側(cè))

Phala的計(jì)算是在接入節(jié)點(diǎn)的TEE中完成的,每個(gè)TEE中會(huì)部署Phala的pRuntime,pRuntime與「共識(shí)層」(理論上)的通信是獨(dú)立的,所以pRuntime里相互處理的交易并不沖突,這便是可以實(shí)現(xiàn)的并行,因?yàn)槊總€(gè)TEE的pRuntime就像一個(gè)個(gè)「分片」。這樣的接入節(jié)點(diǎn)越多,網(wǎng)絡(luò)性能越強(qiáng)。

PlatON的計(jì)算,是在被標(biāo)注為layer2的計(jì)算層完成的,PlatON的layer2具備大量的計(jì)算設(shè)備,其中包含定制的可信計(jì)算設(shè)備,例如完成多方計(jì)算的可編程電路,此外,還會(huì)通過密碼學(xué)以及零知識(shí)證明等技術(shù)完成隱私計(jì)算等,PlatON也是實(shí)現(xiàn)隱私計(jì)算的,不過其運(yùn)用技術(shù)是多方計(jì)算或零知識(shí)證明、同態(tài)加密等。

5.jpg

PlatON網(wǎng)絡(luò)的模塊和分層

將計(jì)算層設(shè)計(jì)為可信計(jì)算硬件的網(wǎng)絡(luò),是利用計(jì)算層的并行去擴(kuò)容以及實(shí)現(xiàn)可伸縮性。我們可能認(rèn)為將計(jì)算遷移到共識(shí)層外,并不是真正意義實(shí)現(xiàn)了并行計(jì)算。

但具備可信計(jì)算的硬件與共識(shí)層因?yàn)榫哂邪踩o密的聯(lián)系,所以與共識(shí)層是「一體的」,理論上如果為了鏈下計(jì)算的安全性,會(huì)需要鏈下有一個(gè)總帳本概念或其他控制安全性的方式。但有可信計(jì)算硬件的幫助,就不需要這個(gè)總帳本提供鏈下的安全性保護(hù)。

引以對(duì)比的可以是以太坊2.0,信標(biāo)鏈?zhǔn)强値け?,如果已?jīng)部署了分片,每個(gè)分片間可以獨(dú)立處理任務(wù),只是在Oasis、Phala、PlatON里,是用可信硬件替代了分片的計(jì)算部分。

拆分完計(jì)算層的并行后,我們來看拆分利用算法實(shí)現(xiàn)并行的方式。

通過算法實(shí)現(xiàn)并行處理的設(shè)計(jì)

1.研發(fā)新算法。

以Dfinity、IOTA、Filecoin為代表,研發(fā)算法后,可以在不更改區(qū)塊確認(rèn)過程的情況下讓任務(wù)開始并行處理,加快確認(rèn)速度。

這里我們要先提及,如果在算法層面實(shí)現(xiàn)并行,主要實(shí)施會(huì)是改變算法計(jì)算的規(guī)則,也就改變了算法表現(xiàn)的功能邏輯,例如PoW算法如果改變,會(huì)改變PoW算法中計(jì)算隨機(jī)數(shù)、打包、廣播的邏輯。

Dfinity對(duì)算法的更改部分是共識(shí)算法上,將傳統(tǒng)的共識(shí)節(jié)點(diǎn)全部參與共識(shí)計(jì)算修改為通過計(jì)算隨機(jī)數(shù)選取部分節(jié)點(diǎn)完成共識(shí)計(jì)算,這是加快共識(shí)驗(yàn)證的一個(gè)步驟。而更核心的是選中的共識(shí)節(jié)點(diǎn)是通過非交互式的BSL算法(節(jié)點(diǎn)確認(rèn)數(shù)據(jù)簽名反饋是獨(dú)立進(jìn)行的,不是組合進(jìn)行的)確認(rèn)交易,意味著不會(huì)經(jīng)歷BFT類共識(shí)的節(jié)點(diǎn)間反復(fù)交互的過程,而達(dá)到類似「并行」加速的效果。

6.jpg

Dfinity的共識(shí)確認(rèn)過程,有并行效果的是左側(cè)簽名部分

IOTA對(duì)算法的修改比較徹底,對(duì)比區(qū)塊鏈,IOTA使用Tangle數(shù)據(jù)結(jié)構(gòu)形成總帳本Tangle特點(diǎn)是每個(gè)事務(wù)都附加到兩個(gè)先前的事務(wù)里,所以要完全消除了原有區(qū)塊鏈鏈?zhǔn)浇Y(jié)構(gòu)對(duì)確認(rèn)時(shí)間的依賴。這就形成了交易的無限關(guān)聯(lián)確認(rèn)結(jié)構(gòu),可以達(dá)到并行效果。

7.jpg

Tangle算法的交易確認(rèn)模型

Filecoin在并行上的修訂,是在對(duì)存儲(chǔ)任務(wù)的并行處理,因?yàn)镕ilecoin的存儲(chǔ)部分,會(huì)對(duì)存儲(chǔ)數(shù)據(jù)完全進(jìn)行計(jì)算,這個(gè)過程極為漫長(對(duì)比來說)。所以并行和提速非常之重要,目前,其采用的是更新后的NSE算法。

拆分NSE算法可以看到的是,當(dāng)處理數(shù)據(jù)時(shí),會(huì)對(duì)數(shù)據(jù)進(jìn)行分window(可以理解為一個(gè)單元)和分layer層的處理,處理完成后才會(huì)進(jìn)行下一步數(shù)據(jù)存儲(chǔ)以及后續(xù)的Post證明打包。采用NSE后,在layer的處理部分,layer間沒有過多依賴,所以可以形成并行處理效果,可以總結(jié)為并行提速的調(diào)整。

8.jpg

FilecoinNSE算法的拆解,可以觀察左側(cè)的layer部分

2.配置其他部分

在算法上解決了并行問題,那接下來需要一些輔助功能。

IOTA的Tangle沒有普通區(qū)塊結(jié)構(gòu)里的時(shí)間限制,那為了達(dá)成共識(shí),就需要交易驗(yàn)證器的幫助,來確認(rèn)哪些交易形成共識(shí)。

Dfinity改善了算法,與之匹配的還有子網(wǎng)、數(shù)據(jù)中心和容器,子網(wǎng)是類似一個(gè)個(gè)「分片」,而數(shù)據(jù)中心是Dfinity網(wǎng)絡(luò)的底層網(wǎng)絡(luò)部署,其要求數(shù)據(jù)中心參與,意味著網(wǎng)絡(luò)的基礎(chǔ)處理能力很強(qiáng)。在子網(wǎng)上,容器是建立的獨(dú)立操作單元,可以類比區(qū)塊鏈的智能合約,容器的組合交互可以實(shí)現(xiàn)復(fù)雜性。

Filecoin在NSE算法對(duì)數(shù)據(jù)并行處理后,進(jìn)行的是存儲(chǔ)復(fù)制和時(shí)空證明的打包保存。這些部分保證了Filecoin總賬本的一致性。而其他開發(fā)部分,是依賴官方團(tuán)隊(duì)和生態(tài)中提供的工具。

云化并行之后怎么辦?

以上的6個(gè)加密貨幣項(xiàng)目,理論上以并行突破了區(qū)塊鏈的性能限制,那留給項(xiàng)目接下來的是什么?

筆者認(rèn)為,是如何通過對(duì)網(wǎng)絡(luò)工具的開發(fā)讓這些性能為開發(fā)者所用。加密貨幣網(wǎng)絡(luò)的使用目標(biāo),最重要的是可以開發(fā)DApp,可以開發(fā)廣義的去中心化業(yè)務(wù)。

即使基礎(chǔ)設(shè)施性能很高,沒有開發(fā)者做出應(yīng)用時(shí)間,基礎(chǔ)設(shè)施也會(huì)是徒勞,開發(fā)者決定了鏈的應(yīng)用產(chǎn)生量,應(yīng)用產(chǎn)生量決定了鏈創(chuàng)造的和包含的價(jià)值。

正如傳統(tǒng)互聯(lián)網(wǎng)開發(fā)者,從篳路藍(lán)縷的基礎(chǔ)開發(fā)進(jìn)入云化開發(fā)時(shí)代,云計(jì)算平臺(tái)已經(jīng)為開發(fā)者提供了極為優(yōu)質(zhì)的體驗(yàn),后來的創(chuàng)業(yè)者,已經(jīng)不像當(dāng)年,還要為擴(kuò)容擔(dān)憂。

敢問如今的加密貨幣網(wǎng)絡(luò),是否可以以云計(jì)算平臺(tái)「面向服務(wù)的架構(gòu)」為榜樣,形成開發(fā)浪潮。云化并行之后,加密貨幣只是突破了井口,你是否能繼續(xù)升向天空呢?

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論