比特币交易平台,比特币价格走势,区块链数字货币交易平台-比特币入门网

Uniswap V3技术白皮书:核心是流动性集中

www.fi3df4m.com

目前价格高于流动性价格区间

与第一个案例类似,剖析将不再重复。

互换买卖本钱

Uniswap最复杂的逻辑是计算买卖本钱并进行分配。在增加和删除流动性之前,需要提取相应的买卖本钱。

让大家看看Uniswah3 v2的资金用率

上图为基金池X/Y变化曲线。资金池中的目前价格在C点,假设它在a点和B点之间波动,从C点滑到a点消耗最多,最大消耗为X_uuu实,也就是说,假如C点的目前价格在a点和B点之间波动,它最多仅需消耗x和Y,理论上只须提供x和Y就足够了。事实上,如上图所示,在价格点C,大家提供的价格大于x_ureal和Y_ux和Y的Real。显然,在这样的情况下,X-X_uuuureal和Y-Y_uuuuuuureal基金是从不用的,也被叫做闲置资金。

在这样的情况下,资本借助率为X×Real/X或Y×Real/Y,假如价格波动非常小,则资本借助率非常低。Uniswap V3正试图形解析决低资本借助率的问题。这个想法相对容易。所有资金只能加到肯定的区间,只能加到价格可能波动的区间。怎么样在肯定范围内增加流动性,提供互换功能是Uniswap v3关注的焦点。让大家从虚拟储备开始。

目前价格低于流动性价格区间

由于目前的价格比目前的价格要低得多,即便大家从目前的价格滑到国际单位,大家也仅需x资本,而不是y资本。因此,在这样的情况下,Delta_Y=0。由于从IL到IU的滑动需要X在整个范围内的资金,对于Delta_2;for X,价格变化是1/sqrt(IL)-1/sqrt(P(IU))。

虚拟储备

Uniswap使用商品固定号(x*y=k)。所谓虚拟筹备金,是指在商品固定曲线上只提供肯定范围流动性的基金池

图中深绿色曲线为虚拟资金池满足的商品固定曲线。事实上,图中的资金需要曲线是橙色的。橙色曲线公式如下:

你可以想象虚拟资本曲线在X/Y轴上移动,因此A/b点与X/Y轴重合。也就是说,有了肯定的资金量,就可以达到“虚拟”买卖曲线的成效。

怎么样计算虚拟资金池在肯定范围内提供的流动性,第一要从对流动性的深刻理解入手。

添加/删除流动性

V3增删流动性是在目前价格状况下,在肯定范围内增删流动性。所有流动性增加/降低用以下公式:

应该注意的是,价格变化并非指区间的大小,而是提供肯定区间内的流动性。与目前价格相比,需要“对应资金变动”对应的价格变动。

它可以分为三种状况:你想要增加的流动性范围和目前价格之间的关系。

目前价格在流动性价格范围内(ILlt;=IClt;IU)

由于价格在区间内,假如价格滑向IL,你需要提供y基金。假如价格下滑到IU,则需要提供相应的x基金。因此,对于y的Delta uu,价格变化是sqrt(P)-sqrt(P(IL));对于X的Delta uu,价格变化是1/sqrt(P)-1/sqrt(P(IU))。

智能合约代码

Uniswap V3一发布,就引起了广泛关注。与V2相比,其逻辑和代码愈加复杂。V3的核心是通过期初区间提供流动性(中心化流动性),解决LP提供流动性时的资金借助问题。啥是资本借助率?怎么样推导V3中的区间流动性公式?怎么样理解流动性?怎么样计算互换本钱?本文第一详细剖析了V3技术白皮书。

第一,大家给出了一些关于Uniswap中V3的官方信息

总流动性

一个记号上可以有多个区间。在计算买卖本钱时,这部分本钱需要平均分摊到该刻度上多个区间的全部流动性中。在每一个区间的边界处记录刻度上的增量(由该刻度限定的所有区间的流动性之和)。

有一个全局状况:liquipty,它存储与目前价格相对应的tick的流动性总和。当价格波动时,流动性会增加或降低(取决于价格波动的方向)。比如,当价格从左到右穿过一个区间时,流动性需要在穿过该区间的第一个刻度时增加,在穿过最后一个刻度时降低。中间的勾号没流动性的增加或降低(delta)L=0)。在;

htth3s://Uniswah3.org/whiteh3ah3er-v3.h3df

流动性-L

固定商品买卖模可以满足基金池中的两个代币金额:X*y=K。假如K=L^2,X*y=L^2。大家称之为流动性。以下公式来自固定商品买卖模

当l和sqrt(P)已知时,也可以导出资本需要X和y。

通过公式6.6,在流动性不变(不增加或降低流动性)的状况下,流动性可视为单位“价格波动”价格波动率的Y资本量的变化,由于它事实上是sqrt(P)的变化。

这是Uniswap V3核心公式(6.7),它用相对值(资本和价格的相对值)来计算流动性。所谓流动性就是资金量每单位的“价格变动”。在肯定买卖量的状况下,假如流动性好,价格变化会非常小,假如流动性不足,价格波动会非常大。

