[发明专利]一种高度自动化的智能合约形式化验证系统及方法有效
申请号: | 201810790872.0 | 申请日: | 2018-07-18 |
公开(公告)号: | CN108985073B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 杨霞 | 申请(专利权)人: | 成都链安科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06Q40/04 |
代理公司: | 成都四合天行知识产权代理有限公司 51274 | 代理人: | 王记明 |
地址: | 610000 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高度 自动化 智能 合约 形式化 验证 系统 方法 | ||
1.一种高度自动化的智能合约形式化验证系统,其特征在于,包括形式化验证规则模型库、智能合约编译器、自然语言解释器、自动化建模工具、语法树解析器、定理生成器、定理证明器、智能合约漏洞检测文档生成器,其中,
所述智能合约编译器用于接收区块链智能合约源代码,将区块链智能合约源代码编译得到源码和字节码,再将得到的源码和字节码输出至自动化建模工具进行建模;
所述自然语言解释器用于接收智能合约功能需求描述文档,将智能合约功能需求描述文档转化为使用非自然语言描述的智能合约功能需求规范文档,并将智能合约功能需求规范文档传输至定理生成器;
所述自动化建模工具用于接收智能合约编译器输出的源码和字节码,并依赖于形式化验证规则模型库对源码和字节码进行自动化建模,对源码进行自动化建模得到智能合约代码抽象语法树文档和源码智能合约模型文档;对字节码进行自动化建模得到字节码智能合约模型文档;
所述语法树解析器用于接收自动化建模工具中的智能合约代码抽象语法树文档,并解析出智能合约代码中的常量、变量、继承关系、函数限定符,并为其分配内存地址,生成语法树解析文档并输出至定理生成器;
所述定理生成器用于接收自动化建模工具输出的源码智能合约模型文档以及自然语言解释器输出的非自然语言描述的智能合约功能需求规范文档以及语法树解析器输出的语法树解析文档,同时依赖于形式化验证规则模型库对非自然语言进行非形式化描述得到相关定理,生成智能合约定理文档并将其输出至定理证明器;
所述定理证明器用于接收定理生成器输出的智能合约定理文档,并对其进行形式化证明得到验证结果,并将验证结果传输至智能合约漏洞检测文档生成器;
所述智能合约漏洞检测文档生成器用于接收定理证明器输出的验证结果,并生成智能合约漏洞检测文档。
2.根据权利要求1所述的一种高度自动化的智能合约形式化验证系统,其特征在于,所述自动化建模工具包括源码建模器和字节码建模器,所述源码建模器用于对合约源代码进行自动化建模并输出智能合约代码抽象语法树文档和源码智能合约模型文档;所述字节码建模器用于对字节码进行自动化建模并输出字节码智能合约模型文档。
3.根据权利要求2所述的一种高度自动化的智能合约形式化验证系统,其特征在于,所述源码建模器包括词法分析器、语法分析器、语法树对接器、源码形式化语言推导器,其中,
所述词法分析器用于接收智能合约源代码,并依赖于智能合约语言文法规则库中存储的不同编程语言的文法规则,对输入的字符串进行扫描与分解,识别合法的词素,产生特定规则的词法单元序列并将词法单元序列输出至语法分析器;
所述语法分析器用于接收词法分析器输出的词法单元序列以及用于存储简单优先表,并将词法单元序列与简单优先表进行比较判断,得出词法单元序列所属的编程语言种类,并结合智能合约语言文法规则库中对应的文法规则,将词法单元序列中的词素生成抽象语法树,并将抽象语法树输出至语法树对接器,同时输出智能合约代码抽象语法树文档;
所述语法树对接器用于接收语法分析器输出的抽象语法树以及用于存储对接字典表,利用对接字典表将抽象语法树中的内容一一对应替换生成形式化语言语法树,并将形式化语言语法树输出至源码形式化语言推导器;
所述源码形式化语言推导器用于接收形式化语言语法树并结合形式化语言文法规则库将语法树对接器中输出的形式化语言语法树翻译成对应的形式化语言代码,整理得到源码智能合约模型文档。
4.根据权利要求2所述的一种高度自动化的智能合约形式化验证系统,其特征在于,所述字节码建模器包括字节码形式化语言推导器,其中,
所述字节码形式化语言推导器用于接收智能合约字节码,同时依赖于形式化语言文法规则库以及虚拟机指令系统规则库建立智能合约字节码与对应形式化语言操作码的对接字典表,并结合对接字典表将智能合约字节码一一替换成对应的形式化语言操作码的内容,从而得到形式化语言代码,并将形式化语言代码整理得到字节码智能合约模型文档。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都链安科技有限公司,未经成都链安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810790872.0/1.html,转载请声明来源钻瓜专利网。