免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    Balancer V2攻击事件初步分析

    11月3号,Balancer V2协议及其fork项目在多条链上遭受攻击,导致超过$120M的严重损失。BlockSec在第一时间预警[1],并给出初步分析结论[2]。这是一起高度复杂的攻击事件。我们的初步分析表明,根本原因在于攻击者操纵了不变量(invariant),从而扭曲了 BPT(Balancer Pool Token ) -- 也就是ool的LP token -- 价格的计算,使其能够通过一次 batchSwap 操作在某个稳定池(stable pool)中获利。

    背景知识

    1. 缩放(scaling)与取整(rounding)

    为统一不同代币的小数位,Balancer 合约会:

    • upscale:把余额与数额放大到统一内部精度再做计算;

    • downscale:把结果缩回原生精度,并进行有方向的取整(例如输入端通常向上取整,确保池子不少收;输出路径常有向下截断)。

    结论:同一笔交易内,不同环节采用的取整方向不对称,在极小步反复执行时,会产生系统性微小偏差。

    2. D 与 BPT 价格

    遭受本次攻击影响的是Balancer V2协议的 Composable Stable Pool [3]以及fork的协议。Stable Pool 用于那些预期可以保持接近 1:1 兑换比例(或在已知汇率下进行兑换的资产),允许在不产生显著价格冲击的情况下进行大额兑换,从而大幅提升相似资产或相关资产之间的资金利用效率。

    • 该pool采用 Stable Math(基于 Curve 的 StableSwap 模型),不变式 D 代表池子的“虚拟总价值”。

    • BPT (Pool的LP Token) 价格近似为:

    从上述公式可以看出若能让D 在账面上变小(哪怕资金实际未流失),就能让BPT 价格更便宜。BTP 代表的是Pool的份额,用于计算撤出流动性的时候能获得多少Pool中Reserve,因此如果攻击者能获得更多的BPT,最后在撤出流动性的时候就能获利。

    攻击分析

    以 Arbitrum 上的一笔攻击交易为例,batchSwap 操作可分为三个阶段:

    第一阶段: 攻击者将 BPT 兑换为底层资产,以精确地调整其中一种代币(cbETH)的余额至四舍五入边界的临界点(数量 = 9)。这一步为下一阶段的精度损失(precision loss)创造了条件。

    第二阶段: 攻击者使用精心构造的数量(= 8),在另一种底层资产(wstETH)与 cbETH 之间进行交换。由于在缩放代币数量时进行了向下取整(rounding down),计算得到的 Δx 略小(从 8.918 变为 8),从而导致 Δy 被低估,并使不变量 D(来源于 Curve 的 StableSwap 模型)变小。由于 BPT 价格 = D / totalSupply,BPT 价格被人为压低。

    第三阶段: 攻击者将底层资产反向兑换回 BPT,在恢复池内平衡的同时,利用被压低的 BPT 价格获利 -- 获得更多的BPT Token.

    最后,攻击者利用另外一个获利交易进行流动性撤回,从而利用多获得的BPT获得 Pool中其他底层资产 (cbETH和wstETH)从而获利

    攻击交易

    https://app.blocksec.com/explorer/tx/arbitrum/0x7da32ebc615d0f29a24cacf9d18254bea3a2c730084c690ee40238b1d8b55773

    获利交易:

    https://app.blocksec.com/explorer/tx/arbitrum/0x4e5be713d986bcf4afb2ba7362525622acf9c95310bd77cd5911e7ef12d871a9

    Reference:

    [1] https://x.com/Phalcon_xyz/status/1985262010347696312

    [2] https://x.com/Phalcon_xyz/status/1985302779263643915

    [3] https://docs-v2.balancer.fi/concepts/pools/composable-stable.html

    jinse.cn 1
    好文章,需要你的鼓励
    jinse.cn 1
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > BlockSec > Balancer V2攻击事件初步分析
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部