详解Uniswap V3中,AMM的数学原理_币世界+火星财经

2021-04-01 09:52 栏目:行业动态 来源:网络整理 查看()

Uniswap V3最耀眼的创新,——,实现了AMM集中的流动性。作者:碧源连锁研究所

简介——Uniswap V3(以下简称Uniswap V3)已经发布了许多特性,但其最本质的迭代仍然是重新思考AMM数学曲线。这两年我们也致力于AMM领域,认为AMM最基本的曲线形态已经定型,后续的创新应该是在AMM基本曲线形态的基础上“战略性”的,于是我们创造了MOV超导V2。现在看了V3,突然有种“久别重逢”的感觉。在寻找这种感觉的同时,我们也希望向您展示AMM最深刻的思考之旅。因为AMM时代将会比想象中更加辉煌。

让我们切入正题。Uniswap V3最耀眼的创新,——,实现了AMM集中的流动性。

V3给出了虚拟储量的概念,并举例说明:

在传统的V2,爱丽丝一次向储备池注入500,000戴和333.33 ETH,总价值100万美元,提供了整个范围的流动性(0,\ infity)。但实际上,ETH的价格波动区间长期存在局部区间,极大浪费了资金利用效率。

(注:在一个成熟的金融市场,无套利原则和提高资金利用效率永远是两个核心诉求,也是后续DeFi产品挑战先锋DeFi的起点。)

所谓集中流动性,就是让LP自主选择波动区间,只为这个区间提供局部流动性。举个例子,Bob认为未来ETH的价格区间会是(1000,2250),如果以后真的在这个区间波动,Bob希望能得到和百万富翁爱丽丝一样多的收入,那么Bob一开始只需要投资91,751 DAI和61.17 ETH,总值183,500美元。下面参考下图说明原因。

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

x为ETH,y为DAI,a点对应价格1000,b点对应价格2250,c点为当前市场价1500,x_{real}为鲍勃投资的61.17 ETH,y_{real}为91751 DAI。

在数学实现中,——

我们假设图中的曲线表达式是xy=D,其中D是我们要确定的值,也就是这条“虚”曲线。

有以下客观事实:

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

此外,因为

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

规则

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

求解方程

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

最后,我们发现

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

也就是鲍勃得到的虚拟曲线(d值)和爱丽丝的几乎一样。

以上计算过程是一种反证。实际上,用户Bob会向系统算法提出自己的需求输入,包括预测价格区间、当前价格点,以及他最终想要获得的一个虚拟储量规模(即虚拟曲线D值)。有了虚曲线表达式的确定,就很容易计算出三个确定点A、B、C的坐标,进而计算出x_{real}=61.17,y_{real}=91751。

同时可以看出,一旦未来价格超出范围,鲍勃的一项资产将完全消失。

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

虚拟准备金是Uni V3实现集中流动性的基本原则,也是Uni V3将多元化持仓区间统一成(大全区间虚拟)曲线的巧妙之处。但看似简单的原理缺乏复杂工程实现和算法模型的支持,尤其是费用的统计计算和LP加入/退出的计算。

对于AMM来说,最复杂的是LP的访问行为和收益统计。在以V2为代表的经典AMM模型中,LP的可提取数量比例(包括手续费)将通过“份额模型”自始至终确定。然而,在V3中,将使用“非常统计的方式”来计算LP的可提取比率和获得的费用比率。

具体实现上,Uni V3以滴答的方式将整个价格区间划分为离散的空间:

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

如何根据目前的价格判断机票——

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

全球状态下有feegrowtglobal 0(f _ { g },0)和feegrowtglobal 1(f _ { g },1)—f _ {g},用于从全球角度计算手续费总收入。例如,当一笔交易发生在一个分笔成交点时,系统将计算该笔交易产生的手续费:

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

Y_{in}是本次交易的输入数量,其余为手续费比例。系统将不断累计每个分笔成交点产生的所有手续费之和。

然后引入一个“稍低一级”的全局状态变量feegrowthoutside \ { 0,1 \}-f _ {o}记号来计算给定范围内的总手续费。我们想查询某个价格区间(即下限ticki_{l}和上限ticki_{u}之间)产生了多少累计手续费。通式为:

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

其中,

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

变量f_{a}是高于我分笔成交点的所有区间的费用统计,f_{b}是低于我分笔成交点的所有区间的费用统计。因此,在上述通式中,我们从全球累计费用总额f_{g}中减去所有低于下限i_{l}的累计费用,然后减去所有高于上限i_{u}的累计费用,即为(I)

