Skip to main content

Uniswap:v2 → v3(或 v4)

Uniswap 是头部 AMM 协议,也是 DeFi 的基石之一。然而,AMM 对三明治攻击较为脆弱。Uniswap v3 与 v4 引入了可缓解部分风险的功能。

v2:简单的常数乘积模型

特点

  • 常数乘积 AMM:x * y = k
  • 所有 LP 在同一池子条件下参与
  • 价格随交换引起的储备变化而变动

弱点

  • 交易暴露在公共内存池,攻击者可轻松实施“抢跑 → 受害者 → 回跑”的模式。
  • 即便设置滑点限制,也可能被诱导在更差价格成交。

v3:集中流动性与自定义区间

改进

  • 集中流动性:LP 可选择价格区间,提升资金效率。
  • 多池并存:不同费率、不同区间并行存在。

与三明治相关的变化

  • 流动性集中后,价格轻微波动也可能在窄区间内产生较大滑点。
  • 攻击者依旧可以观察受害者订单流并先发制人。
  • 相比 v2 更复杂,但并未默认解决三明治问题。

v4:Hooks 与可定制性

Hooks

  • v4 引入“Hooks”,即围绕交换流程的可扩展钩子。
  • 可在交换前/后注入自定义逻辑。
  • 例子:
    • 链上“类订单簿”行为
    • 动态费率
    • 额外的交易校验

利用 Hooks 缓解三明治

  • Hooks 可校验条件/顺序,减少攻击面。
  • 例如:拒绝超出指定滑点的订单,或与私有订单流结合。
  • Hooks 并非强制:v4 默认并不会屏蔽三明治。

迁移挑战

  • 许多用户与协议仍依赖 v2 池。
  • 原因包括:
    • v3+ 的流动性管理更复杂、成本更高;
    • 下游协议/聚合器依赖 v2,生态迁移放缓;
    • v4 尚早,采纳需要时间。
  • 因此,仍有大量资金滞留在更易受攻击的 v2 池。

小结

  • v2:最简单,也最容易受三明治攻击。
  • v3:资金效率更高,但攻击面仍在。
  • v4:通过 Hooks 可以设计更抗攻击的 DEX,但默认并不防护。

Uniswap 的演进并未彻底阻止三明治,而是为设计者与用户提供了组合防护的灵活性。