[发明专利]一种完备的智能合约形式规范实现方法有效
申请号: | 201910828641.9 | 申请日: | 2019-09-03 |
公开(公告)号: | CN110705974B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 邱炜伟;李伟;李启雷;梁秀波;尹可挺;张丁文 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06Q20/06 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 完备 智能 合约 形式 规范 实现 方法 | ||
本发明公开了一种完备的智能合约形式规范实现方法,该方法包括步骤(1)确定智能合约函数的可达性;(2)确定智能合约函数的返回结果;(3)确定智能合约函数的状态及状态转移;该方法用于帮助开发者编写智能合约的完备的形式规范。同时基于此方法,开发者可以总结出不同业务场景下针对智能合约形式的完备的形式规范编写流程。本发明的价值在于通过建立完备的形式规范,提高了智能合约形式验证技术本身的安全性,降低了开发人员对智能合约进行形式验证的学习成本。
技术领域
本发明涉及智能合约和形式验证的技术领域,具体涉及一种智能合约形式验证的形式规范完备性实现方法。
背景技术
区块链技术已经成为很多领域的变革者,在比特币中涌现的分布式技术在数字货币之外有了非常广阔的应用前景。智能合约是在区块链中能够自主执行的程序,在智能合约中,合约条款由代码规定,这意味着用计算机程序编写程序在某种意义上具有了法律效力。但是执行用代码书写的合约并且在一个不可改变的公开的区块链中存储信息具有一定的风险问题,无数历史经验也表明智能合约的安全审计至关重要。形式验证是目前业界看好的智能合约安全审计技术,它可以保证智能合约能够100%的正确,确保某种错误状态不会发生。现在已经有一些对智能合约虚拟机语义模型的研究和学术成果,但是对于开发者而言,形式验证真正的困难在于如何设计实现完备的形式规范。本发明公开了,真正帮助开发者有效地利用形式验证技术,保障智能合约的安全性。
发明内容
针对现有技术的不足,本发明公开了一种完备的智能合约形式规范的实现方法,该方法可提高智能合约形式规范编写的完备性。具体技术方案如下:
一种完备的智能合约形式规范方法具体包括如下步骤:
(1)确定智能合约函数的可达性:判断该智能合约函数是收敛还是发散,若发散则不可达,若收敛则继续判断该智能合约函数是否正常返回,若不能正常返回则不可达,否则可达。可达性的判断是智能合约函数能进行状态路径的分析的基础工作。其中发散的函数(比如死循环或无限迭代不收敛的情形)需要经过断言或后置条件进行判别;不能正常返回的函数(比如发生异常出现中断的情形)需要经过额外的异常返回值进行判别;正常返回的函数可以进行后置条件进行常规的形式验证推理。
(2)确定智能合约函数的返回结果:描述该智能合约函数满足可达性时,返回结果满足的谓词。返回结果的验证一般通过后置条件进行,表示函数执行后,堆空间的最终状态。
(3)确定智能合约函数的状态及状态转移:所述的状态包括前置状态、中间状态和后置状态;所述的前置状态、中间状态和后置状态分别具有如下特征:
前置状态为该智能合约函数调用前智能合约函数的入参和状态变量满足的谓词;对一次智能合约函数的调用,前置状态存在且唯一确定;前置状态的描述称为前置从句,前置从句对该智能合约函数来说是恒成立的公理;当其他函数调用该智能合约函数时,前置从句是调用之前的形式验证点,在调用之前对智能合约函数进行形式验证。
中间状态为该智能合约函数调用过程中,智能合约函数的状态变量满足的谓词;对一次智能合约函数的调用,中间状态存在且一般有多个;中间状态的描述称为中间从句,中间从句在智能合约语句处进行形式验证,同时对该智能合约函数的状态转移起到引理的作用,辅助形式验证的推导。
后置状态为该智能合约函数调用后,智能合约函数的状态变量满足的谓词;对一次智能合约函数的调用,后置状态存在且唯一确定;后置状态的描述称为后置从句,后置从句在该智能合约函数调用结束之后对智能合约函数进行形式验证;后置从句的谓词需要覆盖状态转移的所有情形状态转移为智能合约函数在调用前后状态变量的变化。即对每个状态变量其在该智能合约函数调用前后,若发生了转移,则描述在何种条件下,发生了何种转移,若未发生转移,则描述在何种条件下,后置状态和前置状态保持不变。确定智能合约函数的状态转移为描述该智能合约函数满足可达性时,状态变量符合的谓词。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910828641.9/2.html,转载请声明来源钻瓜专利网。