一个案例说明高层属性形式化验证

本文通过一个众筹合约案例展示了Beosin-VaaS如何验证智能合约的高层属性。工具首先验证单个函数属性,然后抽取并验证上层状态属性。案例中,虽然单个函数功能正确,但因函数间调用逻辑导致漏洞,使得在众筹失败后,受益人仍能提取资金。这突显了形式化验证在发现合约间逻辑错误的重要性。
摘要由CSDN通过智能技术生成

1.验证软件功能介绍:
Beosin-VaaS的业务逻辑验证软件, 是一款用来检测智能合约上层业务逻辑漏洞的软件。
基于合约的白皮书, 软件利用形式化方法, 首先对单个函数进行属性的描述, 在对单个函数进行属性的验证并通过后, 基于这些已验证属性, 抽取出高层的状态属性, 进而对上层属性进行自动推理和验证, 若属性不满足, 则会返回一条反例路径。

2.案例介绍(界面:合约。)
我们可以以下面这个案例来举例说明。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里我们考虑进行一次众筹,目标是在部署后deadline时间内,收集fundingGoal个以太币。 如果在该期间收集到相应数额个以太币,则表明众筹成功,在这种情况下,受益人可以提取资金。 否则,将认为众筹失败,并允许用户要求退款。 众筹合约本身继承了token合约,并直接收集众筹期间投入的所有资金。
3.具体合约和函数说明
我们可以进一步得知, 该项目包含了一个Crowdsale合约,继承一个token合约。
在众筹合约中, 构造函数会初始化设置众筹的截止时间deadline, 并添加众筹目标额度fundingGoal,并在合约中硬编码受益人的地址beneficiary;
然后会提供回调函

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值