[发明专利]一种高度自动化的智能合约形式化验证系统及方法有效
申请号: | 201810790872.0 | 申请日: | 2018-07-18 |
公开(公告)号: | CN108985073B | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 杨霞 | 申请(专利权)人: | 成都链安科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06Q40/04 |
代理公司: | 成都四合天行知识产权代理有限公司 51274 | 代理人: | 王记明 |
地址: | 610000 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高度 自动化 智能 合约 形式化 验证 系统 方法 | ||
本发明公开了一种高度自动化的智能合约形式化验证系统及方法,包括:步骤001:将智能合约功能需求描述文档转换为使用非自然语言描述的智能合约功能需求规范文档,智能合约功能需求规范文档内容包括目标合约功能规范描述和安全属性描述;步骤002:建立形式化验证规则模型库。步骤003:通过自动化建模工具对合约源代码和/或字节码进行自动化建模;步骤004:对步骤003生成的抽象语法树解析,为代码中常量、变量分配内存地址;步骤005:形式化证明。本发明适应于多种的高级编程语言编写的程序代码,也适应多种形式化语言,同时提供源代码建模和字节码建模两种自动化建模方式,能够针对用户的不同建模需求进行建模,进一步提高验证效率。
技术领域
本发明涉及区块链智能合约安全领域和形式化验证方法,具体涉及一种高度自动化的智能合约形式化验证系统及方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。使用去中心化共识机制去维护一个完整的、分布式的、不可篡改的账本数据库的技术,它能够让区块链中的参与者在无需建立信任关系的前提下实现一个统一的账本系统。一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。在区块链技术背景下,智能合约是指运行在区块链上,能够执行某些功能的程序代码。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
由于区块链不可篡改特性,一旦因为程序自身设计的问题,导致智能合约的安全漏洞,或将产生不可逆转的重大损失。形式化验证方法是使用数学的公式、定理和系统来验证一个系统的功能正确性和安全属性,与传统检测方法相比,形式化验证方法可以发现目标与系统描述的不一致性问题,因此使用形式化验证方法来验证智能合约,可以有效的检验智能合约的安全性,检测合约是否存在漏洞。但是常见的形式化验证方法存在着下列问题:
1、对程序员要求极高。不仅要求程序员对所验证代码的编程语言熟悉,还要求程序员具有较高的数学基础。
2、现有技术主要依赖于手工验证,工作量大,自动化程度低,因此时间成本太高,建立的模型的正确性无法保障,需求一旦变化,前面的工作都要重新开始,且模型的正确性依赖于程序员的建模经验和技术程度。
3、阅读性差,不利于程序员之间对接工作。常见形式化验证方法所建立的模型没有统一规范,仅与程序员习惯及素质有关,不方便代码对接。
4、目前常见的验证方法,大都是验证合理输入得到合理结果,对于不合理输入的结果往往忽略,这种做法存在很大的安全隐患。如果不合理输入仍能得到符合函数功能规范的结果,说明该智能合约代码存在漏洞。
发明内容
本发明为了解决上述技术问题,目的在于提供一种高度自动化的智能合约形式化验证系统及方法,这种方法建立形式化验证规则模型库,并对智能合约源代码和字节码进行自动化建模,再由程序员针对不同模型和形式化验证规则模型库以及智能合约功能需求描述文档,分别描述定理并证明。通过将自动化建模和人工验证相结合,能够减少时间成本,缩短验证周期,提高效率,同时自动化建模能够统一模型规范,减少验证模型对程序员个人素质的依赖程度,保证正确性。
本发明通过下述技术方案实现:
一种高度自动化的智能合约形式化验证系统,包括形式化验证规则模型库、智能合约编译器、自然语言解释器、自动化建模工具、语法树解析器、定理生成器、定理证明器、智能合约漏洞检测文档生成器,其中,
形式化验证规则模型库用于支持自动化建模工具、定理生成器的工作;形式化验证规则模型库包括区块链平台模型库和智能合约安全属性模型库;
智能合约安全属性模型库是通过对智能合约常见安全漏洞形式化描述建立的安全属性库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都链安科技有限公司,未经成都链安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810790872.0/2.html,转载请声明来源钻瓜专利网。