[发明专利]智能合约的执行方法和系统在审
申请号: | 201710505389.9 | 申请日: | 2017-06-28 |
公开(公告)号: | CN108805562A | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 毕伟 | 申请(专利权)人: | 中思博安科技(北京)有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/40;G06Q40/04 |
代理公司: | 北京尚诚知识产权代理有限公司 11322 | 代理人: | 季向冈 |
地址: | 100195 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 区块 验证 运行环境 读取 加载 存储 携带 | ||
1.一种智能合约的执行方法,包括:
智能合约运行环境验证共识步骤,在与区块链逻辑上分离的预先构建的包括多个节点的智能合约运行环境中,对携带有参与待执行智能合约的用户的签名的待执行智能合约进行验证和共识,在所述验证和共识中,每个节点对所述待执行智能合约进行签名;
智能合约发送步骤,将通过验证并达成共识的待执行智能合约发送到所述区块链中;
区块链验证步骤,区块链由所述区块链针对通过验证并达成共识的待执行智能合约,验证所述用户的签名以及每个所述节点对所述待执行智能合约的签名;
智能合约存储步骤,将通过所述区块链的验证的待执行智能合约存储到区块链中;以及
智能合约执行步骤,当执行待执行智能合约时,由所述智能合约运行环境,从区块链读取并加载所述待执行智能合约来执行。
2.如权利要求1所述的执行方法,其中在智能合约运行环境验证共识步骤中,智能合约运行环境中的每个节点对智能合约均进行验证,根据每个节点的验证结果,智能合约运行环境对所述智能合约达成共识。
3.如权利要求2所述的执行方法,其中,当通过验证的节点数量占所有节点数量的比率大于预定量时,智能合约运行环境对所述智能合约达成共识。
4.如权利要求3所述的执行方法,其中,所述预定量为1/2。
5.如权利要求1所述的执行方法,其中,智能合约运行环境对合约进行验证时,对合约内容、所述用户的签名和合约哈希中的至少任一者进行验证。
6.如权利要求3所述的执行方法,还包括:由区块链针对来自所述智能合约运行环境的通过验证并达成共识的待执行智能合约验证合约内容、合约哈希中的至少一者。
7.如权利要求3所述的执行方法,在智能合约存储步骤之前,还包括:智能合约运行环境读取并认证区块链的信息来确保待执行智能合约存储到区块链中。
8.如权利要求3所述的执行方法,还包括:当智能合约运行环境检测到之前发送的待执行智能合约的版本超时且区块链还没有存入该待执行智能合约时,由合约运行环境重新将待执行智能合约发送给区块链。
9.如权利要求3所述的执行方法,还包括:在智能合约执行步骤中,由智能合约运行环境中的每个节点对智能合约的执行结果进行验证和共识,并将达成共识的合约执行结果和合约状态存储到区块链上。
10.一种智能合约的执行系统,包括:
应用端,在应用端处创建待执行智能合约;
用于执行智能合约的智能合约运行环境,与应用端连接以接收所述待执行智能合约,所述智能合约运行环境包括用于对待执行智能合约和执行时的智能合约进行验证和共识的多个节点;
与所述智能合约运行环境逻辑上分离的区块链,与智能合约环境电连接进行交互;
控制器,包括处理器和存储有程序指令的存储器,所述程序指令当由处理器执行时使得控制器被配置成与所述应用端、智能合约运行环境和区块链协同操作,执行如下步骤:
在与区块链逻辑上分离的包括多个节点的智能合约运行环境中,对携带有参与待执行智能合约的用户的签名的待执行智能合约进行验证和共识,在所述验证和共识中,每个节点对所述待执行智能合约进行签名;
将通过验证并达成共识的待执行智能合约发送到所述区块链中;
由所述区块链针对通过验证并达成共识的待执行智能合约,验证参与所述待执行合约的用户的签名以及每个所述节点对所述待执行智能合约的签名;
将通过所述区块链的验证的待执行智能合约存储到区块链中;以及
当执行待执行智能合约时,由所述智能合约运行环境,从区块链读取并加载所述待执行智能合约来执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中思博安科技(北京)有限公司,未经中思博安科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710505389.9/1.html,转载请声明来源钻瓜专利网。