F_{o}可以理解为一个计算单位,用来累计手续费,最高可达itick。在初始化过程中,我们达成如下协议:

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

看f_{a}的计算,分为两节,可以理解为——

如果当前分笔成交点等于I或高于I,则累计至I分笔成交点的费用f_{o}(i)从全球总费用f_{g}中减去,其余为高于I分笔成交点的所有区间的费用统计;

但是如果当前tick还没有到达I,按照f_{o}的初始化定义为0,那么所有高于i tick的区间的费用统计还没有生成,为0。

f_{b}——也一样

如果当前勾号达到或超过I,f_{o}(i)表示累计手续费给I,即低于I勾号的所有区间的费用统计;

如果当前分笔成交点尚未到达I,则低于I分笔成交点的所有区间的费用统计值为当前全局变量f_{g}(当前总手续费)。

一般来说,系统算法要把累计手续费算在一定范围内。

如果当前分笔成交点已经在范围内,即i_{l}\leq i_{c} i_{u},只需从全局费用f_{g}中减去所有低于i_{l}组成的范围的累计费用;

如果当前分笔成交点不在区间内,且低于下限i_{l},则表示区间(i_{l},i_{u})内没有生成交易,因此区间内累计金额为0;

如果当前分笔成交点不在范围内,且高于上限i_{u},则需要从全局总量中移除“两端”各自的累计量,即从全局f_{g}中减去所有低于i_{l}的累计量,然后从i_{u}中减去累计量,得到当前分笔成交点间隔。

Uni V3计算手续费的过程是一种从微观到宏观的思维,将空间划分为离散的,每个时间尺度只会在一个离散的空间产生交易,从而产生手续费。每个微勾都记录了从最低勾到自身区间内累计的手续费总额,然后被上述公式用来计算各种宏观结果。

Uni V3改变了AMM传统的线性规划行为设置,不再根据全球流动性和份额计算每个线性规划的费用收入。对于V3,只关注每一个勾有多少“虚拟”流动性,这些虚拟流动性产生了多少手续费,计算单位虚拟流动性对应的手续费值;在这个时空下,我们把视角切到每张LP。对于任何低压,将有一个“位置”间隔设置。他在自己设定的区间内提供虚拟流动性,可能是一个滴答,也可能是一系列滴答。从最简单的“一个分笔成交点”角度解释,系统会同时在这个分笔成交点记住每个LP注入的虚拟流动性值,并为他们确定一个比例(注意这个比例只和当初注入的虚拟流动性有关,不涉及费用对流动性,和V2不一样),从而得到这个分笔成交点的所有费用积累。

详解Uniswap V3中,AMM的数学原理_币世界+火星财经

在实际情况中,LPs仍然具有复杂的行为,例如复杂的注入/退出时间和复杂的范围/刻度选择。但是Uni V3的简单是用全局计算屏蔽单一LP视角,只关心ticks视角和Position视角。在确定了上述一系列全局状态变量的定义后,仔细记录每笔掉期交易在分笔成交点的发生情况(包括在一个分笔成交点完成掉期交易和交叉多个分笔成交点完成掉期交易),只记录每笔分笔成交点的虚拟流动性,从而提供掉期交易公式以及如何将掉期后的手续费分配给参与分笔成交点的所有LPs。LP的复杂行为体现在空间的不连续性和时间的不一致性上。对于时间上的不一致(即会有大量的LP加入和退出流动性),Uni V3还会引入头寸级全局变量,记录每个地址的未收手续费/手续费增长方,以保证后续的LP不会参与到之前的LP的累计收益分配中。

综上所述,tick-level是空间发生的统计,保证相同起点的LPs的费用分配,Position-level是时间发生的统计,保证不同起点的LPs有不同的累计起点。建议实现者深入V3代码,以便得到安全的计算方法。

最后,Uni V3太复杂了,但是道路简单。即使模仿者模仿,也还是需要努力去深入了解自己的微积分思维。本文仅选择fee来呈现Uni V3的“数学原理”,这也是实现集中流动性的核心逻辑。除了数学,我们还有更多“哲学意义”的惊人发现与大家分享,比如LP token的演变,NFT不仅属于艺术领域(对金融更有帮助),V3会有战略游戏,V3对基金池/合成资产的启示等。当然,它也包括MOV超导V2公司的“交心”。——AMM的本质是一个连续的无限网格。Uni V3就是基于这种无限网格来实现微观无限网格,是“无数网格机器人的叠加”,而MOV超导V2则是基于无限网格来进行更宏观的无限网格,是一种超级网格。请期待下一个《Uni V3 的自然哲学》。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发