本文详细描述了在 Balancer V2 中发现的一个由 Certora 团队通过形式化验证发现的偿付能力漏洞。该漏洞允许用户通过将贷款分割成小额多次来逃避闪电贷费用,从而导致 Vault 的偿付能力受损。Balancer 团队通过要求 token 地址数组按严格升序排列解决了这个问题。
本文深入探讨了 Uniswap v4 的流动性机制,并提出了一种形式化的方法来证明其偿付能力。通过将代码转化为数学公式,使用 SMT 求解器验证流动性是否在所有函数调用中得到维持。同时,文章还讨论了在 Uniswap v4 中处理 ERC-20 代币时需要考虑的因素,以及如何通过引入 ghost 变量和 hooks 来精确计算和跟踪资金流动,从而确保 AMM 在任何情况下都能保持偿付能力。
本文讨论了Certora如何对Euler V2 Vault的关键属性进行形式验证,从而提高DeFi协议的安全性。具体介绍了形式验证如何帮助发现开发者未发现的罕见漏洞,以及如何确保用户账户的健康性和协议的偿付能力。作者提供了详细的实例和实现细节,强调了良好的规范设计在形式验证中的重要性。