原标题:《uniswap - V3技术白皮书导读》 来源:星想法 作者:Star Li uniswap V3一公布就引发广泛关注。相对V2来说,逻辑和代码都复杂一些。V3的核心是通过盘口区间提供流动性(集中式流动性),解决LP提供流动性时的资金利用率的问题。什么是资金利用率?V3如何推导区间流动性的计算公式?如何理解流动性?如何计算swap费用?本文先从V3技术白皮书详细分析开始。 先给出一些uniswap官方有关V3的资料: V3官方介绍https://uniswap.org/blog/uniswap-v3/ 技术白皮书https://uniswap.org/whitepaper-v3.pdf 智能合约代码 https://github.com/Uniswap/uniswap-v3-core https://github.com/Uniswap/uniswap-v3-periphery 推荐先认真查看技术白皮书,再看智能合约代码,最后再对照官方介绍。理解了技术白皮书,代码非常容易理解。在技术白皮书的第一章总结了uniswap V3的技术特点,最核心的概念是"Concentrated Liquidity" (集中式流动性)。 1资金利用率 先看看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说起。 2虚拟资金池(Virtual Reserves) uniswap的交易采用的乘积固定模型(x*y=k)。所谓的虚拟资金池(Virtual Reserves),是指还在乘积固定曲线上,只提供某个区间流动性的资金池: 图中的墨绿色的曲线就是虚拟资金池满足的乘积固定曲线。事实上需要的资金的曲线如图中的橘黄色。橘黄色的曲线公式如下图: 你可以想象成虚拟资金曲线在x/y轴进行平移,使得a/b点和x/y轴重合。也就是用一定量的资金就能达到“虚拟”的交易曲线的效果。 如何计算在某个区间提供虚拟资金池,先要从深入理解流动性开始。 (责任编辑:admin) |