[發明專利]一種基于區塊鏈的智能合約系統及實現方法有效
| 申請號: | 201611121140.X | 申請日: | 2016-12-08 |
| 公開(公告)號: | CN106598549B | 公開(公告)日: | 2019-02-01 |
| 發明(設計)人: | 鄧迪;丁江 | 申請(專利權)人: | 天津米游科技有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06Q40/04 |
| 代理公司: | 北京易正達專利代理有限公司 11518 | 代理人: | 陳桂蘭 |
| 地址: | 301700 天*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 智能 合約 系統 實現 方法 | ||
本發明屬于區塊鏈技術領域,提出了一種基于區塊鏈的智能合約系統,包括OP代碼執行模塊、合約執行虛擬機、智能合約模塊;所述OP代碼執行模塊用于將基于堆棧的腳本內容通過OPCode解析,形成相應的運算代碼,從而獲取所述運算代碼執行的匯編語言;所述智能合約模塊用于將智能合約的代碼登記到區塊鏈上即合約鏈;所述合約執行虛擬機用于接收到執行區塊鏈上的智能合約指令后,執行智能合約。本發明還提出了一種基于區塊鏈的智能合約的實現方法,具體是將智能合約登記到區塊鏈上,且具有執行各種語言編寫的智能合約環境執行。采用本發明的系統和方法可以運行龐大復雜的智能合約,使得約定更智能,大大的減少了執行成本。
技術領域
本發明涉及區塊鏈技術領域,具體地說是一種基于區塊鏈的智能合約系統及實現方法。
背景技術
智能合約的理念可以追溯到1995年,幾乎與互聯網(world wide web)同時出現。因為比特幣打下基礎而受到廣泛贊譽的密碼學家尼克·薩博(Nick Szabo)首次提出了“智能合約”這一術語。從本質上講,這些自動合約的工作原理類似于其它計算機程序的if-then語句。智能合約只是以這種方式與真實世界的資產進行交互。當一個預先編好的條件被觸發時,智能合約執行相應的合同條款。智能合約顯示出了它獨特的優勢,比如在P2P交易中的應用,減少了執行合約成本等,促使很多技術專家對智能合約做進一步探索與研究。
發明內容
本發明的目的是提出一種基于區塊鏈的智能合約系統,包括OP代碼執行模塊、合約執行虛擬機、智能合約模塊;所述OP代碼執行模塊用于將基于堆棧的腳本內容通過OPCode解析,形成相應的運算代碼,從而獲取所述運算代碼執行的匯編語言;所述智能合約模塊用于將智能合約的代碼登記到區塊鏈上即合約鏈;所述合約執行虛擬機用于接收到執行區塊鏈上的智能合約指令后,判斷即將執行的智能合約是何種代碼編寫,如果就是OPCode代碼編寫,則直接執行,如果是高級語言編寫的智能合約代碼,則將高級語言編寫的智能合約代碼解析,通過調用OP代碼執行模塊獲取的匯編語言,執行智能合約。
優選的是,還包括外部數據模塊,所述外部數據模塊用于給合約執行虛擬機執行智能合約提供外部數據資源。
優選的是,所述智能合約模塊還包括將智能合約代碼進行哈希運算,哈希運算后將哈希值登記到區塊鏈上。
優選的是,所述合約執行虛擬機還包括將智能合約代碼哈希值與智能合約存儲服務器中的智能合約代碼相匹配,獲取與哈希值相對應的智能合約代碼。
為了解決上述技術問題,本發明又提出了一種基于區塊鏈的智能合約實現方法,包括如下:
將基于堆棧的腳本內容通過OPCode解析,形成相應的運算代碼,從而獲取所述運算代碼執行的匯編語言;
將智能合約對應的代碼登記到區塊鏈上;
接收到執行智能合約命令,從區塊鏈上獲取與要執行的智能合約對應的智能合約代碼;
判斷執行的智能合約代碼是何種語言編寫的,如果就是OPCode代碼編寫,則直接執行即可,如果是高級語言編寫的智能合約代碼,則將高級語言編寫的智能合約代碼解析,通過調用解析后的匯編語言,執行智能合約。
優選的是,在執行智能合約時,智能合約中的有些條件或者參數可以采用外部數據資源。
優選的是,將智能合約代碼進行哈希運算,將哈希值登記到區塊鏈上。
優選的是,若在區塊鏈上獲取到智能合約哈希值時,將哈希值與智能合約存儲服務器中的智能合約代碼相匹配,獲取與哈希值相對應的智能合約代碼,執行智能合約代碼。
本發明有益效果如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津米游科技有限公司,未經天津米游科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611121140.X/2.html,轉載請聲明來源鉆瓜專利網。





