为何流动性池的两种通证总是初始价值相同?Defi无常损失分析

链博科技
链博科技 机构得得号

Sep 24, 2020 链博科技为你提供全栈链改解决方案

该文章已上链

摘要: 无常损失是指由于自动做市模式无法承担价格发现功能,从而在通证价格发生变化时,会出现套利的空间。

2020年夏天,Defi集中爆发,Uniswap,Compound,Sushi,YFI等项目纷纷展现出强劲的成长能力,将来自各方的目光牢牢吸引。其中自动做市与以往的中心化交易所匹配规则完全不同,不需要买方和卖方分别报价,而是通过简单而又精巧的模型设计,实现算法自动确定交易价格。

不过,虽然这种交易方式非常简便,但却也存在自身的问题,而“无常损失”就是其中非常重要的一个。无常损失是指由于自动做市模式无法承担价格发现功能,从而在通证价格发生变化时,会出现套利的空间。套利者利用流动性池里通证价格和中心化交易所之间通证价格的差异进行套利,而这部分套利的利润则会成为流动性提供者(LP)的损失,亦即无常损失。

如上所述,无常损失最终的承受者是LP,而LP又是Defi流动性的来源和生存之本。因此,如何避免或减轻无常损失将是重中之重。本篇文章中,我们仅从数学角度,探讨在最常用的xy=k模型下,将流动性池的两种通证的初始价值设置为相同,是如何能够降低无常损失的空间的。

假设一个交易对中的两个通证分别为A和B,在初始状态,流动性池中共有A通证x个,B通证y个,其价格(法币本位)分别为px与py。此时,B的价格在外部出现了上涨,新的价格为py’,此时流动池中的py小于池外的py’,出现了套利空间,套利者会在流动池中用A购买低价的B。

假设某套利者向池子中注入一定量的A,使得A的数量从x变为x’,并从池子中获得一定量的B。那么在这次交易过程中,该套利者获得了多少利润?也就是产生的无常损失是多少?

设流动性的初始总价值为TV,则TV=x*px+y*py

当B的价格上涨,TV’=x*px+y*py’

当套利者完成交易,TV’’=x’*px+y’*py’

则无常损失TL=TV’-TV’’

且因为xy=k=x’y’,所以y’=xy/x’

因此TL=(x*px+y*py’)-(x’*px+py’*xy/x’)

=(y-xy/x’)py’-(x’-x)px

两边同时乘以x’,那么

x’TL=(x’y-xy)py’-x’(x’-x)px

两边再同时除以(x’-x),则

x’TL/(x’-x)=y*py’-x’*px

因此TL=(y*py’-x’*px)(x’-x)/x’

=(1-x/x’)(y*py’-x’*px)

由此我们得到最终公式:

TL=(1-x/x’)(y*py’-x’*px)

由于x一定小于x’,因此(1-x/x’)一定大于0。故只要(y*py’-x’*px)大于0,就会产生无常损失。

由此我们可以看出,从大体上来讲,A和B之间的价值差距越大,无常损失的空间越大。这也就是为什么流动池的设计都要设计成A和B之间的价值相等,就是为了尽量避免无常损失;同时,这也是为什么带稳定币的交易对无常损失小的原因——稳定币的价格波动小,因而会产生的无常损失的空间也会更小。

因此,这就是流动性池的初始状态会安排成两种通证的价值相等的原因。

作者:链博科技;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 链博科技 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信