52、智能合约的组合验证

智能合约的组合验证

在智能合约的开发和应用中,验证其正确性和安全性至关重要。本文将介绍一种智能合约验证方法,以及相关的理论和实践贡献。

1. 方法概述

我们的方法与演绎式智能合约解决方案不同,它能自动找到归纳强化。与其他智能合约模型检查解决方案相比,它不限于前置和后置条件,并且可以扩展到 2160 个用户。其关键理论贡献在于证明了使用局部束抽象的验证是参数化组合模型检查(PCMC)的一个实例,并实现了其适用的边条件自动化。实践方面,我们在新的智能合约验证工具 SmartACE 中实现并评估了该方法,使用 SeaHorn 进行符号模型检查(SMC)。

SmartACE 的工作流程如下:
1. 输入一个合约和一个谓词。
2. 通过分析每个交易中的通信,自动从合约中推断出代表。
3. SeaHorn 相对于这些代表验证谓词。
4. 如果谓词正确,则返回一个局部束。

2. 背景知识
2.1 参数化组合模型检查(PCMC)

许多过渡系统是参数化的,例如客户端 - 服务器应用程序和数组操作程序。同步控制 - 用户网络(SCUNs)是一种常见的参数化系统,其中用户仅与控制进程同步,不自行执行代码。

一个 SCUN N 是一个元组 (SC, SU, PI, PS, TI, TS, c0, u0),其语义由参数化的标记过渡系统 M(N) 给出。参数化系统具有参数化属性,k - 通用安全属性是一个谓词 ϕ ⊆ SC × (SU)k。PCMC 的关键在于一致性和组合不变量。组合不变量由两个谓词 θC ⊆ SC 和 θU ⊆ SC × SU 满足以下条件:
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值