首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种智能合约的形式化验证方法、电子装置及存储介质 

申请/专利权人:平安科技(深圳)有限公司

申请日:2019-07-31

公开(公告)日:2024-07-05

公开(公告)号:CN110532176B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.07.05#授权;2021.09.28#实质审查的生效;2019.12.03#公开

摘要:本发明公开了一种智能合约的形式化验证方法、电子装置和存储介质,可将智能合约的源代码编译成抽象语法树,以及对智能合约的源代码进行反汇编,得到包含智能合约的汇编代码的目标文件,再将抽象语法树中的信息转换至目标文件中;基于目标文件中的汇编代码以及抽象语法树的信息,生成适于智能合约的形式化验证方法的形式化验证规则语句,本发明中在生成抽象语法树的过程中,智能合约中的变量名、方法名以及逻辑关系如继承的父类的信息等等,会体现在抽象语法树中,所以目标文件中的抽象语法树的信息,在一定程度上可以弥补智能合约的汇编代码的缺陷,使得形式化验证规则语句的提取更全面,有利于提升形式化验证的准确度以及智能合约的安全性。

主权项:1.一种智能合约的形式化验证方法,其特征在于,包括:获取待验证的智能合约的源代码,将所述智能合约的源代码编译成抽象语法树,以及对所述智能合约的源代码进行反汇编,得到包含所述智能合约的汇编代码的目标文件;将所述抽象语法树中的信息转换至所述目标文件中;获取所述智能合约对应的形式化验证方法,基于所述目标文件中的汇编代码以及所述目标文件中的抽象语法树的信息,生成适于所述形式化验证方法的形式化验证规则语句;根据生成的所述规则语句,进行所述智能合约的形式化验证;所述将所述智能合约的源代码编译成抽象语法树包括:使用预设的语法分析器对所述智能合约的源代码做关键词或标识符的提取,将每一个关键词或标识符作为所述智能合约的抽象语法树中的一个节点;根据提取的所述关键词或标识符出现的位置和顺序,划分所述关键词或标识符对应的节点的层级关系,以所有的节点以及节点之间的关系形成所述智能合约的抽象语法树;所述将所述抽象语法树中的信息转换至所述目标文件中包括:分析所述抽象语法树中各节点的节点类型,所述节点类型包括contract、function、param、value以及return;根据所述节点类型将所述抽象语法树中的节点的信息拷贝至所述目标文件中,其中,在拷贝后得到的所述目标文件中,所述抽象语法树中相同类型的节点的信息位于对应的同一节点类型名称下;所述基于所述目标文件中的汇编代码以及所述目标文件中的抽象语法树的信息,生成适于所述形式化验证方法的形式化验证规则语句包括:获取所述智能合约的安全需求,基于所述安全需求以及所述形式化验证方法,确定需要生成的适于所述形式化验证方法的形式化验证规则语句;从所述目标文件中的抽象语法树的信息以及汇编代码中,提取生成所述形式化验证规则语句需要的信息;基于提取的所有信息和所述形式化验证方法,生成适于所述形式化验证方法的形式化验证规则语句。

全文数据:

权利要求:

百度查询: 平安科技(深圳)有限公司 一种智能合约的形式化验证方法、电子装置及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。