Uniswap v3 设计原理深度解析:可自定义区间的集中流动性

关键词:Uniswap v3、集中流动性、虚拟储备、AMM、资金效率、tick、流动性聚合、手续费分层

为何需要 v3?——从低效的「全覆盖」谈起

Uniswap v2 用一句 $x \cdot y = k$ 撬动了整个 DeFi 世界,却在市场走向精细化后暴露硬伤:做市资金像地毯一样平铺在 0 到 ∞ 的整个价格区间,99% 的时间里都在睡觉。以 ETH/DAI 为例,即便一个月内 95% 的成交量集中在 1,300–2,200 DAI/ETH,v2 依然把资产摊在 0 附近与 5,000 以上的“荒原”。结果是:池子看着很大,真实资金利用率常低于 25%,稳定币交易对甚至不足 5%。

Uniswap v3 的口号很直接:只做有价值区间的生意

集中流动性:用“价格区间”代替“无限长直线”

1. 虚拟储备让曲线弯得更聪明

传统 AMM 曲线是 连续 的:如果你想在 1,500 附近做市,就得把资产一路铺到 0 与 ∞,公式上就是储备 $x + x_{virtual}$ 与 $y + y_{virtual}$ 两部分叠加——

  • $x_{real}, y_{real}$:你真金白银放进去的代币

  • $x_{virtual}, y_{virtual}$:系统为你“虚拟”出来的那部分,永远恒定,用来满足 $x \cdot y = k$ 的数学关系

当价格跑到设定边界 a 或 b,$x_{real}$ 或 $y_{real}$ 会被全部换成对手资产,一踏出边界,流动性直接被「断电」。借助虚拟储备,你只在有效区间内承担做市义务,资金效率成倍提升。

👉 想把这一技巧用在实盘?先看资金效率暴涨 20 倍的秘密

2. “聚合器”视角下的单一池

由于每位 LP 设置的价格区间不同,同一池子里的流动性实际上由多条小曲线拼接而成。一笔交易发生时,*协议按价格切片*:依次穿过不同 LP 的小区间,逐段报价,再把结果聚合。听起来像 1inch 在做路由,只不过 v3 把这件事写进了核心合约。

3. 交易计算:从 $k$ 到 $L=\sqrt k$

为了避免反复开根号带来的精度与 Gas 灾难,v3 只存储 $\sqrt P$ 与 $L = \sqrt k$:

  • $x = \frac{L}{\sqrt P},\quad y = L \cdot \sqrt P$

  • $\Delta x \approx \frac{\Delta (\frac{1}{\sqrt P})} {\L}$, $\Delta y \approx \Delta \sqrt P \cdot L$

这样任何跨区间的交易,都可以通过 Tick 级别的 Liquidity Netting 快速结算。

Tick:离散化的价格梯子

无限细分的区间会让合约爆炸。于是 v3 将价格空间切分为 0.01% 的固定步长(即价格放大系数 1.0001),每格称为一个 tick。指数化后的公式:$i=\log_{\sqrt{1.0001}} \sqrt p$,$i=0$ 时价格正好 1,把连续空间降为整数索引,

  • 最小下标支持到 −887272,最大 887272,

  • 结合 64.96 位定点数,死死咬住精度。

tickSpacing 再次优化:

  • 0.05 % 费率池间距 10 (即 0.10 % 刻度),

  • 0.30 % 费率池间距 60,

  • 1.00 % 费率池间距 200。低波动稳定币用小步长,高波动交易对同步拉大,既省 Gas 又不牺牲颗粒度。

👉 点击解锁 tick 间距与手续费的最佳搭配策略

多费率池:让市场在流动与成本间博弈

v3 一次性推出 0.05 %、0.30 %、1.00 % 三档费率,同一交易对可衍生 3 条独立池。

  • 高频稳定币:选 0.05 %,极薄价差也能盈利

  • 蓝筹资产:0.30 % 兼顾交易深度与 LP 收益

  • 长尾代币:1.00 %,补偿高无常损失风险

问题是流动性被打散,需要专业路由(或聚合器)才能帮用户挑到最优路线,官方前端暂未涵盖。

问答环节(FAQ)

**Q1:把区间缩得太小,会不会刚加池就“踏空”?**A:确实,若价格迅速突破设定区间,你就只剩单边资产。建议用波动范围的历史分位数 + 1.2 倍安全垫来设界,并定期重新平衡。

**Q2:v3 的手续费谁决定,会改吗?**A:初始 0.05 %/0.30 %/1.00 % 由社区治理投票决定,未来可追加更多层级。任何新费率参数需经 UNI 持有者链上投票通过才能生效。

**Q3:如果大家对同一个区间蜂拥而入,收益会被稀释吗?A:会。v3 的竞争点在于 区间策略,不再是比谁钱多。选对冷门但高交易频次的区间,反而收益更高。

**Q4:入池后如何退?**A:LP 仓位被 ERC-721 NFT 化,任何时候都能烧毁 NFT 赎回对应资产+累计手续费。需注意的是,如果价格已跳出区间,你只能提回单边资产。

**Q5:做市技术门槛这么高,小白怎么办?A:可以交给第三方策略 Vault,把复杂定价、再平衡留给算法,你享受分红即可。

**Q6:所有 Tick 全存一次状态会否无限膨胀?A:不会。v3 使用「稀疏存储」:只在作为边界的 tick 上写下 liquidityNet,中间空白 tick 不落地。

展望下一篇

我们将拆解 创建交易对 + 注入流动性 的完整合约交互路径,演示怎样用最小代码把自定义区间 LP 摆上链。