本文介绍uniswap里的恒定乘积算法中的K值是怎么设计的。
我们拿uniswap里的一个交易对,ETH/USDT来举例说明K值是怎么设计的。
恒定乘积算法。
uniswap里第一个人添加x个ETH和y个USDT的作为流动性时,决定了K值的初始大小,即K=x*y。
这时,ETH和USDT共同构成了一个流动性池。请记住这个概念,很重要。
第一个添加流动性的人,可以任意添加交易对中的两个币的数量,即可以任意决定K值。
添加完流动性后,ETH的价格就等于=y(USDT的数量)/x(ETH的数量)。如果这个价格和其他交易所之间有价差,那肯定会被人搬砖套利。
Gate已开启投票上币第155期Unizen:据官方公告,Gate已于6月23日(今日)12:00开启投票上币项目第155期—Unizen (ZCX) ,投票截止时间至2021年6月24日10:00。在本轮投票中,ZCX如获得1000万票,Gate会上线ZCX/USDT交易,参与投票的用户均可分享总计4,000 ZCX(5,000美金)空投奖励。[2021/6/23 0:00:46]
所谓的恒定乘积算法,指的是在流动性池没有再添加或减少流动性的情况下,只有交易行为发生的情况下,K值是不变的。
即如果用户在ETH/USDT交易对里买入或卖出ETH,都无法改变K值的大小。
Compound 29号提案通过:将允许UNI持有者进行cUNI团体投票:据官方消息,Compound社区发起的28号提案8因提案者代表意外减少而被取消。29号提案是28号提案的新版本。该提案旨在将cUNI市场流动性委托给社区multisig(即进行团体投票)。社区multisig将根据cUNI持有人达成的共识进行投票,但保留取消任何用于在链下投票中获得优势的操纵行为的权利。此外,如果未达到10%的法定人数,multisig将不会投票。
11月2日,Compound社区发起28号提案,允许UNI持有者进行cUNI团体投票。若该提案通过,社区将允许UNI持有者将UNI锁定到cUNI合约地址,UNI持有者将能作为一个团体进行投票,持币者可通过委托UNI赚取利息以及帮助社区收集足够的投票。[2020/11/15 20:52:00]
而交易行为会修改流动性池里的ETH和USDT的成分。比如用户买了dx个ETH,则流动性池里的ETH的数量就会变成(x-dx),而usdt的数量则变成了K/(x-dx),即用户需要花dy=K/(x-dx)-y个Usdt来买dx个ETH。
UNICEF基金会要求6月资助的8家公司维持加密捐赠形式,以了解其好处:联合国儿童基金会(UNICEF)Christina Rose Lomazzo接受采访时表示,UNICEF加密货币基金在进行捐助后,大多数收到加密货币资助的组织会立即将其兑换为法币。然而,基金会要求他们近期投资的8家公司将资金维持为加密货币:“这确保了企业了解加密货币的好处,比如可追溯性和交易速度,从而与传统系统做对比。这些初创公司也可以利用该笔加密货币资助向员工支付报酬。”
此前消息,联合国儿童基金会加密货币基金6月宣布向8个项目分别投资125 ETH,以帮助这些项目在六个月内开发、测试原型,扩大技术规模,这八个项目分别为:Afinidata、Avyantra、Cireha、Ideasis、OS City、StaTwig、Somleng和Utopic。据悉,所有被投资企业此前都曾获得了联合国儿童基金会的创新基金高达10万美元的资金,这些项目现在正在接受加密货币,以继续开发它们的开源和数字公共产品。(Cointelegraph)[2020/7/5]
交易手续费影响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成员李世胜对本文的贡献
1 期权(Options),也称选择权,是指买方支付给卖方费用后,拥有在将来某一时间按照期权合约规定的价格,买入或卖出一定数量资产(期货、指数或金融工具等)的权利.
1900/1/1 0:00:00提到比特币(Bitcoin),我们会立马想到它是由中本聪创造的一种点对点的、虚拟的加密货币,并没有实体,但在很多业内媒体的文章中,我们却经常看到“实体比特币”的插图,比如下面这张: 其实.
1900/1/1 0:00:00主讲人:资深文化产业投资人,千程投资CEO,美股开盘:在美上市区块链中概股涨跌各异:美股开盘,美股三大指数全线上涨,道琼斯指数开盘上涨0.91%,纳斯达克指数开盘上涨0.74%.
1900/1/1 0:00:00自2019年开始,合约市场的热度便不断攀升,2020年更是延续了这一风向,越来越多的交易所开始布局合约产品,前有312暴跌,后有比特币突破2万关口的剧烈行情波动更是令加密市场陷入了疯狂.
1900/1/1 0:00:00导 读 根据我在3月28日火星财经2019中国区块链贡献者大会上的炉火大辩论上的讨论整理了关于稳定币的几个问题的回答.
1900/1/1 0:00:00作者 | Wayne出品|白话区块链(ID:hellobtc)我们经常会在一些区块链媒体报道中看到“原子交换”这个词语。那么,它是什么意思呢?今天,我们就来了解下.
1900/1/1 0:00:00