Ethereum-Solidity 测验 Q16:什么是 impermanent loss?

发布: (2026年1月8日 GMT+8 04:10)
3 min read
原文: Dev.to

Source: Dev.to

什么是暂时性损失?

暂时性损失是指如果你仅持有代币与将其作为流动性提供给自动做市商(AMM)之间的价值差异。

它是如何产生的

当你向 AMM 提供流动性时,需要存入价值相等的两种代币。AMM 会使用恒定乘积公式自动根据供需调整价格

[ x \times y = k ]

如果其中一种代币的价格出现显著变化,池子会重新平衡,使你的代币比例与最初不同。该比例的变化会导致相较于仅持有资产的价值出现损失。

为什么叫“暂时性”?

  • 如果价格回到原来的比例,损失会消失。
  • 只有在价格失衡时提取流动性,你才会实现损失。
  • 池子赚取的交易费用可以抵消甚至超过暂时性损失。

示例:ETH‑USDC 池

初始存入

代币数量美元价值
ETH1$2,000
USDC2,000$2,000
总计$4,000

恒定乘积为

[ k = 1 \times 2{,}000 = 2{,}000 ]

价格变化:ETH 上涨至 $4,000

使用恒定乘积公式 (x \times y = k) 并代入新的价格比例 (y/x = 4{,}000):

x × y = 2,000
y = 4,000x
x × 4,000x = 2,000
4,000x² = 2,000
x² = 0.5
x = √0.5 ≈ 0.707 ETH
y = 4,000 × 0.707 ≈ 2,828 USDC

新的 LP 持仓

  • ETH: 0.707 ETH(损失 0.293 ETH)
  • USDC: 2,828 USDC(获得 828 USDC)

价值:

[ (0.707 \text{ ETH} \times $4{,}000) + (2{,}828 \text{ USDC} \times $1) = $2{,}828 + $2{,}828 = $5{,}656 ]

对比

场景ETH(价值)USDC(价值)总价值
仅持有1 ETH = $4,0002,000 USDC = $2,000$6,000
提供流动性0.707 ETH = $2,8282,828 USDC = $2,828$5,656

暂时性损失计算

[ \text{暂时性损失} = $6{,}000 - $5{,}656 = $344 \approx 5.7% ]

实际发生的情况

  • 损失: 0.293 ETH(在价格上涨时被卖出)
  • 获得: 828 USDC(在价格上涨时被买入)

AMM 为保持恒定乘积而重新平衡了仓位,等于是以低于市场峰值的价格卖出 ETH。池子赚取的交易费用可以减轻这部分损失。

Back to Blog

相关文章

阅读更多 »

什么是 AWS Bedrock?

为什么 Bedrock 甚至会存在?让我们倒回一点。大约在 2022‑2023 年,公司们对生成式 AI 疯狂热衷。ChatGPT 刚刚爆红。每个…

当一个 DNS 记录让互联网崩溃

价值5亿美元的云弹性警钟 2025年10月20日东部时间凌晨3点,俄亥俄州郊区的一款Ring门铃失去信号。与此同时,Robinhood……