原文标题:《Uniswap - V3 技术白皮书导读》 Uniswap V3 一公布就引发广泛关注。相对 V2 来说,逻辑和代码都复杂一些。V3 的核心是通过盘口区间提供流动性(集中式流动性),解决 LP 提供流动性时的资金利用率的问题。什么是资金利用率?V3 如何推导区间流动性的计算公式?如何理解流动性?如何计算 swap 费用?本文先从 V3 技术白皮书详细分析开始。 先给出一些 Uniswap 官方有关 V3 的资料:
推荐先认真查看技术白皮书,再看智能合约代码,最后再对照官方介绍。理解了技术白皮书,代码非常容易理解。在技术白皮书的第一章总结了 Uniswap V3 的技术特点,最核心的概念是 「Concentrated Liquidity」(集中式流动性)。 资金利用率先看看 Uniswap V2 的资金利用率: 上图为资金池中的 x/y 的量变化曲线。资金池中的当前价格在 c 点,并且假设会在 a 价格点和 b 价格点之间波动。从 c 点向 a 点滑动,消耗最大 y_real,从 c 点向 b 点滑动,消耗最大为 x_real。也就是说,当前价格 c 点,在 a 点和 b 点之间震荡的话,最大只需要消耗 x_real 和 y_real。理论上只要提供 x_real 和 y_real 就足够了。而事实上,如上图所示,在价格 c 点,分别提供了大于 x_real 和 y_real 的 x 和 y。明显可以看出,x-x_real 和 y-y_real 的资金在这种情况下是永远用不上的,也就称为闲置资金。 在这种情况下,资金利用率为 x_real/x 或者 y_real/y。如果价格波动非常小的话,资金利用率是非常低的。Uniswap V3 就是尝试解决资金利用率低的问题。想法比较简单,所有资金可以只添加到某个区间,只添加到有可能价格波动到的区间范围。如何在某个区间添加流动性并提供 swap 功能是 Uniswap V3 的重点。先从 Virtual Reserves 说起。 虚拟资金池(Virtual Reserves)Uniswap 的交易采用的乘积固定模型 (x*y=k)。所谓的虚拟资金池 (Virtual Reserves),是指还在乘积固定曲线上,只提供某个区间流动性的资金池: 图中的墨绿色的曲线就是虚拟资金池满足的乘积固定曲线。事实上需要的资金的曲线如图中的橘黄色。橘黄色的曲线公式如下图: 你可以想象成虚拟资金曲线在 x/y 轴进行平移,使得 a/b 点和 x/y 轴重合。也就是用一定量的资金就能达到「虚拟」的交易曲线的效果。 (责任编辑:admin) |