[發明專利]一種基于WebAssembly的智能合約虛擬機在審
| 申請號: | 201911418104.3 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111179086A | 公開(公告)日: | 2020-05-19 |
| 發明(設計)人: | 邱煒偉;李偉;匡立中;尹可挺;強宇周 | 申請(專利權)人: | 杭州趣鏈科技有限公司 |
| 主分類號: | G06Q40/04 | 分類號: | G06Q40/04;G06F8/41;G06F8/60;G06F9/455 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 劉靜 |
| 地址: | 310051 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 webassembly 智能 合約 虛擬機 | ||
本發明公開了一種基于WebAssembly的智能合約虛擬機,該虛擬機包括合約編寫與編譯模塊和合約的部署與執行模塊,所述合約編寫與編譯模塊;通過設計一系列的區塊鏈交互接口EI,暴露出了智能合約編寫所需的區塊鏈API。利用設計的EI進行智能合約的編寫,并將編寫好的智能合約利用編譯器編譯為WebAssembly字節碼。所述合約的部署與執行模塊分為合約部署和執行兩部分。用戶申請一個合約賬戶,利用合約賬戶地址向自身發起一筆部署合約的交易完成合約的部署。在智能合約的執行過程中,需要先把EI的具體實現注入到編譯好的WebAssembly字節碼中,再進行進一步的合約執行。本發明可以針對字節碼進行優化,以提升合約執行性能,且加強了合約語言的擴展性與虛擬機的靈活性。
技術領域
本發明涉及區塊鏈領域,尤其涉及執行智能合約的執行環境:一種基于WebAssembly的智能合約虛擬機。
背景技術
區塊鏈是一種新型去中心化協議,能安全地存儲數字貨幣交易或其他數據,信息不可偽造和篡改,區塊鏈上的交易確認由區塊鏈上的所有節點共同完成,由共識算法保證其一致性,區塊鏈上維護一個公共的賬本,公共賬本位于存儲區塊上任何節點可見,從而保證其不可偽造和篡改。
智能合約是由事件驅動的、具有狀態的、獲得多方承認的、運行在區塊鏈之上的、且能夠根據預設條件自動處理資產的程序,智能合約最大的優勢是利用程序算法替代人仲裁和執行合同。它是在區塊鏈數據庫上運行的計算機程序,可以在滿足其源代碼中寫入的條件時自動執行。智能合約一旦編寫好就可以被用戶信賴,合約條款不能改變,因此合約是不可更改的。虛擬機是智能合約的運行環境,它不僅是沙盒封裝的,而且是完全隔離的。
WebAssembly是一套可移植、體積小、加載快且兼容Web的二進制字節碼格式。它專為棧式虛擬機設計,開發者能夠將高階語言如C/C++,Rust編譯成WebAssembly,從而可以部署在Web客戶端或虛擬機中。WebAssembly字節碼即可以編譯成機器碼后執行,也可以使用解釋器直接執行,保證了兼容性和性能,且其作為一種中間代碼,任何高級語言只要能編譯為WebAssembly字節碼均可在虛擬機中執行,擴展性高。
發明內容
針對現有技術的不足,本發明提出一種基于WebAssembly的智能合約虛擬機,增強了智能合約的可擴展性與靈活性。
本發明的目的是通過以下技術方案來實現的:一種基于WebAssembly的智能合約虛擬機,該虛擬機包括合約編寫與編譯模塊和合約的部署與執行模塊兩部分:
所述合約編寫與編譯模塊;通過設計一系列的區塊鏈交互接口EI,暴露出了智能合約編寫所需的區塊鏈API。所述EI包括:
account模塊:用于獲取發送者、接受者、合約地址、查詢余額以及發起交易等;
action模塊:用于進行action執行權限判斷、獲取action數據、發起action以及返回action執行結果等;
database模塊:用于數據持久化的存儲。
利用設計的EI進行智能合約的編寫,并將編寫好的智能合約利用編譯器編譯為WebAssembly字節碼,從而可以在虛擬機部署與執行。
所述合約的部署與執行模塊分為合約部署和執行兩部分。用戶申請一個合約賬戶,利用合約賬戶地址向自身發起一筆部署合約的交易完成合約的部署。在智能合約的執行過程中,需要先把EI的具體實現注入到編譯好的WebAssembly字節碼中,再進行進一步的合約執行。合約執行完成之后可以通過區塊鏈查詢合約執行結果。
進一步地,所述的合約編寫與編譯模塊中,EI的設計內容還可包括如下模塊:
chain模塊:用于獲取區塊數據。
crypto模塊:用于數據加密以及驗證加密結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州趣鏈科技有限公司,未經杭州趣鏈科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911418104.3/2.html,轉載請聲明來源鉆瓜專利網。





