【技术实现步骤摘要】
智能合约的验证方法和装置
本说明书一个或多个实施例涉及计算机应用
,特别涉及区块链
中智能合约的验证方法和装置。
技术介绍
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。在区块链
中智能合约是一组以数字形式指定的承诺,包括各方在其中履行这些承诺的协议。由于区块链平台的特殊性,智能合约对平台上的参与方来说是完全透明的,而且一旦部署很难被更改。因此在智能合约部署前确保其安全性和正确性就变得十分必要。
技术实现思路
本说明书一个或多个实施例描述了一种智能合约的验证方法和装置,以实现对智能合约的验证。根据第一方面,提供了一种智能合约的验证方法,该方法包括:对智能合约的每一个接口进行目标安全属性的形式化验证;对智能合约的不同接口的形式化验证产生的程序状态进行约减处理;若约减处理得到的程序状态不满足所述目标安全属性,则获取不满足所述目标安全属性的程序状态实例;验证不满足所述目标安全属性的程序状态实例是否均无效,如果否,则所述目标安全属性验证失败。在一个实施例中,该方法还包括:若约减处理得到的程序状态满足所述目标安全属性,则基于约减处理得到的程序状态,继续转至执行所述对智能合约的每一个接口进行目标安全属性的形式化验证。在另一个实施例中,该方法还包括:若验证得到不满足所述目标安全属性的程序状态实例均无效,则将该无效的程序状态实例从所述约减处理得到的程序状态中排除,继续转 ...
【技术保护点】
1.智能合约的验证方法,包括:/n对智能合约的每一个接口进行目标安全属性的形式化验证;/n对智能合约的不同接口的形式化验证产生的程序状态进行约减处理;/n若约减处理得到的程序状态不满足所述目标安全属性,则获取不满足所述目标安全属性的程序状态实例;/n验证不满足所述目标安全属性的程序状态实例是否均无效,如果否,则所述目标安全属性验证失败。/n
【技术特征摘要】
1.智能合约的验证方法,包括:
对智能合约的每一个接口进行目标安全属性的形式化验证;
对智能合约的不同接口的形式化验证产生的程序状态进行约减处理;
若约减处理得到的程序状态不满足所述目标安全属性,则获取不满足所述目标安全属性的程序状态实例;
验证不满足所述目标安全属性的程序状态实例是否均无效,如果否,则所述目标安全属性验证失败。
2.根据权利要求1所述的方法,还包括:
若约减处理得到的程序状态满足所述目标安全属性,则基于约减处理得到的程序状态,继续转至执行所述对智能合约的每一个接口进行目标安全属性的形式化验证。
3.根据权利要求1所述的方法,还包括:
若验证得到不满足所述目标安全属性的程序状态实例均无效,则将该无效的程序状态实例从所述约减处理得到的程序状态中排除,继续转至执行所述对智能合约的每一个接口进行目标安全属性的形式化验证。
4.根据权利要求2所述的方法,在所述转至执行所述对智能合约的每一个接口进行目标安全属性的形式化验证之前,还包括:
判断所述约减处理得到的程序状态是否达到稳定;
如果是,则所述目标安全属性验证通过,结束对所述目标安全属性的验证;
否则,基于约减处理得到的程序状态继续转至执行所述对智能合约的每一个接口进行目标安全属性的形式化验证。
5.根据权利要求1所述的方法,其中,所述约减处理包括程序分析技术中的抽象解释。
6.根据权利要求4所述的方法,其中,判断所述约减处理得到的程序状态是否达到稳定包括:
若连续N次约减处理得到的程序状态相同,则确定所述约减处理得到的程序状态达到稳定,所述N为大于或等于2的正整数。
7.根据权利要求1所述的方法,其中,所述验证不满足所述目标安全属性的程序状态实例是否均无效包括:
通过所述智能合约的各接口执行对所述程序状态实例的形式化验证,以验证所述程序状态实例是否均无效。
8.根据权利要求1至7中任一所述的方法,其中,所述获取不满足所述目标安全属性的程序状态实例包括:
从智能合约的不同接口的形式化验证产生的程序状态中,确定不满足所述目标安全属性的程序状态实例。
9.智能合约的验证装置,包括:
形式化验证单元,被配置为对智能合约的每一个接口进行目标安全属性的形式化验证;
约减处理单元,被配置为对智能合约的不同接口的形式化验证产生的程序状态进行约减处理;
状态判别单元,被配置为判断所述约减处理单元约减处理得到的程序状态是否满足所述目标...
【专利技术属性】
技术研发人员:邬萌,王海军,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。