流动性提供者的代币的价值与标的代币的理论价值之间的差异(如果它们没有配对的话)导致了无常损失。让我们来看看一个假设的情况,看看无常/临时损失是如何发生的。假设一个拥有10个ETH的流动性提供者想要为50/50的ETH/USDT池提供流动性。在这个场景中,他们需要存入10 ETH和10,000 USDT(假设1ETH = 1,000 USDT)。
$ ?5 z5 D Z" C/ t; a
如果他们参与的池总资产价值为100,000 USDT (50 ETH和50,000 USDT),他们的份额将等于20%。计算公式如下:(20,000 USDT/ 100,000 USDT)*100 = 20%
* E2 C6 v2 L t: ~
流动性提供者参与池的百分比也很大,因为当流动性提供者通过智能合约将其资产提交或存入池时,他们将立即收到流动性池的代币。流动性提供者可以在任何时候使用这些代币提取池中他们的部分(在这种情况下,是20%)。那么,你会因为无常损失而赔钱吗?这时候就要引入无常损失的概念了。流动性提供者容易受到另一层风险(无常损失)的影响,因为他们有权获得池中的一部分,而不是一定数量的代币。因此,当你存放的资产的价值与你刚存入时的价值发生变化时,就会出现这种情况。
+ F% B( G* w! R/ s
请记住,变化越大,流动性提供者面临的无常损失风险就越大。这里的损失是指取款的现金价值低于存款的现金价值。
这种损失是临时性的,因为如果加密货币可以恢复到原价(即在AMM上存入时的相同价格),就不会发生损失。此外,流动性提供者收取100%的交易费用,以抵消无常损失带来的风险敞口。
4 l; S6 n1 n+ k% u) A
如何计算无常损失?
在上面讨论的例子中,1个ETH的价格在存款时是1000 USDT,但让我们假设价格翻了一番,1个ETH开始交易时是2000 USDT。由于算法调整池,它使用一个公式来管理资产。最基本和最广泛使用的是由Uniswap推广的恒定乘积公式。简单地说,这个公式表示: ETH流动性*代币流动性 = 恒定乘积
! T: q4 G' X% b
使用我们示例中的数据,基于50 ETH和50,000 USDT,我们得到:
50 * 50000 = 2,500,000。
) C i! @8 @2 e- m+ B8 }4 G
同理,池中ETH的价格可以通过以下公式得到:
代币流动性/ ETH流动性= ETH价格,即50,000 / 50 = 1,000。
现在1 ETH= 2000 USDT的新价格。因此:这可以用相同的恒定乘积公式来验证:
ETH流动性*代币流动性= 35.355 * 70,710.6 = 2,500,000(值与之前相同)。因此,现在我们有如下的值:
, ` m0 \! x" Z: v+ ?9 ^
如果此时流动性提供者希望从池中撤出其资产,他们将用其流动性提供者代币交换其所拥有的20%份额。然后,从池中每个资产的更新金额中提取他们的份额,他们将获得7ETH(即35个ETH的20%)和14,142USDT(即70710USDT的20%)。
k" H% L% T+ \* w2 z( p
现在,提取的资产总额等于:(7 ETH * 2000 USDT) 14,142 USDT = 28,142 USDT。如果这些资产原本不存入流动性池,所有者将获得30,000 USDT [(10 ETH * 2,000 USDT) 10,000 USD]。这种差异是由AMM管理资产比率的方式造成的,这种差异被称为无常损失。在我们的无常损失例子中,无常损失为: