宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 以太坊 > 正文

Uniswap的恒定乘积算法里的K值

作者:

时间:1900/1/1 0:00:00

本文介绍uniswap里的恒定乘积算法中的K值是怎么设计的。

我们拿uniswap里的一个交易对,ETH/USDT来举例说明K值是怎么设计的。

恒定乘积算法。

uniswap里第一个人添加x个ETH和y个USDT的作为流动性时,决定了K值的初始大小,即K=x*y。

这时,ETH和USDT共同构成了一个流动性池。请记住这个概念,很重要。

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

添加完流动性后,ETH的价格就等于=y(USDT的数量)/x(ETH的数量)。如果这个价格和其他交易所之间有价差,那肯定会被人搬砖套利。

Uniswap V3核心代码版权商业保护将于4月1日到期:金色财经报道,Uniswap V3在2021年5月上线以太坊主网前为其核心代码申请了为期2年的版权商业保护,该保护在两年内限制Uniswap V3核心代码的不当商业使用,该保护期将于4月1日正式结束。

此前Uniswap表示,可以通过协议治理更改其版权保护限制,可以通过治理提前从Business Source License版权保护转为GPL协议。[2023/3/9 12:52:13]

所谓的恒定乘积算法,指的是在流动性池没有再添加或减少流动性的情况下,只有交易行为发生的情况下,K值是不变的。

推出1个月以来,Uniswap的NFT交易聚合器总交易量接近370万美元:1月4日消息,根据@Marcov在Dune analytics上的数据,自推出一个多月以来,Uniswap的NFT交易聚合器的总交易量已接近 370 万美元,交易量超过 6,200 笔。Uniswap的NFT交易聚合器于2022年11月30日正式上线。[2023/1/4 9:50:50]

即如果用户在ETH/USDT交易对里买入或卖出ETH,都无法改变K值的大小。

而交易行为会修改流动性池里的ETH和USDT的成分。比如用户买了dx个ETH,则流动性池里的ETH的数量就会变成(x-dx),而usdt的数量则变成了K/(x-dx),即用户需要花dy=K/(x-dx)-y个Usdt来买dx个ETH。

Uniswap V3的流通性突破5亿美元,24小时交易量仅次于V2和Sushiswap:据欧科云链OKLink数据显示,截至今日10时30分,以太坊上Dex 24小时交易量约合32.2亿美元。其中交易量排名前三的Dex协议分别是Uniswap V2 11.3亿美元,SushiSwap 4.43亿美元以及Uniswap V3 3.54亿美元。

Uniswap V3当前流动性约合5.26亿美元,24小时交易量已上升至以太坊上Dex协议第三名,仅次于Uniswap V2和Sushiswap。[2021/5/8 21:36:44]

交易手续费影响K值。

但因为存在交易手续费,用户使用uniswap交易时,需要交0.3%的手续费。比如用户拿dy个usdt买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)>x*y。所以添加流动性K值变大了。

同样的减少流动性,会减少K值。

如果你在添加流动性时,不是按dx/dy=x/y的比例去添加,而是直接往合约地址里转了dx>0,dy=0,也是可以的。这同样会改变K值。

这样的事是经常发生的,有些人错误地将ETH转入一个uniswap流动性池合约地址里,就产生了捐赠行为,白白把币送给了所有原来的流动性所有者。

这种非K值比例添加流动性的行为,被uniswap称为捐赠。

但这种捐赠行为,在设计上是可以被其他人套利的。比如有人充值了dx>0,dy=0;此时另外的人可以充值按K值比例的dy,并且执行一个添加流动性的操作,就可以把那dx的捐赠给薅走。这个挺复杂的,细节我也搞不清楚。

任何不是按K值比例添加的流动性,都会产生捐赠。比如dx/dy>x/y,则先添加(dx-ddx)/dy=x/y的流动性,并返回给用户对应数量的LPtoken。然后ddx就变成了捐赠。

还有,在同一个区块里,可能即有交易是添加流动性的,也有交易是买卖,那K值就会更复杂的变化。

感谢Plancker Dao成员李世胜对本文的贡献

标签:SWAPUNIUniswapETHLSWAP币AUNIuniswap币总量有多少Beacon ETH

以太坊热门资讯
加密货币的原子交换是什么?

前言:原子交换是不同区块链上的代币实现点对点交易的方法。它的好处就是两个用户,比如比特币用户和莱特币用户可以直接进行代币交易,无须第三方参与.

1900/1/1 0:00:00
从技术层面分析 ETHPoW 分叉的正统性

作者:0xTodd,Nothing Research 合伙人原文:《为什么从技术角度看 ETHPoW 分叉不够正统?》我看很多朋友经常混淆各种 “分叉”,以及 ETH PoW 为什么从分叉角度是不太正统的。今天想科普个小概念.

1900/1/1 0:00:00
是时候让 DAO 变得无聊了

【摘要】通常讨论到DAO,我们都关注在那些激动人心的创新和对于未来的构想上,是时候放下理想,来考虑一下面包了!目前的 DAO 领域,还存在很多贡献者在加入前需要担心的问题,比如税务、劳动者福利等等.

1900/1/1 0:00:00
为什么 DApp 经常会遭遇随机数攻击?

9 月 14 日,一款名为“EOSPlay”的 DApp 游戏遭遇了新型随机数攻击,一共损失了数万个 EOS.

1900/1/1 0:00:00
币安Launchpad平台是什么丨金色百科

最近BTT与FET逆势大涨,成为熊市中耀眼的明星。而这场“造星”运动背后的功臣,是币安Launchpad平台.

1900/1/1 0:00:00
金色百科 | DeFi中大火的AMPL是什么币?

AMPL是基于以太坊的 DeFi 项目——Ampleforth (原名为 Fragments) 的代币.

1900/1/1 0:00:00