日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種智能合約虛擬機(jī)系統(tǒng)及智能合約執(zhí)行方法

文檔序號(hào):39726431發(fā)布日期:2024-10-22 13:26閱讀:2來(lái)源:國(guó)知局
一種智能合約虛擬機(jī)系統(tǒng)及智能合約執(zhí)行方法

本發(fā)明涉及區(qū)塊鏈,尤其是涉及一種高性能智能合約虛擬機(jī)系統(tǒng)及智能合約執(zhí)行方法。


背景技術(shù):

1、智能合約是一種旨在以信息化方式傳播、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議,允許在沒(méi)有第三方的情況下按照預(yù)設(shè)條款進(jìn)行自動(dòng)執(zhí)行可信交易,這些交易可追蹤且不可逆轉(zhuǎn),如今通常表示在區(qū)塊鏈的多個(gè)節(jié)點(diǎn)上同步運(yùn)行的代碼腳本。區(qū)塊鏈技術(shù)與智能合約的結(jié)合,借助智能合約可編程性簡(jiǎn)化分布式節(jié)點(diǎn)操作,發(fā)揮了智能合約在執(zhí)行成本方面的優(yōu)勢(shì),同時(shí)賦予了智能合約去中心化與不可篡改的特性。

2、以太坊虛擬機(jī)(evm)是以太坊智能合約的運(yùn)行環(huán)境,支持以solidity為代表的圖靈完備的編程語(yǔ)言,每個(gè)虛擬機(jī)作為一個(gè)實(shí)體在以太坊客戶端中運(yùn)行。在底層以太坊虛擬機(jī)是一個(gè)基于堆棧實(shí)現(xiàn)的字節(jié)碼解釋執(zhí)行系統(tǒng);在上層evm與世界狀態(tài)、區(qū)塊信息等進(jìn)行交互?,F(xiàn)有的evm在實(shí)際應(yīng)用中面臨以下問(wèn)題:

3、1、性能問(wèn)題:以太坊虛擬機(jī)的機(jī)器碼長(zhǎng)度被設(shè)計(jì)為256位,導(dǎo)致一些常規(guī)的整數(shù)運(yùn)算效率不夠高;以太坊虛擬機(jī)的調(diào)用深度被限制為1024,超過(guò)此限制便會(huì)觸發(fā)棧溢出錯(cuò)誤,導(dǎo)致了合約執(zhí)行過(guò)程中無(wú)法進(jìn)行復(fù)雜堆棧調(diào)用,無(wú)法實(shí)現(xiàn)并發(fā)執(zhí)行等一系列問(wèn)題。

4、2、evm字節(jié)碼設(shè)計(jì)存在局限性,無(wú)法支持浮點(diǎn)數(shù)、異常處理、字符串操作等基本程序設(shè)計(jì),智能合約的表述能力不足,難以開(kāi)發(fā)出具有復(fù)雜功能的應(yīng)用程序。

5、3、不可升級(jí)

6、根據(jù)以太坊智能合約平臺(tái)的設(shè)計(jì),智能合約一旦創(chuàng)建便不可修改,在實(shí)際應(yīng)用中,業(yè)務(wù)迭代升級(jí)是最基本的要求,此特點(diǎn)限制了evm在實(shí)際場(chǎng)景中的應(yīng)用

7、4、數(shù)據(jù)隱私問(wèn)題

8、智能合約需要被全網(wǎng)中大多數(shù)節(jié)點(diǎn)執(zhí)行以此達(dá)成共識(shí)來(lái)實(shí)現(xiàn)可信交易,在實(shí)際應(yīng)用中,任何數(shù)據(jù)的公開(kāi)都有可能泄露商業(yè)機(jī)密或數(shù)據(jù)機(jī)密,造成損失,而以太坊智能合約平臺(tái)并沒(méi)有一個(gè)好的方案來(lái)保證合約數(shù)據(jù)的安全。

9、現(xiàn)有的通用語(yǔ)言支持方案主要包括使用wasm(web?assembly)虛擬機(jī)與docker容器等,但在實(shí)際應(yīng)用場(chǎng)景中都存在一定的局限性。超級(jí)賬本(hyper?ledger)的fabric子項(xiàng)目采用了輕量的,可移植的docker容器作為智能合約的運(yùn)行環(huán)境,理論上可以支持任何高級(jí)語(yǔ)言來(lái)編寫(xiě)智能合約,docker容器實(shí)現(xiàn)了資源隔離,智能合約通過(guò)socket通信方式來(lái)與公共賬本交互。但docker本身啟動(dòng)時(shí)間較長(zhǎng),效率較低,數(shù)據(jù)隱私保護(hù)依賴(lài)于fabric的通道機(jī)制。此外,通用語(yǔ)言更復(fù)雜的語(yǔ)言特性與原生的執(zhí)行環(huán)境,在帶來(lái)功能擴(kuò)展與性能提升的同時(shí),也可能造成額外的安全隱患。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明的目的是克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種智能合約虛擬機(jī)系統(tǒng)及智能合約執(zhí)行方法。

