[发明专利]智能合约的执行方法和系统在审
申请号: | 201710505389.9 | 申请日: | 2017-06-28 |
公开(公告)号: | CN108805562A | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 毕伟 | 申请(专利权)人: | 中思博安科技(北京)有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/40;G06Q40/04 |
代理公司: | 北京尚诚知识产权代理有限公司 11322 | 代理人: | 季向冈 |
地址: | 100195 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 区块 验证 运行环境 读取 加载 存储 携带 | ||
本发明提供一种智能合约的执行方法,包括:在包括多个节点的智能合约运行环境中,对携带有参与待执行智能合约的用户的签名的待执行智能合约进行验证和共识,在所述验证和共识中,每个节点对所述待执行智能合约进行签名;由区块链针对来自所述智能合约运行环境的通过验证并达成共识的待执行智能合约,验证参与所述待执行合约的用户的签名以及每个所述节点对所述待执行智能合约的签名;将通过区块链的验证的待执行智能合约存储到区块链中;以及当执行所述待执行智能合约时,在所述智能合约运行环境中,从区块链读取并加载所述待执行智能合约来执行。
技术领域
本发明涉及区块链和智能合约技术领域,更具体的,涉及一种基于共识机制的智能合约的执行方法及系统。
背景技术
智能合约(以下也简称为“合约”)是一段代码和数据的集合,也叫“可编程合约”,即通过程序编码定义合约,预设执行条件,当触发执行条件时执行行为。其中的“智能”是执行上的智能,也就是说达到某个预设条件,合约自动执行。智能合约的本质是一些执行任务的集合,当满足合约中的触发条件或者预置条件后,会按照事先定义好的执行任务进行执行,一般情况下,执行任务可包括操作和交易,交易的执行是由用户发起的,用户对交易进行签名。
发明内容
发明要解决的问题
然而,在传统方法中,智能合约的运行需要依附区块链系统,需要事先预存合约中涉及到的所有资源,需要在一个区块链中执行合约,但是这样会导致合约与区块链的耦合性强,不同区块链之间无法进行协同的操作,而且无法进行资源转移,资源的流动性差。因此,迫切需要一种能够使智能合约的运行与区块链在逻辑上分离的技术。
有鉴于此,本发明提供了一种基于共识机制的智能合约的执行方法及系统,实现了一种能够与区块链逻辑上分开运行的自动、可靠性高、资源使用灵活、与区块链间低耦合的分布式智能合约的执行机制。
解决问题的技术方案
根据本发明的一个实施方式,一种智能合约的执行方法,包括:
智能合约运行环境验证共识步骤,在与区块链逻辑上分离的预先构建的包括多个节点的智能合约运行环境中,对携带有参与待执行智能合约的用户的签名的待执行智能合约进行验证和共识,在所述验证和共识中,每个节点对所述待执行智能合约进行签名;
智能合约发送步骤,将通过验证并达成共识的待执行智能合约发送到所述区块链中;
区块链验证步骤,区块链由所述区块链针对通过验证并达成共识的待执行智能合约,验证所述用户的签名以及每个所述节点对所述待执行智能合约的签名;
智能合约存储步骤,将通过所述区块链的验证的待执行智能合约存储到区块链中;以及
智能合约执行步骤,当执行待执行智能合约时,由所述智能合约运行环境,从区块链读取并加载所述待执行智能合约来执行。
优选的,在智能合约运行环境验证共识步骤中,智能合约运行环境中的每个节点对智能合约均进行验证,根据每个节点的验证结果,智能合约运行环境对所述智能合约达成共识。
优选,当通过验证的节点数量占所有节点数量的比率大于预定量时,智能合约运行环境对所述智能合约达成共识。其中,所述预定量可以为1/2。
此外,智能合约运行环境对合约进行验证时,可以对合约内容、所述用户的签名和合约哈希中的至少任一者进行验证。
所述执行方法还可以包括:由区块链针对来自所述智能合约运行环境的通过验证并达成共识的待执行智能合约验证合约内容、合约哈希中的至少一者。
在智能合约存储步骤之前,所述执行方法还可以包括:智能合约运行环境读取并认证区块链的信息来确保待执行智能合约存储到区块链中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中思博安科技(北京)有限公司,未经中思博安科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710505389.9/2.html,转载请声明来源钻瓜专利网。