[发明专利]一种智能合约验证方法、计算机存储介质有效
申请号: | 202011572924.0 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112581140B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 西安深信科创信息技术有限公司 |
主分类号: | G06Q20/40 | 分类号: | G06Q20/40;G06Q40/04 |
代理公司: | 西安嘉思特知识产权代理事务所(普通合伙) 61230 | 代理人: | 王海栋 |
地址: | 710000 陕西省西安市高新区鱼*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 合约 验证 方法 计算机 存储 介质 | ||
1.一种智能合约验证方法,其特征在于,包括:
步骤1、根据智能合约得到控制流图,所述控制流图包括标记有初始标记的节点和若干所述节点之间的边,且所述节点为含有断言的节点时,所述节点还标记有断言,其中,所述节点包括非循环节点和循环节点;
步骤2、基于预设顺序,根据所述节点的类型得到每个所述节点的不变量;
其中,在所述节点为循环节点时,根据迭代方法得到所述循环节点的不变量;
根据迭代方法得到所述循环节点的不变量,包括:
步骤2.21、随机生成若干组第一变量赋值数据,所述若干组第一变量赋值数据组成第一变量赋值集合;
步骤2.22、基于所述控制流图,标记所述第一变量赋值数据以得到第二变量赋值数据;
步骤2.23、基于所述第二变量赋值数据的标记,根据Linear Arbitrary算法得到候选不变量;
步骤2.24、根据所述循环节点的父节点验证所述候选不变量,若验证成功,则所述候选不变量为所述循环节点的不变量,若验证失败,则将生成变量赋值的反例添加至所述第一变量赋值集合得到第二变量赋值集合,重复步骤2.22至步骤2.24,直至得到所述循环节点的不变量生成结果;
步骤3、根据所述节点的不变量的断言隐含结果得到验证结果。
2.根据权利要求1所述的智能合约验证方法,其特征在于,所述步骤1包括:
步骤1.1、获取所述智能合约;
步骤1.2、将所述智能合约的源代码编译成字节码;
步骤1.3、根据所述字节码得到所述控制流图。
3.根据权利要求1所述的智能合约验证方法,其特征在于,所述步骤2包括:
在所述节点为非循环节点时,根据最强后置条件得到所述非循环节点的不变量。
4.根据权利要求3所述的智能合约验证方法,其特征在于,根据最强后置条件得到所述非循环节点的不变量,包括:
根据当前所述非循环节点的父节点的不变量和所述父节点至当前所述非循环节点的边的命令得到当前所述非循环节点的不变量。
5.根据权利要求1所述的智能合约验证方法,其特征在于,所述步骤2.22包括:
步骤2.221、将所述若干组第一变量赋值数据依次输入至所述控制流图,从所述循环节点执行到终止,在执行期间,当再次访问所述循环节点时,将达到所述循环节点的第一变量赋值也添加到所述第一变量赋值集合中;
步骤2.222、按照预设条件对所述第一变量赋值数据进行标记得到所述第二变量赋值数据,所述预设条件包括在执行期间不违反断言、在执行期间违反了断言和在执行期间证伪了断言。
6.根据权利要求1所述的智能合约验证方法,其特征在于,所述步骤2.24包括:
步骤2.241、基于最强后置条件,根据所述循环节点的父节点得到所述循环节点的验证不变量;
步骤2.242、判断所述循环节点的验证不变量是否能够推出所述候选不变量,若能推出,则验证成功,所述候选不变量为所述循环节点的不变量,若不能推出,则验证失败,将生成变量赋值的反例添加至所述第一变量赋值集合得到第二变量赋值集合,重复步骤2.22至步骤2.24,直至得到所述循环节点的不变量生成结果。
7.根据权利要求1所述的智能合约验证方法,其特征在于,当所述循环节点的不变量生成结果为未得到所述循环节点的不变量时,根据启发式算法得到所述循环节点的不变量。
8.根据权利要求1所述的智能合约验证方法,其特征在于,所述步骤3包括:
检查所述控制流图的含有断言的节点的不变量是否隐含断言,若隐含,则所述智能合约验证成功,若不隐含,则所述智能合约验证失败。
9.一种计算机存储介质,其特征在于,所述计算机存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安深信科创信息技术有限公司,未经西安深信科创信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011572924.0/1.html,转载请声明来源钻瓜专利网。