當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 2019年作為比特幣發(fā)展十周年,隨著區(qū)塊鏈知識和技術(shù)不斷普及,區(qū)塊鏈技術(shù)在不斷尋找著超乎金融領(lǐng)域之外的更多商業(yè)探索,其中區(qū)塊鏈的基礎(chǔ)設(shè)施作為可編程商業(yè)經(jīng)濟(jì)的基石,在不斷探索中前進(jìn)。 區(qū)塊

2019年作為比特幣發(fā)展十周年,隨著區(qū)塊鏈知識和技術(shù)不斷普及,區(qū)塊鏈技術(shù)在不斷尋找著超乎金融領(lǐng)域之外的更多商業(yè)探索,其中區(qū)塊鏈的基礎(chǔ)設(shè)施作為可編程商業(yè)經(jīng)濟(jì)的基石,在不斷探索中前進(jìn)。

區(qū)塊鏈技術(shù)領(lǐng)域基礎(chǔ)設(shè)施——虛擬機(jī),是實(shí)現(xiàn)智能合約系統(tǒng)最為關(guān)鍵和核心的技術(shù)。智能合約不僅是業(yè)務(wù)邏輯的載體,同時又扎扎實(shí)實(shí)地落在了技術(shù)實(shí)現(xiàn)的層面。由此可見,虛擬機(jī)是區(qū)塊鏈技術(shù)落地的基石,在如今技術(shù)快速發(fā)展乃至未來,區(qū)塊鏈技術(shù)都將離不開虛擬機(jī)的重要支撐。Qtum 量子鏈正是認(rèn)識到區(qū)塊鏈虛擬機(jī)的重要性和未來的趨勢,早在2016年《Qtum 量子鏈技術(shù)白皮書 v0.7》第三章完整闡述了新一代主流語言編程的Qtum-x86虛擬機(jī),作為支持未來區(qū)塊鏈商業(yè)經(jīng)濟(jì)實(shí)際落地的基礎(chǔ)設(shè)施。

到底什么是虛擬機(jī)?普通的虛擬機(jī)和區(qū)塊鏈虛擬機(jī)的差別是什么?以及為什么智能合約需要區(qū)塊鏈虛擬機(jī)? Qtum-x86 虛擬機(jī)具有哪些獨(dú)特的優(yōu)勢?

什么是虛擬機(jī)

想徹底理解虛擬機(jī),首先應(yīng)該理解“虛擬化”這個抽象化的詞,也就進(jìn)一步會理解普通虛擬機(jī)和區(qū)塊鏈虛擬機(jī)之間的區(qū)別。維基百科對其定義:“在計(jì)算領(lǐng)域,虛擬化是一個寬泛的術(shù)語,指的是對計(jì)算機(jī)資源的抽象。虛擬化對其用戶,不管是應(yīng)用程序還是終端用戶,隱去了計(jì)算資源的物理特性。這包括使一個單一的物理資源(比如一個服務(wù)器,一個操作系統(tǒng),一個應(yīng)用,或是一個存儲設(shè)備)表現(xiàn)為多個虛擬資源運(yùn)行;也包括多個物理資源(比如存儲設(shè)備或多臺服務(wù)器)表現(xiàn)為一個單一的虛擬資源。..”

再精煉一些來說就是:

· 由一個物理資源創(chuàng)建多個虛擬化資源

· 由一個或多個物理資源創(chuàng)建一個虛擬化資源

日常中網(wǎng)絡(luò)、存儲、硬件都會頻繁用于表達(dá)某些特定概念。在這一領(lǐng)域的早期成果有 Christopher Strachey 的論文“大型高速計(jì)算機(jī)的時分系統(tǒng)”。IBM 對虛擬化的探索始于其 CP-40 and M44/44X 研究系統(tǒng)。作為回報(bào),這又促成了其商業(yè)產(chǎn)品 CP-67/CMS 。虛擬機(jī)的概念使用戶隔離開,并為每個用戶單獨(dú)模擬出一套的完整的系統(tǒng)。IBM 模型的一個主要特征就是通過分割計(jì)算機(jī)資源和完全隔離程序來使程序共享同樣的硬件。 大型計(jì)算機(jī)在當(dāng)時的資源非常稀缺因此多為共用,因此把虛擬機(jī)計(jì)算時間切割成許多共享用戶的私人計(jì)算時間。

服務(wù)端虛擬化

服務(wù)端虛擬化顧名思義為服務(wù)器“虛擬化”,以 VMware,Microsoft,以及 Citrix 等公司為代表。運(yùn)用服務(wù)器虛擬技術(shù),一個物理的機(jī)器可以被分成多個虛擬的機(jī)器。在這種虛擬化技術(shù)的背后,其核心是 hypervisor(虛擬機(jī)監(jiān)視器)的概念。Hypervisor 雖是很小的一層,它可以攔截操作系統(tǒng)對硬件的調(diào)用。

