新加坡2020年1月3日 /美通社/ -- MultiVAC在近期進(jìn)行了可組建性測試,極高的“可組建性”(Composablitiy)是MultiVAC區(qū)塊鏈網(wǎng)絡(luò)的亮點(diǎn)之一。“可組建性”是評(píng)測底層平臺(tái)的一個(gè)多維度特性,包括對(duì)該平臺(tái)現(xiàn)有數(shù)據(jù)、運(yùn)行規(guī)則、代碼規(guī)范、開發(fā)門檻、存在用戶等維度的考量。簡單來說,如果開發(fā)者能夠便捷使用一個(gè)平臺(tái)現(xiàn)有的資源,以其熟悉的方式構(gòu)建更高一層的應(yīng)用,這個(gè)平臺(tái)的可組建性就很高。
區(qū)塊鏈的發(fā)展伴隨著可組建性的不斷升級(jí),MultiVAC汲取了各方優(yōu)點(diǎn),實(shí)現(xiàn)了高可組建性。
一、計(jì)算器時(shí)代
最早出現(xiàn)的區(qū)塊鏈網(wǎng)絡(luò)基于UTXO模型設(shè)計(jì)了一個(gè)Script腳本,后續(xù)有不少人都嘗試在Script腳本上面做文章,比如Proof of Existence就利用了OP_RETURN。這種想要提高網(wǎng)絡(luò)可組建性的嘗試有很多,但是都被Script腳本限制住了。
從上面這個(gè)角度看,最早的區(qū)塊鏈網(wǎng)絡(luò)更像電子計(jì)算器(而且也只打算成為電子計(jì)算器),但對(duì)于開發(fā)者來說,一個(gè)簡單的計(jì)算器是遠(yuǎn)遠(yuǎn)不夠的,他們需要更自由的框架,去發(fā)揮自己的創(chuàng)意。
二、主機(jī)時(shí)代
隨后,Vitalik發(fā)了一篇白皮書,他將Script腳本升級(jí)成為了完整的可編程語言,自此就誕生了包含圖靈完備虛擬機(jī)的區(qū)塊鏈網(wǎng)絡(luò),開發(fā)者可以在分布式網(wǎng)絡(luò)中部署并運(yùn)行任何程序。這就是我們熟知的智能合約,以太坊首次實(shí)現(xiàn)了區(qū)塊鏈網(wǎng)絡(luò)的高可組建性。
高組建性繼續(xù)催生網(wǎng)絡(luò)效應(yīng),越來越多的人加入到以太坊網(wǎng)絡(luò)之中。但是,以太坊的時(shí)代像是計(jì)算機(jī)的X86時(shí)代,雖然在去中心化的網(wǎng)絡(luò)之上包含了圖靈完備的虛擬機(jī),但是處理速度仍停留在很低的水平,復(fù)雜的應(yīng)用很難運(yùn)行下去。擴(kuò)容問題是目前困擾公鏈系統(tǒng)的第一挑戰(zhàn),沒有拓展性,就無法誕生Killer App,更別提大規(guī)模的區(qū)塊鏈應(yīng)用了。
三、個(gè)人服務(wù)器時(shí)代
為了突破擴(kuò)展性瓶頸,一些方案開始舍棄高可組建性,轉(zhuǎn)而回頭又朝著單一功能架構(gòu)發(fā)展。
Polkadot 和 Cosmos 是這類提案的代表,它們構(gòu)建異構(gòu)區(qū)塊鏈網(wǎng)絡(luò) -- 每一條鏈都是為了單一應(yīng)用定制的。Polkadot的Substrate和Cosmos SDK都是模塊化的區(qū)塊鏈開發(fā)套件,開發(fā)者得自己全棧開發(fā)不同的“應(yīng)用鏈”。這個(gè)方案乍一聽似乎行得通,但其實(shí)難度很大。對(duì)于開發(fā)者來說,全棧開發(fā)意味著要從最底層的state machine開始,一直做到頂層的interface,途中還要考慮整條鏈的安全性以及和其它同生態(tài)鏈的數(shù)據(jù)交互。
這些方案在可組建性上相較于以太坊是落后的,原來在以太坊只需要運(yùn)行單一的虛擬機(jī)就可以,但是現(xiàn)在這些鏈需要新的機(jī)制來進(jìn)行跨鏈交流,這一機(jī)制還遠(yuǎn)遠(yuǎn)不夠成熟。
四、云時(shí)代 - MultiVAC時(shí)代
開發(fā)者可以在云時(shí)代的區(qū)塊鏈網(wǎng)絡(luò)上自由發(fā)揮,不必?fù)?dān)心吞吐量或者數(shù)據(jù)傳輸限制。要達(dá)成這樣的效應(yīng),不同的項(xiàng)目采取了不同的方案。但是目前為止最可靠的擴(kuò)容方案還是分片,即自上而下地改進(jìn)區(qū)塊鏈網(wǎng)絡(luò)的底層協(xié)議和整體架構(gòu)。
以太坊的2.0版本也提出了自己的分片改造方案,是這一路徑的領(lǐng)頭人之一。但是其分片實(shí)現(xiàn)難度很大,原有系統(tǒng)要接受分片改造,涉及到的要素實(shí)在過多。即使以太坊擁有強(qiáng)大的開發(fā)者社區(qū),也很難實(shí)現(xiàn)這一愿景。另一位此領(lǐng)域的代表項(xiàng)目MultiVAC的優(yōu)勢在于,其系統(tǒng)從一開始就是完整徹底的分片系統(tǒng)。
打個(gè)比方,以太坊2.0就像老舊城區(qū)的改造計(jì)劃一樣,雖然選對(duì)了擴(kuò)建的方式,但是施工的時(shí)候困難重重。有不少古建筑(舊版本功能)拆不得,新的路線得時(shí)時(shí)繞道,重新規(guī)劃。而MultiVAC則是集所有方案優(yōu)勢于一體的新城,在審視過前人的教訓(xùn)后,所有的設(shè)施都提早為大規(guī)模應(yīng)用做好了準(zhǔn)備,當(dāng)峰值來臨時(shí)不會(huì)出現(xiàn)擁堵現(xiàn)象。
MultiVAC是第一個(gè)將計(jì)算、存儲(chǔ)和傳輸三個(gè)層面都妥善解決的全維度分片系統(tǒng)。很多項(xiàng)目僅能夠?qū)崿F(xiàn)計(jì)算分片或者礦工分片,但是隨著承載的交易量越來越大時(shí),網(wǎng)絡(luò)中的存儲(chǔ)成本和傳輸壓力仍舊會(huì)成為整個(gè)系統(tǒng)的最短板。而MultiVAC在實(shí)現(xiàn)礦工分片的同時(shí),也用極其巧妙的方式解決了存儲(chǔ)和傳輸?shù)膲毫Α?/p>
在存儲(chǔ)層面,MultiVAC提出了存儲(chǔ)節(jié)點(diǎn)的概念。礦工只需要非常精簡的摘要數(shù)據(jù),就可以對(duì)大數(shù)據(jù)集進(jìn)行增刪改查。而海量數(shù)據(jù)則存儲(chǔ)在存儲(chǔ)節(jié)點(diǎn),將計(jì)算壓力和存儲(chǔ)壓力相分離。礦工節(jié)點(diǎn)只服務(wù)于記錄和驗(yàn)證,而存儲(chǔ)節(jié)點(diǎn)則專門負(fù)責(zé)存儲(chǔ)海量數(shù)據(jù)(存儲(chǔ)節(jié)點(diǎn)僅提供底層的基礎(chǔ)設(shè)施服務(wù),無法擅自對(duì)數(shù)據(jù)進(jìn)行任何操作,關(guān)于數(shù)據(jù)的所有產(chǎn)生、修改、刪除等行為均由上層邏輯共識(shí)達(dá)成,底層存儲(chǔ)服務(wù)僅保管確定性的數(shù)據(jù)并向上層供存取功能,保證數(shù)據(jù)的真實(shí)和安全)。這樣的設(shè)計(jì)保證了整體網(wǎng)絡(luò)的輕便性,單個(gè)節(jié)點(diǎn)的性能瓶頸在分工化的流程中被化解了。
解決了吞吐量瓶頸后的MultiVAC系統(tǒng),成功實(shí)現(xiàn)了極高的可組建性。MultiVAC內(nèi)置的圖靈完備虛擬機(jī)實(shí)現(xiàn)了超高自由度開發(fā),開發(fā)者不用去學(xué)習(xí)新的編程語言,可以最大化復(fù)用已有的代碼庫來構(gòu)建新的商業(yè)應(yīng)用。
MultiVAC在構(gòu)建公鏈的過程中,不僅僅是普羅米修斯一樣的“盜火者” -- 實(shí)現(xiàn)“全維度分片”方案只是其征途的第一步,它不僅顛覆了區(qū)塊鏈2.0時(shí)代的淺薄認(rèn)知(將區(qū)塊鏈分片的層次劃分為網(wǎng)絡(luò)分片、交易分片、狀態(tài)分片),而且重新定義并創(chuàng)新了馮諾依曼計(jì)算機(jī)體系。
MultiVAC作為具有極高可組建性的平臺(tái),可以賦能每一位參與的開發(fā)者。當(dāng)開發(fā)者可以僅憑自己的創(chuàng)意和開發(fā)能力來撬動(dòng)更大的資源時(shí),整個(gè)社會(huì)都會(huì)成為這個(gè)時(shí)代的受益者。