2、本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):

3、作為本發(fā)明的第一方面,提供一種智能合約虛擬機(jī)系統(tǒng),包括通過(guò)合約管理模塊進(jìn)行管理的智能合約編譯單元、鏈上智能合約虛擬機(jī)以及可信執(zhí)行環(huán)境;

4、所述的可信執(zhí)行環(huán)境設(shè)置包括:密鑰管理模塊、簽名驗(yàn)證及加解密模塊和可信合約虛擬機(jī);所述的可信合約虛擬機(jī)在安全硬件保護(hù)下運(yùn)行合約,執(zhí)行結(jié)果經(jīng)簽名驗(yàn)證及加解密模塊反饋給管理模塊;簽名驗(yàn)證模塊提供基于數(shù)字證書(shū)的身份驗(yàn)證,并對(duì)進(jìn)出可信執(zhí)行環(huán)境的數(shù)據(jù)進(jìn)行驗(yàn)證;

5、所述的可信執(zhí)行環(huán)境的硬件設(shè)備中內(nèi)置包括唯一的芯片密鑰和芯片證書(shū),通過(guò)檢查芯片證書(shū)的簽名來(lái)確認(rèn)硬件設(shè)備合法,并根據(jù)認(rèn)證報(bào)告進(jìn)一步確認(rèn)虛擬機(jī)合法;

6、可信執(zhí)行環(huán)境對(duì)外使用tls公鑰與數(shù)字證書(shū)建立安全連接,合約管理系統(tǒng)或鏈上智能合約虛擬機(jī)通過(guò)簽名聲明身份,簽名驗(yàn)證模塊驗(yàn)證數(shù)字身份,接受或拒絕相關(guān)數(shù)據(jù)請(qǐng)求。

7、作為優(yōu)選技術(shù)方案,所述的可信執(zhí)行環(huán)境通過(guò)在kata中創(chuàng)建容器運(yùn)行環(huán)境,結(jié)合rats-tls功能,實(shí)現(xiàn)虛擬機(jī)的遠(yuǎn)程認(rèn)證功能與tls證書(shū)相結(jié)合,

8、所述的認(rèn)證報(bào)告被芯片密鑰簽名,檢查報(bào)告簽名確認(rèn)合法性,檢查可信合約虛擬機(jī)的信息確認(rèn)虛擬機(jī)的合法性,實(shí)現(xiàn)可信合約虛擬機(jī)遠(yuǎn)程認(rèn)證;

9、遠(yuǎn)程認(rèn)證報(bào)告中包含tls公鑰信息和芯片密鑰的簽名,通過(guò)檢查遠(yuǎn)程認(rèn)證報(bào)告確認(rèn)當(dāng)前容器的運(yùn)行環(huán)境是否未可信合約虛擬機(jī),并確認(rèn)tls公鑰合法。

10、作為優(yōu)選技術(shù)方案,所述的密鑰管理模塊生成合約參數(shù)加密的可信公私鑰對(duì),私鑰在可信硬件中保存,當(dāng)鏈上虛擬機(jī)發(fā)出參數(shù)解密請(qǐng)求時(shí),在建立安全連接后將在可信執(zhí)行環(huán)境中解密數(shù)據(jù),解密后數(shù)據(jù)傳回鏈上虛擬機(jī);可信合約虛擬機(jī)能夠直接訪問(wèn)可信硬件中的內(nèi)存訪問(wèn)參數(shù)解密私鑰。

11、作為優(yōu)選技術(shù)方案,所述的智能合約編譯單元包括:

12、高級(jí)語(yǔ)言編譯器,根據(jù)特定的業(yè)務(wù)邏輯需求通過(guò)編程語(yǔ)言編寫(xiě)智能合約代碼;

13、智能合約編譯器,按照預(yù)定義文法規(guī)則編譯智能合約代碼得到可執(zhí)行的二進(jìn)制合約文件,并生成合約文件地址。

14、作為優(yōu)選技術(shù)方案,所述的智能合約編譯器中包括:

15、詞法分析模塊,用于提取智能合約代碼中的詞素,包括標(biāo)識(shí)符、運(yùn)算符和關(guān)鍵字;

16、語(yǔ)法語(yǔ)義模塊,根據(jù)詞法分析模塊產(chǎn)出的詞素集合,按照文法規(guī)則驗(yàn)證智能合約代碼的正確性,并生成抽象語(yǔ)法樹(shù)和結(jié)構(gòu)化的元數(shù)據(jù)信息。

