返回博客

简单理解 Uniswap V3 如何集中流动性

·0xPM
Web3流动性Uniswap
系列DeFi 机制拆解1 / 4
  1. 1简单理解 Uniswap V3 如何集中流动性
  2. 2MemeCoin Bonding Curve 公式推导
  3. 3流动性:从虚拟到真实的进化论
  4. 4永续合约完全拆解:从机制原理到产品路线之争
  5. 查看系列 →

先看 V2 的问题

Uniswap V2 用 x * y = k 这条曲线做市,LP 一旦存入资金,流动性就会被均匀铺满从 0 到无穷大的整个价格区间。

问题在于:绝大多数交易只发生在当前价附近一个很窄的范围里。ETH/USDC 池中,ETH 市价是 2000 美元,但 LP 的资金里有一部分"守"在 100 美元、另一部分"守"在 10000 美元——这些钱在日常交易中几乎永远用不上,却照样承担无常损失。

资本效率极低,这是 V3 要解决的核心问题。

V2 vs V3 流动性分布对比

V3 的三个关键设计

1. 把价格离散成 tick

V3 把连续的价格曲线切成一个个微观刻度,叫 tick。每个 tick 之间差 0.01%(即 1.0001 倍)。

这不是均匀切分,而是按几何级数切。这样做的好处是:无论 ETH 价格是 20 美元还是 20000 美元,每个 tick 代表的相对价格变化都是一样的,精度均匀。

每个 tick 都是一个可被引用的坐标。LP 部署流动性时,只需要给出两个 tick——一个下界 tickLower,一个上界 tickUpper——就能圈出一段价格区间。

2. LP 自选区间部署流动性

这是 V3 最核心的改动。LP 不再被动接受"全区间"设定,而是主动选择一段自己认为交易会频繁发生的区间,把资金放进去。

举例,三个 LP 在 ETH/USDC 池各自部署:

  • LP-A 在 1800–2000 美元存入资金
  • LP-B 在 1900–2100 美元存入资金
  • LP-C 在 2000–2200 美元存入资金

系统会按 tick 把每个 LP 的流动性拆分,然后按价格位置分层堆叠。于是在 1900–2000 美元这一段,实际可用的流动性 = LP-A + LP-B 的贡献之和;在 2000–2100 这一段,则是 LP-B + LP-C。

同一笔钱,因为集中在窄区间内,单位价格变化能支撑的交易量就比 V2 大得多。V3 白皮书里给出的理论上限是 4000 倍——当然这是极端窄区间的理想值,实际效率取决于 LP 选择的区间宽度。

自动激活与休眠:市场价格进入某个 LP 的区间时,这部分流动性参与交易并赚取手续费;价格跑出区间,这部分流动性自动停工,不再承担无常损失,也不再赚费。

3. 交易分段穿越 tick

当一笔大额交易发生时,价格会沿着 tick 一路推移,每穿过一个区间边界,参与做市的流动性组合就会变化一次。

交易穿越 tick 的分段执行

沿用上面的例子。假设 ETH 现价 1950 美元,用户一次性买入大量 ETH,把价格推到 2050 美元。这笔交易会被拆成两段:

  • 1950 → 2000:由 LP-A 和 LP-B 在此区间堆叠的流动性共同成交
  • 2000 → 2050:LP-A 的区间已走完,自动退出;切换到 LP-B 和 LP-C 组合继续成交

合约会逐段计算每段可用的流动性和消耗量,直到达成用户请求的交易总量。对用户来说,整个过程是无缝的——路由器会自动聚合所有相关区间,感知上仍是一次交易。

V2 vs V3 关键差异

维度Uniswap V2Uniswap V3
流动性分布均匀铺满 0→∞LP 自选区间集中部署
资本效率低(大量资金闲置)理论最高提升 4000 倍
无常损失全价格区间持续承担价格在区间外时不承担
费率单一费率多档费率池(0.05% / 0.3% / 1%)
LP 角色被动做市接近期权做市商,需主动管理

几个常见误解

"tick 本身就是流动性区间" —— 错。tick 只是价格坐标,流动性实际存在于两个 tick 之间的区间。

"LP 必须不断手动调仓才能赚钱" —— 不必。LP 的区间设定会一直生效,只是价格跑出区间后,这段流动性会自动休眠、停止赚费。要不要调仓是策略选择,不是机制要求。

"集中流动性会把市场切得很碎" —— 从合约层面看确实是分段的,但路由器会自动聚合沿途所有区间,用户感知不到碎片化。

小结

V3 把 V2 的"懒人做市"改成了"主动做市":

  • 交易者:在高密度区间享受更低滑点
  • LP:资本效率大幅提升,可以像期权做市商一样选区间、选费率,但也需要承担更主动的管理成本
  • 协议:通过多档费率池区分稳定币对、主流币对、长尾资产等不同风险画像

理解 V3 的关键不是记住"集中流动性"这个词,而是抓住三个动作:把价格切成 tick → LP 在区间内堆叠 → 交易分段穿越。

评论

加载中…