新聞中心
你真的知道基于區(qū)塊鏈的「云計算」是什么嗎?
作者:佚名 2021-03-29 14:12:41
云計算 從本質(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)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整新源建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“新源網(wǎng)站設(shè)計”,“新源網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
加密貨幣網(wǎng)絡(luò)發(fā)展的這幾年,以擴(kuò)容為特點的項目有很多,不過能作為「標(biāo)志性解決方案」的并不多,例如以太坊2.0 的同構(gòu)分片,波卡構(gòu)建的異構(gòu)分片,Plasma 的側(cè)鏈,zkSync、Optimistic、StarkWare 等的 layer2,COSMOS 的跨鏈結(jié)構(gòu) (用跨鏈擴(kuò)容)。
這些項目都在不斷尋找基于以太坊、比特幣的區(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)于打破性能天花板,就可以借鑒云計算平臺的設(shè)計。
區(qū)塊鏈的瓶頸過于明顯
區(qū)塊鏈的瓶頸來源于其最優(yōu)勢的地方:共識。
共識的運行過程是多方(節(jié)點設(shè)備)對同一數(shù)據(jù)(區(qū)塊)進(jìn)行計算的過程,例如比特幣,是某一節(jié)點打包區(qū)塊后廣播給所有節(jié)點逐一保存。
即使以太坊 2.0 從 PoW 切換到 PoS 后,只是會加快整個共識過程,減少單次共識完成的時間,以增加單位時間內(nèi)的處理數(shù)量。而在海量計算需求面前,PoS 依舊是天花板過于明顯。
區(qū)塊鏈單節(jié)點限制的示例圖
這樣,每一個區(qū)塊鏈結(jié)構(gòu)里,就會出現(xiàn)上圖中的模型,所有的計算任務(wù),是在搶占一個計算節(jié)點的計算資源,若干個任務(wù)都在搶占一個狹窄的通道。
如果在一些應(yīng)用場景里要求并發(fā)量沒有那么高,可以通過提高單個節(jié)點的計算能力,更換更快的共識算法,以及對拼搶資源的任務(wù)做一下「通過」時間分配,可以順利疏通整個確認(rèn)過程。
不過,可惜的是,對于很多高并發(fā)場景(區(qū)塊鏈不能止步于金融和單一場景),一定會堵塞、慢、甚至于完全不能進(jìn)行,亦或者因為堵塞引發(fā)其他問題(例如安全)。
解決這個問題,需要在任務(wù)處理時實現(xiàn)足夠多的并行處理量,才能增加網(wǎng)絡(luò)單位時間內(nèi)任務(wù)處理的上限值。
如果借鑒云計算的擴(kuò)容和并行思路,加密貨幣網(wǎng)絡(luò)該如何實現(xiàn)呢?
云計算提供的思路,最基礎(chǔ)的要求,是接入系統(tǒng)的網(wǎng)絡(luò)資源,不是多臺計算設(shè)備接入,對外輸出的資源上限只是一個計算設(shè)備的上限,而是 N 臺計算設(shè)備接入后,網(wǎng)絡(luò)的處理能力,是 N 倍提升的。
這恰恰是加密貨幣網(wǎng)絡(luò)需要的,每個加密貨幣網(wǎng)絡(luò)都有若干個計算設(shè)備的接入,而最終的性能局限在了共識層的結(jié)構(gòu)部分。
我們具體來看,傳統(tǒng)云計算平臺存在水平擴(kuò)容和垂直擴(kuò)容,水平擴(kuò)容即并行,將任務(wù)分流分區(qū)處理。垂直擴(kuò)容即增加單臺設(shè)備的處理能力,這就很像:解決擴(kuò)容問題的一個思路是加大區(qū)塊。
云計算中并行的舉例,數(shù)據(jù)生成適合并行的結(jié)構(gòu),繼而利用 GPU 的性能快速處理
但加密貨幣網(wǎng)絡(luò)中區(qū)塊鏈結(jié)構(gòu)無法改變的時候,實現(xiàn)并行的思路已經(jīng)演化為 2 種。
本文中,白計劃團(tuán)隊將以 Oasis、Phala、PlatON、Dfinity、Filecoin、IOTA 6 個加密貨幣項目為例闡述兩種主要實現(xiàn)并行的思路。
(白計劃注:排列順序是根據(jù)依靠安全硬件并行和依靠改善算法并行區(qū)分的)
當(dāng)這些加密貨幣網(wǎng)絡(luò)在具備云化并行的能力后,將承擔(dān)未來很多互聯(lián)網(wǎng)遺留問題的解決預(yù)期。
主流的 2 種并行思路拆分
以上的項目可以分為兩種思路解決擴(kuò)容和并行問題。
其一是以 Oasis、Phala、PlatON 為代表,通過將可信計算硬件作為計算設(shè)備接入網(wǎng)絡(luò),硬件設(shè)備具備很高的計算能力和安全能力,可以將計算過程、存儲過程賦予安全性。而這些單個設(shè)備(或集群)又可以獨立承擔(dān)獨立的處理工作,這樣在共識層外實現(xiàn)并行和安全計算,總結(jié)為獨立的可信計算。
其二是以 Dfinity、IOTA、Filecoin 為代表,通過研發(fā)新的算法在共識層,改變區(qū)塊交易確認(rèn)的過程,實現(xiàn)并行驗證,以提高鏈上的任務(wù)處理能力,然后再通過可伸縮性的塑造,增加單個計算設(shè)備的算力和空間,也就是云計算的垂直擴(kuò)容。
具體拆分如下:
以可信硬件硬件實現(xiàn)并行的網(wǎng)絡(luò)設(shè)計
1.先搭建一個優(yōu)質(zhì)的共識層。
首先,加密貨幣需要一個總帳本,總帳本存在于共識層,Oasis、Phala、PlatON 都將共識層和計算層做了切割,在計算設(shè)備之上有獨立的共識層,即一條通過計算設(shè)備(或云)搭建的運行高速共識算法區(qū)塊鏈網(wǎng)絡(luò)。
不過值得注意的是,其中 Oasis、PlatON 有較為明顯的分層概念,而 Phala 的分層概念不明顯,其設(shè)計細(xì)節(jié)在于對鏈下計算設(shè)備有獨立的規(guī)則。
為了保證共識層的穩(wěn)定性,Oasis 的這一層選擇通過具備行業(yè)信任度較高的組織和企業(yè)搭建節(jié)點,節(jié)點間通過 Tendermint 算法通信,快速形成總帳本。
PlatON 的節(jié)點同樣是通過合作方搭建,并且其使用類 BFT 算法 CBFT 算法,優(yōu)化了普通 BFT 算法的效率。
Phala 則是把具備 TEE 的計算節(jié)點(被稱為 Gatekeeper)接入網(wǎng)絡(luò),Gatekeeper 的 TEE 計算區(qū)可以維護(hù)總帳本,其共識為與波卡一致的 NPOS 共識,可以快速出塊。
Phala 的 Gatekeeper (中間部分)維護(hù)總帳本
共識層外,他們把計算和存儲引入鏈下或 layer2。并行計算就在這里實現(xiàn)。
2.讓計算層實現(xiàn)并行計算。
這里要先說 Oasis,其計算層稱為 Paratime,可以看作是一個個獨立的鏈,或者看作一個 runtime 集群,不過,在 Oasis 網(wǎng)絡(luò)的建立初期,Paratime 大多還部署在云里,并沒有全面替換具備 TEE 的設(shè)備作為網(wǎng)絡(luò)基礎(chǔ)設(shè)備。隨著進(jìn)度推進(jìn),Paratime 的節(jié)點會全部具備 TEE 能力,保證其安全性。
Oasis 的計算層(右側(cè))
Phala 的計算是在接入節(jié)點的 TEE 中完成的,每個 TEE 中會部署 Phala 的 pRuntime,pRuntime 與「共識層」(理論上)的通信是獨立的,所以 pRuntime 里相互處理的交易并不沖突,這便是可以實現(xiàn)的并行,因為每個 TEE 的 pRuntime 就像一個個「分片」。這樣的接入節(jié)點越多,網(wǎng)絡(luò)性能越強(qiáng)。
PlatON 的計算,是在被標(biāo)注為 layer2 的計算層完成的,PlatON 的 layer2 具備大量的計算設(shè)備,其中包含定制的可信計算設(shè)備,例如完成多方計算的可編程電路,此外,還會通過密碼學(xué)以及零知識證明等技術(shù)完成隱私計算等,PlatON 也是實現(xiàn)隱私計算的,不過其運用技術(shù)是多方計算或零知識證明、同態(tài)加密等。
PlatON 網(wǎng)絡(luò)的模塊和分層
將計算層設(shè)計為可信計算硬件的網(wǎng)絡(luò),是利用計算層的并行去擴(kuò)容以及實現(xiàn)可伸縮性。我們可能認(rèn)為將計算遷移到共識層外,并不是真正意義實現(xiàn)了并行計算。
但具備可信計算的硬件與共識層因為具有安全緊密的聯(lián)系,所以與共識層是「一體的」,理論上如果為了鏈下計算的安全性,會需要鏈下有一個總帳本概念或其他控制安全性的方式。但有可信計算硬件的幫助,就不需要這個總帳本提供鏈下的安全性保護(hù)。
引以對比的可以是以太坊 2.0,信標(biāo)鏈?zhǔn)强値け荆绻呀?jīng)部署了分片,每個分片間可以獨立處理任務(wù),只是在 Oasis、Phala、PlatON 里,是用可信硬件替代了分片的計算部分。
拆分完計算層的并行后,我們來看拆分利用算法實現(xiàn)并行的方式。
通過算法實現(xiàn)并行處理的設(shè)計
1.研發(fā)新算法。
以 Dfinity、IOTA、Filecoin 為代表,研發(fā)算法后,可以在不更改區(qū)塊確認(rèn)過程的情況下讓任務(wù)開始并行處理,加快確認(rèn)速度。
這里我們要先提及,如果在算法層面實現(xiàn)并行,主要實施會是改變算法計算的規(guī)則,也就改變了算法表現(xiàn)的功能邏輯,例如 PoW 算法如果改變,會改變 PoW 算法中計算隨機(jī)數(shù)、打包、廣播的邏輯。
Dfinity 對算法的更改部分是共識算法上,將傳統(tǒng)的共識節(jié)點全部參與共識計算修改為通過計算隨機(jī)數(shù)選取部分節(jié)點完成共識計算,這是加快共識驗證的一個步驟。而更核心的是選中的共識節(jié)點是通過非交互式的 BSL 算法(節(jié)點確認(rèn)數(shù)據(jù)簽名反饋是獨立進(jìn)行的,不是組合進(jìn)行的)確認(rèn)交易,意味著不會經(jīng)歷 BFT 類共識的節(jié)點間反復(fù)交互的過程,而達(dá)到類似「并行」加速的效果。
Dfinity 的共識確認(rèn)過程,有并行效果的是左側(cè)簽名部分
IOTA 對算法的修改比較徹底,對比區(qū)塊鏈,IOTA 使用 Tangle 數(shù)據(jù)結(jié)構(gòu)形成總帳本 Tangle 特點是每個事務(wù)都附加到兩個先前的事務(wù)里,所以要完全消除了原有區(qū)塊鏈鏈?zhǔn)浇Y(jié)構(gòu)對確認(rèn)時間的依賴。這就形成了交易的無限關(guān)聯(lián)確認(rèn)結(jié)構(gòu),可以達(dá)到并行效果。
FilecoinNSE 算法的拆解,可以觀察左側(cè)的 layer 部分
2.配置其他部分
在算法上解決了并行問題,那接下來需要一些輔助功能。
IOTA 的 Tangle 沒有普通區(qū)塊結(jié)構(gòu)里的時間限制,那為了達(dá)成共識,就需要交易驗證器的幫助,來確認(rèn)哪些交易形成共識。
Dfinity 改善了算法,與之匹配的還有子網(wǎng)、數(shù)據(jù)中心和容器,子網(wǎng)是類似一個個「分片」,而數(shù)據(jù)中心是 Dfinity 網(wǎng)絡(luò)的底層網(wǎng)絡(luò)部署,其要求數(shù)據(jù)中心參與,意味著網(wǎng)絡(luò)的基礎(chǔ)處理能力很強(qiáng)。在子網(wǎng)上,容器是建立的獨立操作單元,可以類比區(qū)塊鏈的智能合約,容器的組合交互可以實現(xiàn)復(fù)雜性。
Filecoin 在 NSE 算法對數(shù)據(jù)并行處理后,進(jìn)行的是存儲復(fù)制和時空證明的打包保存。這些部分保證了 Filecoin 總賬本的一致性。而其他開發(fā)部分,是依賴官方團(tuán)隊和生態(tài)中提供的工具。
云化并行之后怎么辦?
以上的 6 個加密貨幣項目,理論上以并行突破了區(qū)塊鏈的性能限制,那留給項目接下來的是什么?
筆者認(rèn)為,是如何通過對網(wǎng)絡(luò)工具的開發(fā)讓這些性能為開發(fā)者所用。加密貨幣網(wǎng)絡(luò)的使用目標(biāo),最重要的是可以開發(fā) DApp,可以開發(fā)廣義的去中心化業(yè)務(wù)。
即使基礎(chǔ)設(shè)施性能很高,沒有開發(fā)者做出應(yīng)用時間,基礎(chǔ)設(shè)施也會是徒勞,開發(fā)者決定了鏈的應(yīng)用產(chǎn)生量,應(yīng)用產(chǎn)生量決定了鏈創(chuàng)造的和包含的價值。
正如傳統(tǒng)互聯(lián)網(wǎng)開發(fā)者,從篳路藍(lán)縷的基礎(chǔ)開發(fā)進(jìn)入云化開發(fā)時代,云計算平臺已經(jīng)為開發(fā)者提供了極為優(yōu)質(zhì)的體驗,后來的創(chuàng)業(yè)者,已經(jīng)不像當(dāng)年,還要為擴(kuò)容擔(dān)憂。
敢問如今的加密貨幣網(wǎng)絡(luò),是否可以以云計算平臺「面向服務(wù)的架構(gòu)」為榜樣,形成開發(fā)浪潮。云化并行之后,加密貨幣只是突破了井口,你是否能繼續(xù)升向天空呢?
當(dāng)前文章:你真的知道基于區(qū)塊鏈的「云計算」是什么嗎?
瀏覽地址:http://m.5511xx.com/article/dphepji.html


咨詢
建站咨詢
