uniswap常数积算法中的K值

释放双眼,带上耳机,听听看~!

介绍了uniswap中常数积算法中K值的设计。

让我们以uniswap中的一个交易对ETH/usdt为例来说明K值是如何设计的。

常积算法

当uniswap中的第一个人加上x Eth和Y usdt作为流动性时,确定K的初始值,即K=x*Y。

此时,Eth和usdt共同构成一个流动性池。记住这个概念很重要。

第一个添加流动性的人可以任意添加交易对中两个币的数字,即他可以任意确定K的值。

增加流动性后,eth价格等于=y(usdt数量)/X(eth数量)。如果这块砖和其他砖有价差,就会被套利。

所谓常积算法是指当流动性池不增加或减少流动性时,K值只有在交易发生时才是常数。

也就是说,如果用户在eth/usdt交易对中买卖eth,K的值不能改变。

交易行为将改变Eth和usdt在流动性池中的构成。例如,如果用户购买DX eth,流动资金池中的eth数将变为(x-DX),usdt数将变为K/(x-DX),即用户需要花费dy=K/(x-DX)-y usdt来购买DX eth。

交易费用影响K值

但由于交易费用的原因,用户在使用uniswap时需要支付0.3%的交易费用。例如,如果用户购买了usdt为Dy的eth,uniswap将首先扣除0.3%的Dy手续费,并将0.3%的Dy手续费留在一边。交易完成后,0.3%的dy将加入流动性池,K值变为x*(y+0.3%dy)。

因此,常数积算法的K值不是常数,每个事务都会影响K值。

流动性影响K增值

如果在基金池中有xeth/yusdt,k=x*y。现在有人增加了流动性,加上DX Eth和Dy usdt,DX/Dy=x/y。

如果您使用uniswap的默认设置,即在您添加流动性时,首先输入eth的数量,然后uniswap将默认计算您需要多少usdt。默认计算是保持DX/dy=x/y。

然而,在增加流动性后,流动性池中的资金变成:(x+DX)eth/(y+dy)usdt。在这种情况下,(x+DX)*(y+dy)gt;x*y。因此K值随着流动性的增加而变大。

同样,减少流动性也会降低K值。

捐赠影响K值

当您添加流动性时,您可以直接将DXgt;0,dy=0转移到合同地址,而不是按照DX/dy=x/y的比率添加流动性。这也会更改K值。

这种事经常发生。一些人错误地将eth转移到uniswap流动性池合同地址,导致了捐赠行为,将币无偿赠送给所有原始流动性所有者。

这种增加流动性的非k比率被称为uniswap捐赠。

但这种捐赠行为在设计上可能被他人套利。例如,某人充值DXgt;0,Dy=0;此时,另一个人可以按K值的比例充值Dy,并执行一个增加流动性的操作,然后他们可以收集DX的捐赠。这很复杂。我不知道细节。

任何与K值不成比例增加的流动性都将产生捐赠。例如,如果DX/dygt;X/y,则首先添加(DX DDX)/dy=X/y的流动性,并将相应数量的lptoken返回给用户。那么DDX就变成了捐赠。

此外,在同一区块中,可能存在增加流动性的交易和买卖的交易,因此K值的变化将更加复杂。

人已赞赏
头条资讯

比特币突破32000美元,未来将向更高的位置发展

2021-1-4 20:24:25

头条资讯

录制新比特币

2021-1-4 20:32:32

13 条回复 A文章作者 M管理员
  1. shen

    感觉这是在诱多。。

  2. 初见এ᭄ꦿ

    区块链我等你哟!

  3. RaqutWang

    大机构入局,确实能刺激发展

  4. 🔥火火

    区块链真好。。。。。。。。。

  5. 飞翔

    不管外面怎么样,我大饼就是稳。如死水

  6. Kyle

    不是吧比特币

  7. wgkdrtfa

    关下面的鸟事、六个钱袋买不起一枚。

  8. 责任,信任

    不错,支持下区块链

  9. yoyo

    都知道OK最大收入来源就是合约,这回合约收入纳入到快乐星期五的空投计划中,是拿出很大一块蛋糕给大家分红,比例相当可观,而且第一次发放为暂停提币开始至当日7周的分红,灰常期待 交易所,我只相信OK,用的放心

  10. 李如春

    哈哈 我没买

  11. 刚刚ANNIA

    币安矿池从进入市场到排名前五只用了几个月时间,币安生态不仅越来越丰富,而且都以超越常规的速度高速发展,这速度的确很闪电

  12. yoyo

    余币宝里的币子怎么不好划转?

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索