基于區(qū)塊鏈技術(shù)的Bottos公鏈生態(tài)介紹
Bottos研究院在BVM研究中投入了很多精力和成本,為了把最新的研究成果與進(jìn)展報告給開發(fā)者社區(qū)的朋友,也方便后期有開發(fā)者團隊接入提供方便。連載二對BVM在智能合約實際應(yīng)用層面實現(xiàn)“開發(fā)者友好”的優(yōu)勢和特性。連載三我們來談一談虛擬機對于Bottos公鏈生態(tài)的整體加持和賦能。
4.BVM 對于Bottos 生態(tài)的影響
Bottos基礎(chǔ)公有鏈以服務(wù)人工智能產(chǎn)業(yè)而設(shè)計,其性能優(yōu)勢集中體現(xiàn)在數(shù)據(jù)流轉(zhuǎn),以及算力、存儲共享等方面,具有極強的產(chǎn)業(yè)屬性。其原創(chuàng)技術(shù)特性包括智能貨幣設(shè)計、抽簽式DPOS 算法和引入 AI 算法的分布式存儲等,在數(shù)據(jù)隱私保護、超大數(shù)據(jù)存儲等方面具有領(lǐng)先的競爭優(yōu)勢,而本次BVM的設(shè)計更是可以使得所有基于Bottos的技術(shù)底層受益。
從現(xiàn)有的情況來看,BVM更是大大增強了Bottos 主鏈本身的安全性、穩(wěn)定性、可拓展性,以及效能。未來一段時間內(nèi),基于Bottos鏈的公鏈開發(fā)者可以集成BVM到鏈中,同時保持原有鏈上API的支持。
引入BVM對于Bottos生態(tài)有眾多影響。
4.1 優(yōu)化用戶在Bottos主鏈上的資源消耗
前面的兩個連載已經(jīng)對BVM可以提升主鏈性能做了論述,用戶在使用基于BVM運行的智能合約可以節(jié)省大量鏈上資源的損耗。
目前在Bottos鏈上主要有三類資源:CPU、NET 和 RAM:
· CPU 計算資源(CPU):當(dāng)用戶發(fā)起調(diào)用智能合約這個動作時,區(qū)塊生產(chǎn)者需要根據(jù)智能合約地址查找合約代碼,然后將代碼加載到內(nèi)存中執(zhí)行,這個過程需要消耗一定的 CPU 算力。
· 網(wǎng)絡(luò)帶寬資源(NET):當(dāng)用戶發(fā)送一筆交易信息后,區(qū)塊生產(chǎn)者需要將這筆交易打包生成區(qū)塊,然后將區(qū)塊通過網(wǎng)絡(luò)同步給其它生產(chǎn)者,這個過程需要消耗一定網(wǎng)絡(luò)帶寬資源。
· 運行內(nèi)存資源(RAM):Bottos 系統(tǒng)中的帳號信息、智能合約執(zhí)行信息的當(dāng)前的狀態(tài)都是存儲在內(nèi)存中的,這些信息的儲存就需要長期占用內(nèi)存資源。
當(dāng)前,CPU 主要由合約運行消耗的實際時間來結(jié)算,NET 主要與交易的大小相關(guān),而 RAM 主要是基于合約帶來的狀態(tài)變換所使用的內(nèi)存大小來決定的。
其中,BVM的出現(xiàn)會優(yōu)化并減少用戶對于CPU資源的消耗,現(xiàn)階段這部分資源也是Bottos主鏈設(shè)施上比較稀缺的一種資源,從硬件的角度來說,目前的服務(wù)器性能所支持的 RAM 升級空間還是非常寬裕的,但是對于 CPU,目前的限制很大。
提升虛擬機效率,對基于 Bottos 主鏈生態(tài)的資源優(yōu)化有著重大的意義。
4.2 使得Bottos生態(tài)更具有兼容性
前面的兩篇連載我們都講得是BVM的可拓展性,今天我們主要來講講Bottos生態(tài)在BVM的可拓展性下的兼容性。
作為一個去中心化的操作系統(tǒng),當(dāng)出現(xiàn)分歧時能否達(dá)成共識,在避免硬分叉的前提下保持迭代,將成為一個至關(guān)重要的問題。之前的BTC和ETH都曾出現(xiàn)過分叉問題,BTC因為速率擴容以及網(wǎng)絡(luò)擁堵,社區(qū)無法達(dá)成共識,至今已經(jīng)出現(xiàn)了多種分叉幣。而ETH則主要因為DAO黑客事件,造成社區(qū)內(nèi)激烈爭論,最終分叉為ETH和ETC兩條鏈。
為了實現(xiàn)更好的兼容性,Bottos 中設(shè)計了跨鏈交互和虛擬機獨立架構(gòu)機制。例如,在Bottos系統(tǒng)中設(shè)置了合約虛擬機 ( BVM )。它能夠支持現(xiàn)有的以太坊合約。也就是說,現(xiàn)有的以太坊平臺上的應(yīng)用,只需要稍加配置,未來就能夠在Bottos上面運行。
另外一點是,想要在公鏈生態(tài)上開發(fā)自己的Dapp很不容易,有很多基礎(chǔ)模塊需要書寫,而Bottos公鏈通過BVM集成了很多底層開發(fā)模塊,這樣大大降低了開發(fā)者門檻,再加上Bottos并發(fā)處理速度快,開發(fā)不消耗Gas,將會吸引更多的普通開發(fā)者,有助于Bottos平臺上涌現(xiàn)大量的商業(yè)級應(yīng)用,快速形成平臺生態(tài)系統(tǒng)。
4.3 保證主鏈生態(tài)的穩(wěn)定和安全
BVM虛擬機的引入大大增強了主鏈生態(tài)的穩(wěn)定性和安全性。越是功能強大的智能合約,在實現(xiàn)邏輯上也就更加復(fù)雜,也就越容易出現(xiàn)邏輯漏洞(Bug)。虛擬機從安全性、穩(wěn)定性方面,不但阻斷了程序員在編寫智能合約代碼錯誤而影響到整個主鏈,而且還防止不法分子運行惡意智能合約程序?qū)τ谥麈湹墓?,如果直接運行在設(shè)備系統(tǒng)上,可能會有安全隱患。
因為每個節(jié)點都要運行智能合約進(jìn)行驗證,但如果不用虛擬機,而是在機器上直接運行,當(dāng)智能合約開發(fā)者疏忽或測試不充分,而造成智能合約的代碼有漏洞的話,就非常容易被黑客利用并攻擊,這與上文中服務(wù)器虛擬機安全性有著共通性。
5. Bottos 引領(lǐng)區(qū)塊鏈虛擬機VM的新標(biāo)準(zhǔn)
我們先來看下互聯(lián)網(wǎng)的發(fā)展歷程,互聯(lián)網(wǎng)棧層自身的演化:一種像多層蛋糕一樣的協(xié)議和語言,迄今仍在不斷發(fā)展(雖然現(xiàn)在演化速度很慢了),組成了文件傳輸、email、網(wǎng)站等等服務(wù),并提供了真正讓人驚嘆、動態(tài)變化而又無縫轉(zhuǎn)換的用戶體驗。
這意味著多樣的架構(gòu)趨向?qū)I(yè)化并產(chǎn)生出動態(tài)、有用的棧層的歷程。長久以來,任何一個軟件的細(xì)分領(lǐng)域都在謀求技術(shù)標(biāo)準(zhǔn)的整合和統(tǒng)一,這樣的統(tǒng)一并非是由中心化組織去強制推行,而是通過軟件本身逐漸得到主流市場的認(rèn)可,最后成為事實上的技術(shù)標(biāo)準(zhǔn)。
對BVM進(jìn)行劃分并創(chuàng)建自包含的組件讓BVM系統(tǒng)可以有高度可拓展性。此外,通過一些簡單的編程工具,用戶可以相對輕松地構(gòu)建新的延展,這樣,當(dāng)有需要的時候,我們就可以推出一系列強大的工具進(jìn)行配置、調(diào)試等。
BVM內(nèi)置的分配器足夠模塊化滿足應(yīng)用具體的需求,而不需要創(chuàng)建高內(nèi)存的結(jié)構(gòu)支持,因為分配器本身不“擁有”它們使用的內(nèi)存。同步這些分配器的生命周期就不需要復(fù)制它們,這就允許了用戶可根據(jù)需要進(jìn)行獨立于內(nèi)容的WebAssembly模塊集成而不會遭受任何性能上的損失。
以上種種都表明BVM具有所有成為智能合約運行環(huán)境標(biāo)準(zhǔn)的素質(zhì)。 目前,BVM的性能在不斷優(yōu)化提高,我們研究員以及我們的社區(qū)都在不斷創(chuàng)建更多強大的工具包和庫,不斷努力幫助開發(fā)者實現(xiàn)更大的目標(biāo)。
我們相信當(dāng)終端用戶和企業(yè)能夠通過應(yīng)用感受到區(qū)塊鏈帶來的好處的時候,區(qū)塊鏈技術(shù)的應(yīng)用終將被帶動。
BVM我們會不斷和社區(qū)一起工作,改進(jìn)和開發(fā)BVM來支持這些努力。