17、作為優(yōu)選技術(shù)方案,所述的智能合約虛擬機(jī)以及可信合約虛擬機(jī)內(nèi)包括:

18、存儲(chǔ)模塊:支持?jǐn)?shù)據(jù)的持久化;

19、指令執(zhí)行模塊:負(fù)責(zé)解析和執(zhí)行合約中的指令集;

20、所述的指令執(zhí)行引擎根據(jù)智能合約調(diào)用請(qǐng)求參數(shù)設(shè)定執(zhí)行智能合約可使用的資源額度,以及定位到執(zhí)行程序指令的入口地址;

21、指令執(zhí)行引擎按順序逐一執(zhí)行代碼指令并累加每條指令所消耗的資源配額,當(dāng)指令執(zhí)行完畢或超過(guò)最大可用資源額度時(shí),程序終止并退出內(nèi)存管理模塊,負(fù)責(zé)為執(zhí)行引擎提供必要的內(nèi)存資源。

22、作為優(yōu)選技術(shù)方案,所述的合約管理模塊負(fù)責(zé)處理合約的安裝、升級(jí)、執(zhí)行和銷(xiāo)毀;

23、合約管理模塊根據(jù)智能合約安裝發(fā)起者的賬戶地址和合約名稱(chēng),通過(guò)計(jì)算得到合約安裝地址,并在區(qū)塊鏈底層保存安裝地址和合約文件地址的對(duì)應(yīng)關(guān)系;

24、合約管理模塊分布在鏈上和鏈下兩個(gè)部分:鏈下部分負(fù)責(zé)合約打包、存儲(chǔ)以及與用戶的交互;鏈上部分負(fù)責(zé)在區(qū)塊鏈上記錄包括合約的安裝位置、版本信息以及執(zhí)行狀態(tài)的關(guān)鍵數(shù)據(jù);

25、當(dāng)合約被安裝或升級(jí)時(shí),鏈上部分會(huì)接收鏈下部分提交的請(qǐng)求,并在區(qū)塊鏈上記錄相應(yīng)的操作。

26、作為本發(fā)明的第二方面,提供一種智能合約執(zhí)行方法,所述方法基于如上所述的智能合約虛擬機(jī)系統(tǒng),步驟包括:

27、通過(guò)高級(jí)語(yǔ)言編譯器,編寫(xiě)智能合約代碼;

28、編寫(xiě)完成的智能合約代碼通過(guò)智能合約編譯器進(jìn)行轉(zhuǎn)換,智能合約編譯器分析代碼的詞法和語(yǔ)法以確保其符合預(yù)定義的文法規(guī)則,然后將代碼編譯成一種可執(zhí)行的二進(jìn)制格式,并生成合約文件地址;

29、合約管理模塊根據(jù)合約的名稱(chēng)和發(fā)起者的賬戶地址,通過(guò)單向散列函數(shù)計(jì)算得到一個(gè)唯一的合約安裝地址,并將合約安裝地址與合約文件地址對(duì)應(yīng)起來(lái),保存在區(qū)塊鏈的底層存儲(chǔ)中;

30、基于當(dāng)前請(qǐng)求執(zhí)行的合約類(lèi)型,分別由鏈上的智能合約虛擬機(jī)執(zhí)行普通合約,由可信執(zhí)行環(huán)境中的可信合約虛擬機(jī)執(zhí)行隱私合約。

31、作為優(yōu)選技術(shù)方案,所述的普通合約執(zhí)行過(guò)程具體如下:

32、識(shí)別到當(dāng)前請(qǐng)求合約為普通合約時(shí),根據(jù)合約安裝地址和合約文件地址的對(duì)應(yīng)關(guān)系,查詢(xún)存儲(chǔ)模塊;若未在存儲(chǔ)模塊中查詢(xún)到合約文件,則檢查合約編譯器及存儲(chǔ);若查詢(xún)到合約文件,則加載可執(zhí)行二進(jìn)制合約文件,并采用校驗(yàn)算法g檢驗(yàn)合約文件的完整性及正確性;

33、從調(diào)用請(qǐng)求中獲得合約參數(shù),請(qǐng)求密鑰管理系統(tǒng)解密,使用訪問(wèn)證書(shū)與密鑰管理系統(tǒng)建立安全加密連接;

34、創(chuàng)建智能合約運(yùn)行環(huán)境,啟動(dòng)智能合約虛擬機(jī)并在所述運(yùn)行環(huán)境中執(zhí)行所述智能合約;解析可執(zhí)行二進(jìn)制合約文件,得到并裝載編譯器生成的程序指令集,根據(jù)智能合約調(diào)用請(qǐng)求參數(shù)設(shè)定執(zhí)行智能合約可使用的資源額度,以及定位到執(zhí)行程序指令的入口地址,按順序逐一執(zhí)行代碼指令并累加每條指令所消耗的資源配額;返回執(zhí)行結(jié)果。

