TOK:uniswap的LPtoken的铸造、销毁和权益

本文介绍uniswap中的lptoken的铸造,销毁和权益。

在中心化交易所,用户间挂买单和卖单,交易所的撮合引擎会按时间和价格进行排序,一旦买单和卖单价格重叠,就可以成交完成交换。

但uniswap里没有挂单这个设计,取而代之的是流动性资金池充当所有交易的对手盘。

流动性资金池是包含了需要交易的两种币,比如ETH和USDT。比如一个流动性池里有x个ETH和y个usdt。此时k=x*y(k是一个常数)

当用户A想用dy个usdt买ETH,在不考虑滑点的前提下,用户A买入的价格是y/x。而真实成交时,用户能买到的ETH数量dx为(不考虑0.3%的手续费):k=(x-dx)*(y+dy),dx=x-k/(y+dy)

Unification Foundation发布2022年路线图,xFUND将进行两次减半:2月7日消息,企业区块链解决方案提供商Unification Foundation发布2022年路线图,xFUND在2月4日减半,每日排放量已从12个减少到6个,4月21日和8月22日将进行最后两次减半。

此外,为Shiba Inu提供的二层扩展解决方案Shibarium公共测试网将很快发布,不过Shiba Inu开发人员尚未为该项目制定明确的时间表,目前Shibarium私有测网的第二个版本已经启动。[2022/2/7 9:35:31]

交易所,流动性池里的资金就成了:(x-dx)个ETH和(y+dy)个Usdt,而此时ETH的价格变成了(y+dy)/(x-dx)。

UniLayer集成Chainlink预言机喂价:Chainlink预言机发微博称,UniLayer集成了Chainlink预言机喂价,在其新的DEX聚合器中获取安全可靠的资产估值。Unilayer交易者可以使用预言机来计算成本,并以反映公平市场价格的方式记录他们的交易历史。[2020/12/14 15:08:01]

以上就是uniswap交易的基本模式。

下面来讲这个流动性资金池的设计。

在uniswap里对某个交易对(pair)第一次添加流动性的人,可以任意对交易对的价格进行定价,即x、y和k都是这个人定的。

动态 | UNITED将转让加密货币业务相关子公司全部股份:据日本UNITED有限公司官网公告,该公司于4月25日召开董事会,决定转让其子公司COINAGE投资有限公司全部股份。该公司于2017年10月16日成立其子公司COINAGE,旨在为进军加密货币交易相关业务做准备,但因如今加密货币业务环境的变化,决定终止进入该业务领域,因此决定转让其子公司COINAGE。[2019/4/26]

创世流动性之后再添加dx和dy,如果按系统默认值去添加,都会受dx/dy=x/y的约束。

添加流动性后,uniswap会给用户返回一个erc20代币,这就是lptoken。

动态 | Unikrn获得英国马恩岛加密许可证:据venturebeat消息,美国西雅图电子竞技竞猜平台Unikrn今日宣布,获得了英国马恩岛加密许可证,用户可以使用加密货币进行电子竞技或游戏下注。[2018/10/23]

lptoken的总量是变化的,添加流动性就会铸造新的lptoken,即增发,而赎回流动性则会销毁lptoken。

假设创世流动性里用户注入了x个ETH和y个usdt,则创世铸造lptoken的数量=sqrt(x*y)。(注:sqrt是开方;注:代码里的公式是sqrt(x*y)-1000*10^-18,这个1000*10^-18是个啥不管它,我没研究,反正这么小无所谓)

创世流动性之后,有用户添加了(dx,dy)个币的流动性,并且dx/dy=x/y,则系统新铸造出d(lptoken数量)=dx/x*铸造前lptoken的总量,返回给用户。

但如果(dx-ddx)/dy=x/y(注:ddx>0),新铸造的d(lptoken数量)=dy/y*铸前总量,而这ddx个币则相当于捐赠给了所有的lptoken持有者。

如果dx/(dy-ddy)=x/y(注:ddy>0),则新铸造的d(lptoken数量)=dx/x*铸前总量。ddy变成了捐赠。

可以总结为:添加流动性获得的lptoken数量=min(dx/x*铸前总额,dy/y*铸前总额)。(注:min是取最小值函数)

在极端情况下,有人误打了dx>0个币,但dy=0个币,则不会铸造新的lptoken,dx全部变成了现有lptoken里的成分,捐赠给了所有现有lptoken的用户。

这种误打币到某个lptoken合约地址,是经常会发生的。

当用户想赎回流动性时,需要将lptoken销毁掉。按uniswap系统的流程就可以完成销毁。

假设现在一个交易对(eth/usdt)的流动性有x个eth,y个usdt,现在有用户销毁z个token,则用户可以得到eth和usdt的数量分别是:dx=(z/总lptoken)*x,dy=(z/总lptoken)*y

从上面分析可以清晰地知道,lptoken代表了一个交易对的资金池的所有权,可以从这个资金池里按比例提取交易对代币的份额。

lptoken的成分包括了两种币,如eth/usdt交易对的lptoken就包括了eth和usdt两种币。

随着流动性资金池里成分不一样,lptoken的价值也不一样。

用户在uniswap交易,是需要付0.3%的手续费。比如用户用dy个usdt去eth/usdt交易对买dx个eth。

uniswap首先会扣除用户0.3%*dy的本金,然后去计算该给用户的dx,在给完用户dx后,这0.3%*dy的本金会注入到lptoken的成分里,相当于lptoken增值了。

lptoken会获得所有的捐赠收益,比如用户误将dx个ETH转入了eth/usdt这个pair的lptoken合约地址,dx个eth就会变成捐赠给lptoken,增加了lptoken的价值。

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

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

链链资讯

[0:0ms0-2:733ms