[发明专利]一种基于区块链的智能合约系统及实现方法有效
申请号: | 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.vipzhuanli.com/pat/books/201611121140.X/2.html,转载请声明来源钻瓜专利网。