35、作為優(yōu)選技術(shù)方案,所述隱私合約執(zhí)行過(guò)程具體如下:

36、識(shí)別到當(dāng)前請(qǐng)求合約為隱私合約時(shí),根據(jù)合約安裝地址和合約文件地址的對(duì)應(yīng)關(guān)系,查詢(xún)存儲(chǔ)模塊;若未在存儲(chǔ)模塊中查詢(xún)到合約文件,則檢查合約編譯器及存儲(chǔ);若查詢(xún)到合約文件,則加載可執(zhí)行二進(jìn)制合約文件,并采用校驗(yàn)算法g檢驗(yàn)合約文件的完整性及正確性;

37、進(jìn)行可信合約虛擬機(jī)遠(yuǎn)程認(rèn)證;遠(yuǎn)程認(rèn)證成功后,將二進(jìn)制合約文件和密文請(qǐng)求參數(shù)一并傳入可信執(zhí)行環(huán)境;

38、由簽名驗(yàn)證及加解密模塊完成解密并由可信智能合約虛擬機(jī)執(zhí)行合約代碼,執(zhí)行結(jié)果在由簽名驗(yàn)證及加解密模塊加密簽名后傳出可信執(zhí)行環(huán)境,并上鏈存證。

39、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:

40、1)本發(fā)明所提出的高性能智能合約虛擬機(jī)系統(tǒng)使用可信執(zhí)行環(huán)境,一次調(diào)用智能合約的執(zhí)行無(wú)需在所有節(jié)點(diǎn)上都重復(fù)執(zhí)行一遍,減少鏈上共識(shí)過(guò)程,既可以保護(hù)合約敏感信息,也能大幅提升整體的性能。其中,密鑰管理模塊在虛擬機(jī)發(fā)起數(shù)據(jù)解密請(qǐng)求時(shí),使用數(shù)字證書(shū)和虛擬機(jī)建立安全連接,虛擬機(jī)聲明智能合約的身份,密鑰管理系統(tǒng)驗(yàn)證數(shù)字證書(shū),接受或拒絕虛擬機(jī)的解密請(qǐng)求;加密解密模塊可使用硬件級(jí)別的安全保護(hù)策略,將秘鑰托管在硬件設(shè)備內(nèi),加解密操作運(yùn)行于可信執(zhí)行環(huán)境(tee)中,防止明文暴露。

41、2)本發(fā)明提供了對(duì)數(shù)據(jù)隱私保護(hù)的全面支持。在同一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中,智能合約的交易不僅可以得到全網(wǎng)的執(zhí)行和驗(yàn)證,還能保證交易數(shù)據(jù)的隱私安全。通過(guò)采用可信執(zhí)行環(huán)境和先進(jìn)的加密和解密技術(shù),本發(fā)明確保了合約交易數(shù)據(jù)在傳輸和存儲(chǔ)過(guò)程中的安全性,同時(shí)又能讓合約的執(zhí)行結(jié)果得到網(wǎng)絡(luò)中所有節(jié)點(diǎn)的正確驗(yàn)證,實(shí)現(xiàn)了隱私保護(hù)與去中心化驗(yàn)證的完美平衡。

42、3)本發(fā)明通過(guò)設(shè)計(jì)獨(dú)立的存儲(chǔ)模塊,實(shí)現(xiàn)了代碼與數(shù)據(jù)的隔離。這種架構(gòu)允許用戶根據(jù)數(shù)據(jù)安全策略,對(duì)數(shù)據(jù)進(jìn)行靈活的管理和治理。用戶可以采取加密、訪問(wèn)控制等手段,確保數(shù)據(jù)在存儲(chǔ)過(guò)程中的安全性和隱私性。這種設(shè)計(jì)不僅提高了數(shù)據(jù)的安全性,還增強(qiáng)了系統(tǒng)的可擴(kuò)展性和可維護(hù)性。

43、4)本發(fā)明的合約可升級(jí)架構(gòu)設(shè)計(jì),使得智能合約能夠適應(yīng)實(shí)際應(yīng)用中的變化和業(yè)務(wù)需求的迭代升級(jí)。通過(guò)合約管理模塊,開(kāi)發(fā)者和企業(yè)可以方便地對(duì)智能合約進(jìn)行升級(jí)和更新,以適應(yīng)市場(chǎng)變化和業(yè)務(wù)發(fā)展。這種靈活的架構(gòu)設(shè)計(jì)大大延長(zhǎng)了智能合約的使用壽命,增強(qiáng)了其在實(shí)際應(yīng)用中的適用性。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1