私募比特币
会集流动性是 Uniswap V3 要害立异之一,它将战略化做市带入 AMM 范畴。延伸阅览:《Dragonfly 合伙人:Uniswap V3 中一般流动性供给者真能赚到钱吗?》
原文标题:《Uni V3 的数学原理》 撰文:比原链研究院Uniswap V3 (如下简称 Uni V3)放出了许多 feature,但是其最为实质的迭代依然是对 AMM 数学曲线的再考虑。在曩昔的两年中,咱们也躬身入局 AMM 范畴,以为 AMM 最底子的曲线形状现已定,后续的立异应该会在 AMM 底子曲线形状的基础上完结「战略化」,所以咱们发明了 MOV 超导 V2。而现在咱们看到了 V3,忽然有一种「久别重逢」的感觉,在寻觅这种感觉之余,咱们也期望为咱们呈现 AMM 最为深化的考虑旅程。因为 AMM 的年代将会比幻想得更为恢宏雄壮。让咱们直切正题,Uniswap V3 最耀眼的立异——在 AMM 上完结会集流动性。V3 给出了一个虚拟储藏金(virtual reserves)的概念,举例解说:在传统 V2 中,Alice 一次性将 500,000 DAI 和 333.33 ETH 注入储藏池,总价值 $1m,供给全区间 (0,/infty) 的流动性,但实践上 ETH 的价格动摇规划在很长一段时刻内是有部分规划的,这种为全区间忘我供给流动性的行为大大浪费了本钱使用功率。
注:在一个逐渐走向成熟化的金融市场中,无套利原理和提高本钱使用功率永远是两大中心诉求,也是后续 DeFi 产品向前驱 DeFi 主张应战的起点。
所谓的会集流动性就是让 LP 自主挑选动摇规划,只为该规划供给部分流动性,例如 Bob 以为未来一段时刻内 ETH 的价格区间在 (1000,2250),而且假如未来真的是在这个区间动摇,Bob 期望自己取得的收益能够跟百万富豪 Alice 相同多,所以 Bob 一开端只需求投入 91,751 DAI 和 61.17 ETH,总价值 $183,500,远远小于 Alice 实践投入的资金。咱们对照下图来解说其间的道理。
其间,X 是 ETH,Y 是 DAI,点 a 对应价格 1000,点 b 对应价格 2250,点 c 是当时市场价格 1500,x_{real}是 Bob 投入的 61.17 ETH,y_{real}是 91751 DAI。在数学完结上——假定图中曲线表达式为 xy=D,其间 D 就是咱们要确认的值,即这条「虚拟的」曲线。存在如下客观事实:
进一步,因为
则
解方程得
终究咱们发现
即 Bob 所取得的虚拟曲线(D 值)简直跟 Alice 相同。上述核算进程是一种反证法,实践上用户 Bob 会向体系算法提出自己的需求输入,包含猜测价格区间规划、当时价格点、终究想要取得的一个 virtual reserves 规划(即虚拟曲线 D 值)。有了虚拟曲线表达式的确认,能够轻松算出 a、b、c 三个确认的点坐标,然后便算出 x_{real}=61.17 以及 y_{real}=91751。一起,也能够看到,一旦未来价格越出了区间,Bob 其间一种财物将完全消失。
虚拟储藏金(virtual reserve)是 Uni V3 完结会集流动性的基础原理,也是 Uni V3 将多样化的仓位区间共同成一条(大的全区间的虚拟)曲线的奇妙之处。但是看似简略的原理背面缺需求杂乱的工程完结和算法模的支撑,尤其是处理手续费(fee)的核算核算和 LP 的参加 / 退出核算。关于 AMM 来说,最杂乱的莫过于 LP 的存取行为和收益核算,在以 V2 为代表的经典 AMM 模中,会经过一种「份额形式」从始至终为 LP 确认下各自可提取的数量份额(也包含手续费)。但在 V3 中,将会对 LP 可提取份额以及所获 fee 份额进行一种「十分核算风格」的核算方法。在详细完结上,Uni V3 将价格全区间以 ticks 的形式均匀分段,变成离散的空间:
怎么依据当时价格,判别所在 ticks——
大局状况中有 feeGrowthGlobal0(f_{g},0) 和 feeGrowthGlobal1 (f_{g},1)—f_{g},用来从大局视点核算总的手续费收益。例如,当在一个 tick 内产生了一笔买卖,体系会核算出该笔买卖产生的手续费:
其间 y_{in}为该笔买卖的输入数量,其余部分是手续费的份额。体系会不断累计出每个 tick 内产生的一切手续费总和。再引进一个「略微低一个等级的」大局状况变量 feeGrowthOutside/{0,1/}—f_{o},用于核算在给定区间(range,由许多接连的 ticks 组成的空间)内的手续费总和。咱们想查询某个价格 range (即在下界 tick i_{l}和上界 tick i_{u}之间)产生了多少累计手续费,总公式为:
其间,
f_{a}变量是对一切高于 i tick 的区间的 fee 核算,f_{b}是对一切低于 i tick 的区间的 fee 核算,因而在上述总公式中,咱们从大局总累计手续费 f_{g}中减去一切低于下界 i_{l}的累计手续费,再减去一切高于上界 i_{u}的累计手续费,就是 (i_{l},i_{u}) 之间的累计手续费。f_{o} 能够理解为一个核算单元,用于累积截止到 i tick 的手续费,在它的初始化进程中,咱们约好如下:
再来看 f_{a}的核算,分红了两段,能够理解为——
- 假如当时 tick 等于 i 或许高于 i,此刻从大局总手续费 f_{g} 中减去「累积到 i tick」的手续费 f_{o}(i),剩余的就是对一切高于 i tick 的区间的 fee 核算;
- 但假如当时 tick 还未抵达 i,此刻依据对 f_{o} 的初始化界说为 0,则一切高于 i tick 的区间的 fee 核算没有产生,为 0。
相同关于 f_{b}——
- 假如当时 tick 抵达或许超过了 i,f_{o}(i) 表明累计到 i 的手续费,也即对一切低于 i tick 的区间的 fee 核算;
- 假如当时 tick 还未抵达 i,对一切低于 i tick 的区间的 fee 核算值即为当时的大局变量 f_{g}(当时总手续费)。
浅显来归纳,体系算法要核算某一个 range 内累计的手续费,
- 假如当时 tick 现已处于 range 内部,即 i_{l}/leq i_{c} lt; i_{u},只需求从大局手续费 f_{g}减去一切低于 i_{l}组成的 range 累计的手续费;
- 假如当时 tick 不处于 range 内部,且低于下界 i_{l},阐明没有在 (i_{l},i_{u}) 区间内产生买卖,也就未产生手续费,因而该 range 内累计量为 0;
- 假如当时 tick 不处于 range 内部,且高于上界 i_{u},需求从大局总量平分别去除「两端」各自的累计量,即从大局 f_{g}中减去一切低于 i_{l}区间累计量,再减去「从 i_{u}到当时 tick 区间累计量」。
Uni V3 核算手续费的进程是一种从微观走向微观的思维,它将空间划分红离散的,每一个时刻刻度只会在一个离散空间上产生买卖,然后产生手续费,每一个微观 tick 都在各自记载着自己从最低 tick 到本身这段区间内的累计手续费总和,然后供上述公式不断调用,以核算各种微观成果。Uni V3 现已改变了传统 AMM 对 LP 行为的设定,也不再根据大局流动性(Global Liquidity)和份额(Share)来为每一个 LP 核算手续费收益。对 V3 来讲,它只重视在每一个 tick 里存在多少「虚拟」流动性,以及这些虚拟流动性产生了多少手续费,算得单位虚拟流动性对应的手续费值;在这个时空之下,咱们再把视角切到详细每一个 LP 上,关于任何 LP,都会存在一个「开仓」(Position)的区间设定,他在自己设定的区间供给了虚拟流动性,可能是一个 tick,也可能是接连多个 tick,从最简略的「一个 tick」视点解说,体系会记住同一时空下每一个 LP 在此 tick 注入的虚拟流动性值,并为他们确认出一个份额(留意这个份额只与最开端注入的虚拟流动性巨细有关,并不触及手续费转流动性,这与 V2 是不同的),以此分得该 tick 内一切手续费累计。
在实践状况中, LP 们还会存在杂乱的行为,比方注入 / 退出的时刻纷杂、挑选的 range/tick 纷杂。但 Uni V3 的大道至简之处正是使用大局核算来屏蔽掉单个 LP 视角,只关怀 ticks 视角和 Position 视角。在确认好上述所述的一系列大局状况变量的界说后,仔细记载好每一笔 swap 买卖在 ticks 中产生的状况(包含只在一个 tick 内完结该笔 swap 买卖,和需求跨多个 tick 才干完结该笔 swap 买卖),一起只记载每个 tick 内虚拟流动性的巨细,以此为底子去供给 swap 买卖公式以及 swap 背工续费怎么分配给参加该 tick 的一切 LP 们。LP 的杂乱行为体现在空间的不接连性和时刻的不共同性两方面,关于时刻不共同性(即会呈现许多 LP 不断参加和退出流动性),Uni V3 还会引进 Position 这一等级的大局变量为每一个身份(address)记载下其对 range/tick 参加 / 退出(「setPosition」)时手续费的核算(uncollected fee/feeGrowthInside),保证后来的 LP 不会参加到前序 LP 们现已累计的收益分配。假如总结来讲 ,tick-level 是对空间上产生的核算,保证起点共同的 LP 们 fee 分配,而 Position-level 是对时刻上产生的核算,保证不同起点的 LP 们 fee 累计起点不相同。主张完结者深化 V3 代码,才干真实取得安全核算法。
- 本文固定链接: http://www.simu369.com/24778.html
- 转载请注明: 电子发烧友 于 比特币-比特币价格-比特币行情交易交流平台 发表
《数学角度解析 Uniswap V3 集中流动性的实现原理》有 0 条评论