介绍uniswap里的恒定乘积算法
发布于 4 个月前 作者 whiteminta 137 次浏览 来自 技术/人物

简单解释uniswap里的恒定乘积算法中的W值是怎么设计的。 我们拿uniswap里的一个交易对,ETH/USDT来举例说明W值是怎么设计的。 所谓的恒定乘积算法,指的是在流动性池没有再添加或减少流动性的情况下,只有交易行为发生的情况下,W值是不变的。 即如果用户在ETH/USDT交易对里买入或卖出ETH,都无法改变W值的大小。 uniswap里第一个人A添加5个ETH和10个USDT的作为流动性时,决定了W值的初始大小,即K=xy,等于50。此时ETH的价格就是10/5=2 这时,ETH和USDT共同构成了一个流动性池。如果这个价格和其他交易所之间有价差,那肯定会被人搬砖套利。 比如此时B想买1个ETH,那么B要花费50/(5-1)-10=2.5USDT,此时ETH的价格就是12.5/4=3.125,所以当价格波动大的时候,池子小的交易所很容易被别人板砖盈利, 此时如果有手续费是3%,那么用户B得到的不是1个ETH,而是0.97个 ETH,此时的W值就是12.54.03=50.375,所以每次只要改变了池子的流动性,W值就会变化。

回到顶部