并且憑借著這一層的 hypervisor 可以做到:

1. 提升硬件利用率:節(jié)省硬件,節(jié)約成本

2. 安全:干凈的鏡像可用來重建受損的系統(tǒng),可以提供沙盒和隔離來限制可能的攻擊。

3. 開發(fā):調(diào)試和性能監(jiān)控的用例能夠以可重復(fù)的方式方便的搭建起來

4. 統(tǒng)一:實(shí)現(xiàn)各環(huán)境與操作數(shù)據(jù)的統(tǒng)一性

為什么區(qū)塊鏈需要虛擬機(jī)

理解了“虛擬化”的不同場景的含義后,那區(qū)塊鏈為什么還需要虛擬機(jī),它需要哪些虛擬化特性的部分?

這與區(qū)塊鏈的獨(dú)特性相關(guān),區(qū)塊鏈系統(tǒng)需要共識機(jī)制,保證每一個人輸出的計(jì)算結(jié)果是一致的。以比特幣舉例A將BTC發(fā)送至B,為了實(shí)現(xiàn)智能合約,將自動交易轉(zhuǎn)化成代碼。區(qū)塊鏈虛擬機(jī)所承擔(dān)的主要任務(wù)是運(yùn)行智能合約。本質(zhì)上,區(qū)塊鏈虛擬機(jī)就是一個代碼的運(yùn)行環(huán)境。從而保證區(qū)塊鏈網(wǎng)絡(luò)中分布式節(jié)點(diǎn)的一致性。

從安全性考慮,越是功能強(qiáng)大的智能合約,就越是邏輯復(fù)雜,也越容易出現(xiàn)邏輯上的漏洞。在區(qū)塊鏈中,虛擬機(jī)如果是從安全性方面考慮的話一方面是為了防止因?yàn)椴环ǚ肿踊蛘叱绦騿T的編寫代碼錯誤而影響到了整個主鏈,更重要的是防止運(yùn)行智能合約的設(shè)備遭受攻擊,如果直接運(yùn)行在設(shè)備系統(tǒng)上,可能會有安全隱患。因?yàn)槊總€節(jié)點(diǎn)都要運(yùn)行智能合約進(jìn)行驗(yàn)證,但如果不用虛擬機(jī),而是在機(jī)器上直接運(yùn)行,當(dāng)智能合約開發(fā)者疏忽或測試不充分,而造成智能合約的代碼有漏洞的話,就非常容易被黑客利用并攻擊,這與上文中服務(wù)器虛擬機(jī)安全性有著共通性。

2018年4月, BEC 因整數(shù)溢出編寫漏洞,被黑客批量轉(zhuǎn)走了近50% token,然而這個錯誤本應(yīng)是語言層面的基本常識。以太坊的智能合約多次出現(xiàn)漏洞,業(yè)界普遍認(rèn)為與底層系統(tǒng)有關(guān),在此 Qtum量子鏈出的虛擬機(jī)技術(shù)連載(一)中分析過由于它的設(shè)計(jì)比較非主流,很難有主流的編程語言能夠移植到 EVM 上。這種設(shè)計(jì)可以說對于近50年來的大多數(shù)編程范例來說都不易兼容,因此不夠友好。

為了將區(qū)塊鏈的開發(fā)推向更加主流的階段,Qtum 量子鏈選用x86指令集。x86指令集發(fā)展已超過40年,時至今日,x86 架構(gòu)的兼容性也越發(fā)強(qiáng)大,生態(tài)體系越發(fā)完善,成就占有率超過90%的市場。今天的 x86 CPU 中已融入了解碼的功能,其將長度不定的 x86 指令轉(zhuǎn)換為長度固定的類似于 RISC 指令,然后將其交給 RISC 內(nèi)核進(jìn)行處理。解碼包括了硬件解碼和微解碼兩種,簡單的 x86 指令采用硬件解碼速度較快,而復(fù)雜的指令則需要微解碼,將其分成若干條簡單指令后才進(jìn)行執(zhí)行。目前,x86 架構(gòu)的優(yōu)勢在于單條指令功能強(qiáng)大,指令數(shù)少速度較快;而由于指令數(shù)少,高頻率運(yùn)行時也不需要很大的寬帶占用往 CPU 傳輸指令。

比特幣:比特幣的區(qū)塊鏈技術(shù)主要是為數(shù)字貨幣交易提供簡單的技術(shù)支持。

以太坊:以太坊開發(fā)智能合約以及圖靈完備的EVM為標(biāo)志。

