[发明专利]智能合约安全交易序列生成方法、装置、介质和设备在审
申请号: | 202110066361.6 | 申请日: | 2021-01-19 |
公开(公告)号: | CN112767155A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 谢智健;邹邦祺;聂瑞华;赵淦森 | 申请(专利权)人: | 华南师范大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 郑浦娟 |
地址: | 510631 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 安全 交易 序列 生成 方法 装置 介质 设备 | ||
1.一种智能合约安全交易序列生成方法,其特征在于,包括以下步骤:
S1、首先将智能合约二进制形式转换成为指令集序列,然后基于智能合约的指令集序列构建程序控制流程图GFC,
S2、对程序控制流程图GFC进行全局扫描,定位出其中的数据交互指令;
S3、根据数据交互指令进行执行路径构造;
S4、收集构造的各条执行路径中的约束指令;
S5、由约束求解器根据收集的约束指令,求解智能合约交易序列的输入;
S6、根据各交易序列的输入,确定程序控制流程图GFC中所触发的路径,得到交易序列;
S7、针对步骤S6得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
2.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
3.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,约束求解器为Z3约束求解器。
4.根据权利要求1所述的智能合约安全交易序列生成方法,其特征在于,步骤S1中,基于智能合约的指令集序列,根据跳转方式构建程序控制流程图GFC。
5.根据权利要求4所述的智能合约安全交易序列生成方法,其特征在于,跳转方式中跳转指令包括JUMP指令和JUMPI指令。
6.一种智能合约安全交易序列生成装置,其特征在于,包括智能合约二进制分析器、约束求解器和安全序列生成器;所述智能合约二进制分析器包括程序控制流程图构建模块、数据交互指令定位模块、执行路径构造模块和路径约束收集模块;安全序列生成器包括交易序列产生模块和交易序列判定模块;其中:
程序控制流程图构建模块,用于将智能合约二进制形式转换成为指令集序列,并且基于智能合约的指令集序列构建程序控制流程图GFC;
数据交互指令定位模块,用于对程序控制流程图GFC进行全局扫描,定位出其中的数据交互指令;
执行路径构造模块,用于根据数据交互指令进行执行路径的构造;
路径约束收集模块,用于收集构造的各条执行路径中的约束指令;
约束求解器,用于根据收集的约束指令,求解智能合约交易序列的输入;
交易序列产生模块,用于根据各交易序列的输入,确定程序控制流程图GFC中所触发的路径,得到交易序列;
交易序列判定模块,用于针对交易序列产生模块得到的各交易序列,通过冲突可串行化理论判定安全性,若交易序列满足冲突可串行化,则判定为安全交易序列,否则判定为不安全的交易序列。
7.根据权利要求6所述的智能合约安全交易序列生成装置,其特征在于,所述数据交互指令包括CREATE指令、CALL指令、CALLCODE指令、DELEGATECALL指令、STATICCALL指令和SELFDESTRUCT指令。
8.根据权利要求6所述的智能合约安全交易序列生成装置,其特征在于,所述约束求解器为Z3约束求解器。
9.一种存储介质,其特征在于,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1~5中任一项所述的智能合约安全交易序列生成方法。
10.一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1~5中任一项所述的智能合约安全交易序列生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南师范大学,未经华南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110066361.6/1.html,转载请声明来源钻瓜专利网。