织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

从技术白皮书开始(3)

时间:2021-04-08 19:15来源:未知 作者:admin 点击:
后一个价格点的价格是前一个价格点价格基础上浮动万分之一。 每个 Tick 也有一个唯一的序号。区间(Position)可以由两个 Tick 表示。逻辑上交易手续费可

深入理解 Uniswap V3 原理:从技术白皮书开始

后一个价格点的价格是前一个价格点价格基础上浮动万分之一。

深入理解 Uniswap V3 原理:从技术白皮书开始

每个 Tick 也有一个唯一的序号。区间(Position)可以由两个 Tick 表示。逻辑上交易手续费可以一个个的 Tick 计算,并在每一个 Tick 上根据流动性的占比进行交易分配。先看看一个 Tick 范围的 swap 的计算。

Tick 内的 SWAP

假设有一个很小的量的 y,需要 swap 为 x。通过 6.13 的公式,可以计算出因为 y 的变化导致的价格变化。

深入理解 Uniswap V3 原理:从技术白皮书开始

再利用 6.15 的公式可以算出换取的 x 的量。

深入理解 Uniswap V3 原理:从技术白皮书开始

Uniswap V3 针对同样的交易对设置了不同的交易费:0.05%,0.3% 以及 1% (还可以添加其他费率)。如果是从 Y 换取 X,则在换取之前先扣除手续费再进行上述的交换。

在同一交易池中只支持一种费率。也就是说,在一个交易池中支持不同的价格区间,但是都是同样的费率。如果需要添加同样交易对的不同交易费的交易池,必须创建新的交易池。

接下来,深入讲解一下 添加 / 删除流动性以及交易费用的计算逻辑。

添加 / 删除流动性

V3 的添加 / 删除流动性是当前价格情况下在某个区间添加或者删除流动性。所有的流动性添加 / 删除流动性采用如下的公式:

深入理解 Uniswap V3 原理:从技术白皮书开始

注意,价格变化并不是指区间的大小,而是在某个区间上提供流动性,相对当前价格,「需要相应资金变化」对应的价格变化。

分为三种情况,想要添加的流动性区间和当前价格的关系。

  • 当前价格处于流动性价格区间 (il <= ic < iu)

深入理解 Uniswap V3 原理:从技术白皮书开始

因为价格在区间范围内,如果价格滑动到 il,则需要提供 y 资金。如果价格滑动到 iu,则需要提供相应的 x 资金。所以,对于 delta_Y 来说的,价格变化为 sqrt(P) - sqrt(p(il));对于 delta_X 来说,价格变化为 1/sqrt(P) - 1/sqrt(p(iu))。

  • 当前价格低于流动性价格区间

深入理解 Uniswap V3 原理:从技术白皮书开始

因为当前价格远低于 il,即使从当前价格向 iu 滑动,也只需要 x 的资金,不需要 y 的资金。所以,在这种情况下,delta_Y = 0。因为从 il 滑向 iu 需要整个区间的 x 的资金,对于 delta_X 来说,价格变化为 1/sqrt(il) - 1/sqrt(p(iu))。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容