科普:Uniswap的恒定乘积算法里的K值_USD:CZUSD币

编者按:本文来自闪电HSL,作者:黄世亮,Odaily星球日报经授权转载。本文介绍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的数量就会变成,而usdt的数量则变成了K/(x-dx),即用户需要花dy=K/(x-dx)-y个Usdt来买dx个ETH。交易手续费影响K值

徐明星新书《趣说金融史》正式发布 科普金融发展之道:金色财经现场报道,9月23日,欧科云链创始人徐明星携手著名财经作家李霁月、行业观察者顾泽辉力作《趣说金融史》一书,跨越5000年金融历史,重读金钱故事,并预测新的金融时代。该书由中信出版社出版,将于近期正式发售。据了解,本书可以更好地呈现金融的起源与发展,帮助人们理解货币、金融与未来经济。作为区块链行业领军企业——欧科云链的创始人,徐明星深知技术探索对经济社会的重要推动作用,他曾先后出版过《图说区块链》、《区块链:重塑经济与世界》、《通证经济》、《链与未来》等行业权威著作,解读区块链等新型技术的推动下,金融与社会的升级之道,对经济社会发展做出了重大贡献。其中,《区块链:重塑经济与世界》曾作为新中国70周年重点推荐图书之一被相关书店推荐。[2021/9/23 17:00:57]

但因为存在交易手续费,用户使用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值

TRON数字钱包科普资料《波场钱包的现在过去与未来》已上线:据最新消息显示,由TokenPocket联合波场TRON官方,以及 TokenPocket 社区志愿者共同撰写的《波场钱包的现在过去与未来》已正式上线。《波场钱包的现在过去与未来》又称为波场钱包小白书,详细介绍了当前TRON钱包与TRON生态密切结合的实例,是目前市面上最为详细的TRON数字钱包科普资料。波场钱包作为波场公链生态中极为重要的入口,是波场生态的重要构成要素。波场钱包从一开始只提供权限管理、转账收款、节点投票等基础功能,到如今不仅可以为用户提供法币交易、闪兑和去中心化交易所等方便快捷的交易服务,还能让用户直接在钱包上体验波场上DApp,挖矿、DeFi、Staking等资产增值服务。详情见原文链接。[2020/8/20]

如果现在资金池里有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值。捐赠影响K值

动态 | 区块链技术入选科普杂志《科学美国人》2019十大突破性技术榜单:据新浪网今日新闻报道,美国科普杂志《科学美国人》公布 2019 十大突破性技术榜单。区块链技术因在保障食品安全中的作用而上榜。 入选榜单具体原因:区块链技术的发展应用将显著改善食品污染源数据追踪的困境。利用区块链云端系统,食品制造商可以依次在计算机储存各类过程的信息。[2019/9/29]

如果你在添加流动性时,不是按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值就会更复杂的变化。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:469ms