Qtum量子鏈:以 Qtum-x86 為代表的區(qū)塊鏈基礎(chǔ)設(shè)施建設(shè)逐步落地,推動區(qū)塊鏈商業(yè)經(jīng)濟(jì)快速發(fā)展。

在 QTUM 技術(shù)實(shí)驗(yàn)室發(fā)布的 為何 Qtum 量子鏈要設(shè)計(jì)X86虛擬機(jī)?Qtum-x86 設(shè)計(jì)時計(jì)劃實(shí)現(xiàn)多種語言編寫智能合約。因?yàn)镋VM 開發(fā)需要學(xué)習(xí)solidity,增加學(xué)習(xí)成本的同時穩(wěn)定性不強(qiáng),如果區(qū)塊鏈虛擬機(jī)支持多種編程語言可以變得更加安全。以 Rust 為例,Rust 相對于其他新型編寫語言中非常高效、輕量級的編程語言,最重要的是,它的安全性較高,能夠降低因程序員在編程中出現(xiàn)的錯誤而導(dǎo)致被攻擊的風(fēng)險(xiǎn)。

目前以太坊的開發(fā)費(fèi)用還是非常高昂,并由于沒有標(biāo)準(zhǔn)庫,也使得占用了大量的內(nèi)存Qtum-x86 為這些標(biāo)準(zhǔn)程序庫函數(shù)提供特殊的內(nèi)部代碼,類似于以太坊的預(yù)編譯合約。這種功能可以不需要為新的預(yù)編譯合約添加特殊支持,即可使用,使得在不影響其他共識等變量之下,更加的高效、便捷和節(jié)省內(nèi)存。

Qtum 量子鏈開發(fā)團(tuán)隊(duì)設(shè)計(jì)的初衷是能夠支持多種虛擬機(jī),以太坊虛擬機(jī)作為第一個支持的虛擬機(jī),但目前AAL的功能受到EVM的極大限制,而 Qtum-x86 虛擬機(jī)就將不再受到這些限制。

Qtum-x86 虛擬機(jī)的大內(nèi)存空間,以及它高效的操作代碼集,可以實(shí)現(xiàn)完整的區(qū)塊鏈數(shù)據(jù)進(jìn)行智能合約分析,這在以太坊虛擬機(jī)上是無法實(shí)現(xiàn)的。在未來有可能支持基于ai的智能合約自動監(jiān)控區(qū)塊鏈,成為潛在的 oracle,允許智能合約對自身進(jìn)行動態(tài)調(diào)整,以便在當(dāng)前的網(wǎng)絡(luò)條件下盡可能高效地運(yùn)行。這些區(qū)塊鏈數(shù)據(jù)可以包括完整交易數(shù)據(jù)以及節(jié)點(diǎn)的統(tǒng)計(jì)數(shù)據(jù)(共識相關(guān))。由于這些數(shù)據(jù)都是常量,且只需要占用極少的內(nèi)存空間,所以公開這些數(shù)據(jù)沒有什么弊端。

目前,以太坊虛擬機(jī)強(qiáng)制每個用戶都使用指向32-bytekey指向32-byte數(shù)據(jù)。開發(fā)人員管理起來可能會相當(dāng)復(fù)雜,尤其是考慮到存儲空間碎片化和維護(hù)的問題。因此,在Qtum-x86虛擬機(jī)上,會給智能合約添加一個通用的key-value存儲。這樣以來,用戶就可以使用任何從1字節(jié)到更長字節(jié)的key,并將其指向相同長度的變量值。目前,Qtum 開發(fā)團(tuán)隊(duì)提出的gas模型首先對讀/寫該數(shù)據(jù)庫的操作收取固定費(fèi)用,之后再根據(jù)實(shí)際操作的字節(jié)數(shù)進(jìn)行按字計(jì)價收費(fèi)。當(dāng)然,這個功能也會被計(jì)入stateRootHash中,這樣SPV錢包就可以使用這個數(shù)據(jù)庫與智能合約進(jìn)行交互。

Qtum 開發(fā)團(tuán)隊(duì)另一個設(shè)計(jì)目標(biāo)是使智能合約的依賴關(guān)系變得明確且不可變。這僅僅是一種opt-in功能,所以仍然可以允許調(diào)用未知合約。對于那些確切知道它們依賴關(guān)系的智能合約,可以在某些特定情況下并行執(zhí)行,有助于降低的gas成本,同時還有其他一些好處。這將是基于Qtum-x86虛擬機(jī)的智能合約的一個主要的擴(kuò)展優(yōu)勢。

一同回看,Qtum-x86開發(fā)工程師Howard現(xiàn)場演示視頻。分別在Qtum-x86虛擬機(jī)上以C、C++、Rust這三種主流開發(fā)語言調(diào)用API,展示了未來開發(fā)者用這些主流開發(fā)語言編寫智能合約的范例。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