[發明專利]基于以太坊虛擬機的智能合約處理方法和裝置有效
| 申請號: | 201811073894.1 | 申請日: | 2018-09-14 |
| 公開(公告)號: | CN109034814B | 公開(公告)日: | 2020-10-16 |
| 發明(設計)人: | 段兵;肖偉 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;G06F9/455 |
| 代理公司: | 北京市鑄成律師事務所 11313 | 代理人: | 楊瑾瑾;陳建煥 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 以太 虛擬機 智能 合約 處理 方法 裝置 | ||
本發明實施例提出一種基于以太坊虛擬機的智能合約處理方法和裝置。該方法包括:接收來自請求節點的部署合約交易,部署合約交易中包括待部署合約的第一描述信息;向以太坊虛擬機發起初始化合約交易,所述初始化合約交易中包括第一描述信息,初始化合約交易用于在以太坊虛擬機中執行第一描述信息得到待部署合約的初始化狀態;接收來自以太坊虛擬機的初始化狀態的存儲地址;在區塊鏈網絡的賬本中保存第一描述信息、所述存儲地址和交易標識的對應關系;向所述請求節點返回所述待部署合約的交易標識。對于以太坊虛擬機的執行機制改動小,可以使用以太坊虛擬機的狀態存儲方式,對以太坊上的原生合約的兼容性好,有利于區塊鏈網絡的更新與升級。
技術領域
本發明涉及互聯網技術領域,尤其涉及一種基于以太坊虛擬機的智能合約處理方法和裝置。
背景技術
智能合約是區塊鏈2.0非常顯著的特征,其中一個典型的代表是以太坊。以太坊是一個開源的有智能合約功能的公共區塊鏈平臺。以太坊通過專用的加密貨幣以太幣(Ether)提供去中心化的虛擬機、即“以太虛擬機(EVM,Ethereum Virtual Machine)”來處理點對點合約。EVM是基于棧的精簡指令虛擬機,具備豐富的開發生態。EVM支持Sodility、類LISP語言(LLL,LISP Like Language)等多種圖靈完備的高級語言執行,為智能合約的開發提供了良好的基礎設施。
目前在區塊鏈中移植EVM的方案,對EVM本身的工作機制進行了很大的調整,對以太坊上的原生合約的兼容性差。一旦移植,后續升級需要完全脫離EVM主干進行升級,導致很多特性沒法及時合并支持,因此難以升級。
發明內容
本發明實施例提供一種基于以太坊虛擬機的智能合約處理方法和裝置,以解決現有技術中的一個或多個技術問題。
第一方面,本發明實施例提供了一種基于以太坊虛擬機的智能合約處理方法,包括:
接收來自請求節點的部署合約交易,所述部署合約交易中包括待部署合約的第一描述信息;
向以太坊虛擬機發起初始化合約交易,所述初始化合約交易中包括所述第一描述信息,所述初始化合約交易用于在所述以太坊虛擬機中執行所述第一描述信息得到所述待部署合約的初始化狀態;
接收來自所述以太坊虛擬機的所述初始化狀態的存儲地址;
在區塊鏈網絡的賬本中保存所述第一描述信息、所述存儲地址和交易標識的對應關系;
向所述請求節點返回所述待部署合約的交易標識。
結合第一方面,本發明實施例在第一方面的第一種實現方式中,所述第一描述信息中包括待部署合約的字節碼和預支付的費用。
結合第一方面,本發明實施例在第一方面的第二種實現方式中,還包括:
接收來自所述請求節點的執行合約交易,所述執行合約交易中包括待執行合約的交易標識和第二描述信息;
在所述區塊鏈網絡的賬本中查找與所述待執行合約的交易標識對應的存儲地址;
向所述以太坊虛擬機發起調用合約交易,所述調用合約交易中包括所述第二描述信息和查找到的存儲地址,以在所述以太坊虛擬機中按照所述查找到的存儲地址調取所述待執行合約的狀態、結合所述第二描述信息來執行所述待執行合約;
接收所述以太坊虛擬機返回的執行后的合約的新的狀態;
向所述請求節點返回所述新的狀態。
結合第一方面的第二種實現方式,本發明實施例在第一方面的第三種實現方式中,所述第二描述信息包括所述待執行合約的輸入參數和預支付的費用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811073894.1/2.html,轉載請聲明來源鉆瓜專利網。





