比特币价格·比特币行情
Ctrl+D收藏简单区块链

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

作者:

时间:2021/1/4 8:19:00

本文介绍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%的手续费。比如用户拿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成员李世胜对本文的贡献

但,添加完流动性后,流动性池里的资金变成了:(x+dx)ETH/(y+dy)USDT。此时,(x+dx)*(y+dy)>x*y。所以添加流动性K值变大了。

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

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

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

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

EbuyCoin于今日15:00正式上线UNI:据官方消息,新加坡交易所EbuyCoin于今日15:00(GMT+8)正式上线UNI,同时开放UNI/USDT交易对。Uniswap(UNI)是一种基于以太坊的协议,旨在促进ETH和ERC20 代币数字资产之间的自动兑换交易,在以太坊上自动提供流动性。Uniswap试图利用去中心化协议来让数字资产交易过程中彻底实现去中介化。 EbuyCoin是COCO WEB PTE.LTD旗下经营数字资产服务的品牌,总部位于新加坡,是由资深的计算机与金融风险管理专家团队管理运营的数字资产服务平台。目前获得新加坡Synergy财务顾问集团及瑞士Cordata基金会战略投资。[2020/9/17]

bZx新预言机规划公布,最终将集成Chainlink、Band和Uniswap v2:曾受闪电贷攻击的去中心化贷款协议 bZx再次发文总结了发生在 2 月 17 日的攻击事件,并公开了对于调整集成的价格预言机的三步路线。第一阶段,bZx将采用Chainlink预言机作为bZx的参考价格,bZx认为目前Chainlink是目前市场中最佳的去中心化预言机解决方案;第二阶段,bZx将采用Chainlink和Band两个数据源,bZx认为Band的预言机地理位置更适合亚洲市场,这也能分散他们的预言机风险;第三阶段,bZx将采用Chainlink、Band和Uniswap v2作为预言机,将这三者的平均价格作为 bZx的参考价格,下一代的Uniswap的价格源将会提供以时间作为权重的价格数据,这也就意味着攻击和操纵会需要更多的成本和时间。(bzx.network)[2020/3/10]

Unicorn正式上线区块链浏览器UIC-Explorer:Unicorn也将在2018年4月17日正式上线区块链浏览器UIC-Explorer。Unicorn每笔交易都可以在UIC-Explorer中找到相对应的记录,保证了所有交易的透明性。据了解,通过使用UIC-Explorer区块链浏览器可查询到以下信息:1、区块上的出块时间、出块高度等整条区块链基础信息2、区块详情查询3、区块上的交易记录查询(地址、资金动向)4、区块上的合约执行情况查询此外,区块链浏览器UIC-Explorer可以让大家直接看到区块上记录的数据,同时地址和个人信息不挂钩,保证用户的个人隐私。[2018/4/16]

标签:

区块链热门资讯
华尔街大空头警告:比特币和美股是巨型泡沫

财联社(上海,编辑 周玲)讯,华尔街大空头、投研机构Rosenberg Research创始人罗森伯格(David Rosenberg)警告投资者,当前的美股和比特币是巨型泡沫。 比特币近期涨势十分凶猛,自从突破2万美元关口后,几乎一鼓作气,在短短几日便突破34000美元,成为史上首次。比特币去年上涨了305%,创下了2017年以来的最佳年度表现。

2021/1/4 10:11:01
行情分析丨最主要是警惕闪崩的风险, 最好的幸运是横盘整理

今儿早早地就起床了,这两天的涨幅让人疯狂,不安的情绪却久久在心中不能散去。 昨天BTC突破三万大关,直接逼进34000的关口,我已经建议身边的朋友将仓位的3/4,进行锁仓,对冲控制住风险,这样的疯狂是真的共识还是市场已经如脱缰野马?我们未可知,只是巨鲸大户地址频频出现转移的迹象,让我们预感到风险的共识正在积累,闪崩可能随时出现。

2021/1/4 10:10:57
1.4早行情:比特币冲高回落 主流币百花齐放

昨天市场表现百花齐放,比特币先是突破了34000美元,一度接近35000美元,到了下午时就进行了回调,当前是围绕着33000美元运行。

2021/1/4 9:01:44
2021年加密货币采用的趋势及预测

导:2021年加密货币的前景看起来很光明,因为推动其2020年采用的主要力量仍然强大。 在比特币破纪录上涨的推动下,加密行业迎来了辉煌的2020年。在这一史无前例的动荡时刻,数字资产领域似乎已经证明了它的弹性,为其在日益不确定的世界中成为避风港提供了坚实的理由。 除了其他进展外,2020年机构持续扩大了加密货币的采用。

2021/1/4 8:18:56
又一算法稳定币炸裂一周翻倍:Reserve(RSR)

原文标题:山寨季已经来了,又一算法稳定币炸裂一周翻倍?Reserve(RSR) altseason其实已经来了哈,只是可能不是整个市场都同步,下图是几个本周周涨幅亮眼的标的: 波卡一周75%,CEL涨了62%,theta也是个魔性的,已经窜升到前18位,但你能说明白它到底干啥的吗,好像和今年的热点也都不太搭边,当然还有个更魔性的。

2021/1/4 8:18:52
合规「三好生」Coinbase 的IPO样板

Coinbase申请IPO(首次公开募股)的消息传出后不久,美国证券交易委员会(SEC)找上了瑞波(Ripple)的麻烦,指控后者通过发行未经注册的数字资产证券(XRP)筹集巨量资金。 两件乍看风马牛不相及的事,触动了Coinbase的警觉神经。高居加密资产市值排行榜第四位的XRP,是Coinbase「货架」上的44个币种之一。

2021/1/4 8:13:17
OKX