[发明专利]一种适用于形式化验证的智能合约编译方法有效
申请号: | 201910032081.6 | 申请日: | 2019-01-14 |
公开(公告)号: | CN109753288B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 黄步添;徐启源;张维赛;陈建海;闫凤喜;王从礼;石太彬;苑振霞 | 申请(专利权)人: | 杭州云象网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 王琛 |
地址: | 311121 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 形式化 验证 智能 合约 编译 方法 | ||
本发明公开了一种适用于形式化验证的智能合约编译方法,提出的一种新型智能合约编译语言,其包含工程应用和类型数学集合,利用形式化证明结合语言编辑,可在运行前发现所有的Bug,能保证所写程序安全无漏洞并且操作简单的编辑语言,实现智能合约形式化验证实时进行;在进行合约形式化验证时,本发明仅需对所使用函数定理进行证明,无需函数建模,大大提高了智能合约编译效率。
技术领域
本发明属于区块链智能合约技术领域,具体涉及一种适用于形式化验证的智能合约编译方法。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。以比特币为首的区块链技术将智能合约的构想落地,随之以太坊将智能合约发扬光大,以太坊将比特币交易中的脚本变成了一种通用的图灵完备(所谓图灵完备是指编程语言的表达能力得到了最大程度的释放)的编程语言,但是过于自由的以太坊智能合约编程语言也使智能合约会和传统软件一样,被无处不在的安全漏洞和Bug所困扰。
目前针对智能合约安全问题的应对方式主要有两种:合约代码的测试和审计,这两种方式能够在一定程度上有效的规避大部分的安全问题,是保证合约安全的必要手段,但是同时也存在着一定的局限性。
而形式化证明是通过形式化逻辑的方式来表示合约代码,并加以严格地推理证明,这个过程依赖于数学逻辑推理的严密性,保证100%覆盖到到代码的运行期行为,可以明确保证在一定范围内的绝对正确,能弥补以上两种传统方式的局限。因此形式化证明在一些安全攸关的领域,如航天、高铁、核电、航空,已经逐步得到应用,并且取得了非常好的效果。
而智能合约代码,同样也是对安全要求极高,一旦出现问题,造成的经济损失更是不可估量;另外一些较为复杂的业务逻辑以及更高阶的性质,如经济学,博弈论范畴的问题,通过测试或者审计的方式更是难以有效验证。因而对于规模相对较小而设计复杂的智能合约而言,形式化程序验证无疑是保证其安全可靠的有效方法之一。
自从以太坊正式上线以来,由于智能合约漏洞/缺陷所带来的经济损失数以亿记;目前采用的形式化验证理论技术,是将智能合约语言编写的代码作为数学模型,将智能合约所需要满足的要求作为性质进行证明。进一步来讲,就是使用数学语言来描述合约代码,并证明其具有一些好的性质,例如不存在整数溢出漏洞。
形式验证是一个系统性的过程,将使用数学推理来验证设计意图(指标)在实现(RTL)中是否得以贯彻。而常用智能合约编辑语言如Jave、C语言等等均属于高效工程应用语言,在智能合约进行形式化验证过程中需要将其工程应用语言转化为可以形式化验证的数学逻辑语言,进行函数建模,运用比较繁琐,效率比较低,故需要提出一种新型的语言,其包含工程应用和类型数学集合,利用形式化证明结合语言编辑,可在运行前发现所有的Bug,能保证所写程序安全无漏洞并且操作简单的编辑语言。
发明内容
为了节省人力物力以及时间成本,本发明提供了一种适用于形式化验证的智能合约编译方法,提出一种新型的语言,其包含工程应用和类型数学集合;利用形式化证明结合语言编辑,可在运行前发现所有的Bug,能保证所写程序安全无漏洞并且操作简单的编辑语言,实现智能合约形式化验证实时进行。
一种适用于形式化验证的智能合约编译方法,其采用一种智能合约编译语言来实现智能合约编译,该编译语言的类型系统包含类型(实体类的字段方法)和数学集合,并使用多种虚函数表实现多类型参数、可用高阶逻辑(HOL)的快速表达,在进行智能合约形式化验证时,仅需对所使用函数定理进行证明,无需函数建模。
进一步地,所述类型被至少大于其本身的数学集合包含,类型作为其中一种集合用于实现交并补运算,并且可直接使用高阶逻辑描述,类型所在的数学集合则提供实体类的字段方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云象网络技术有限公司,未经杭州云象网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910032081.6/2.html,转载请声明来源钻瓜专利网。