尤其是区间流动性与V2流动性不同。一个区间的流动性中心化在“区间”上。不同区域的流动性没可比性。V2流动性和区间流动性有什么区别如下:

V2的流动性是“通用的”,在所有价格点的流动性都是相同的。V3的流动性由一系列不同时间区间的流动性组成。相对而言,流动性在目前价格附近相对较高。只有当流动性提供者LP提供可用于买卖的流动性时,才能获得买卖成本。为了获得更多的买卖本钱,提升资金的借助率,流动性提供者会在适当的价格波动范围内提供资金。也就是说,只有流动性提供者在肯定的时间区间内才能获得掉期买卖的手续费。为了计算每一个区间的服务费,介绍了tick的定义和计算办法。

资本借助率

以记号交换

假设你有一个很小的Y,你需要交换X,通过6.13的公式,大家可以计算Y的变化引起的价格变化。

借助6.15的公式,大家可以计算出交换中X的数目。

Uniswap V3为同一个买卖对设置不一样的买卖成本:0.05%、0.3%和1%(可以添加其他费率)。假如x从y兑换,则在兑换前扣除手续费。

同一事务池中只支持一个速率。也就是说,在一个事务池中支持不一样的价格范围,但它们都是相同的费率。假如需要为同一事务对添加具备不同事务成本的事务池,则需要创建新的事务池。

下面,让大家来研究一下增加/降低流动性和买卖本钱的逻辑。

htth3s://github.com/Uniswah3/Uniswah3-v3-1

建议仔细阅读技术白皮书,然后是智能合约代码,最后与官方介绍进行比较。在理解了技术白皮书之后,代码很容易理解。在技术白皮书的第一章中,概要了Uniswap V3的技术特征。核心定义是quot;中心化流动性。

htth3s://github.com/Uniswah3/Uniswah3-v3-core

技术白皮书

滴答声

在区间上提供流动性会带来很多复杂的状况:区间覆盖和区间覆盖重叠。因为不同区间的流动性不具备可比性,买卖成本不可以混入流动性,当流动性被删除时,买卖成本将被收回。为知道决这个问题,Uniswapv3引入了tick的定义。买卖本钱实时结算并单独记录,不计入营运资金。虽然整个区间的流动性与区间的流动性没可比性,但流动性在特定的价格点(一个价格区间)是可比的。Uniswap V3将整个价格范围(从负无穷大到正无穷大)逐个划分为tick(价格点)

后一价格点的价格是前一价格点的万分之一。

每一个记号也有一个唯一的序列号。地方可以用两个记号表示。从逻辑上讲,买卖成本可以一笔一笔地计算,买卖是根据每笔买卖的流动性比率进行分配的。让大家看看在一个刻度范围内交换的计算。

htth3s://Uniswah3.org/blog/Uniswah3-v3/

V3官方介绍

头寸买卖本钱率

一个区间上的买卖本钱率是通过从总本钱率中减去区间外的本钱率来计算的。将feegrowthoutside记录在区间的边缘刻度上。所谓的外部成本增长是指“其他”方向的总本钱率。另一个方向是相对于通过目前记号的方向。当价格从左到右通过一个刻度时,feegrowthoutside是指刻度左边所有区间的本钱率。简而言之,它是与价格相反方向的所有区间的本钱率。Feegrowthoutside用fo表示。由于fo是一个记号的两个方向的总本钱率,所以两个方向的本钱率之和需要等于FG(全局本钱率)。因此,当通过一个记号时,记号上的fo需要翻转:

创建区间时,需要初始化区间边界上记号的fo

假如目前价格大于tick的价格,即便目前价格在设定的范围内,也不会分配以前的成本。因此,大家可以容易地假设所有成本都发生在tick的价格之下,即fo=FG。假如勾选价格大于目前价格,则该价格未通过勾选,由于假设之前发生的所有成本都在勾选价格之下,且没成本在勾选价格之上,所以fo=0。在理解这部分逻辑的基础上,在互换过程中,伴随价格的波动,一个区间内高于最高点和低于最低点的本钱率可以计算如下:

比如,假如ICgt;=I(目前价格高于最低刻度),则低于刻度的所有费率都是fo(概念)。在IClt;I的状况下,fo记录所有高于tick的成本率,因此需要翻转它,即FG-fo。当获得一个区间以外的所有本钱时,计算该区间的本钱率

依据获得的费率,将费率乘以区间的流动性,即可计算出区间收取的成本。

Uniswap V3的核心思想是流动性中心化。流动性提供者可以在肯定范围内提供流动性,提升资金的借助率。在肯定范围内获得的买卖成本由该范围内的所有流动性提供者平均分摊。Uniswap V3设计了区间粒度刻度,并推导了流动性的添加/删除和本钱计算过程。在此基础上,Uniswap V3还更新了price-oracle的达成。

标签:释放双眼(33)带上耳机(33)听听看~!Uni(1)

上一篇:技术剖析闪电贷中智能合约实行原理

下一篇:没有了