跳到正文

恒定乘积 AMM

恒定乘积自动做市商依据 x * y = k 和两种代币的储备量报价。本文解释含手续费报价、价格影响、套利以及流动性提供者风险。

更新于

仅供教育用途,不构成投资建议。投资可能导致损失。

直接回答

恒定乘积自动做市商(CPMM)持有两种代币的储备,并且只接受交易后余额满足 x * y = k 不变量的兑换。其中 xy 是储备量。储备比给出池内即时价格;交易会改变该比率,因此交易规模相对流动性越大,成交价会逐步变差。

这条曲线是报价和结算规则,不是预言机,也不保证任一代币具有价值。套利者通常推动池价靠近外部市场,在赚取价差的同时改变流动性提供者(LP)持有的资产构成。

输出数量
18,132.22
含费用价格冲击
9.34%
输入侧费用
0.03

结果是教育用途的近似值。除非明确展示,否则未计入交易场所规则、税费、延迟、预言机行为及其他协议参数。

运作机制

不计手续费时,加入 deltaX 单位代币 X、取出 deltaY 单位代币 Y 的兑换满足:

(x + deltaX) * (y - deltaY) = x * y

因此 deltaY = y * deltaX / (x + deltaX)。若输入手续费率为 f,令 gamma = 1 - f,常用的含手续费报价为:

deltaY = y * gamma * deltaX / (x + gamma * deltaX)

Y 对 X 的无穷小现货价格为 y / x。有限规模交易沿曲线成交,其平均价格不同于起点和终点现货价。这是价格影响;用户设置的滑点容忍度则是交易约束,用于防范执行前报价发生不利变化。

在 Uniswap v2 等收费实现中,全部输入留在储备内,但不变量检查会扣除手续费对应的输入。因此,账面储备乘积通常在兑换后增加。存入和提取会改变储备规模及 LP 权益,属于独立的流动性事件,并非沿同一固定曲线进行的兑换。

示例

某池有 100 ETH200,000 USDC,储备价为 2,000 USDC/ETH。交易者支付 10,000 USDC 买入 ETH,池手续费为 0.30%,有效输入因此为 9,970 USDC

ETH out = 100 * 9,970 / (200,000 + 9,970) = 4.7483 ETH

平均成交价约为 2,106.02 USDC/ETH,比初始储备价高约 5.30%。结算后储备约为 95.2517 ETH210,000 USDC,新储备价约为 2,204.69 USDC/ETH。这些数值未计 Gas、多池路由以及打包前的不利状态变化。

核对界面报价时,应确认准确的代币地址、费率档位、所用储备或区块、最少收到数量、路由和截止时间。转账征税代币或非标准余额行为会使简单公式失效。

风险

  • 价格影响与 MEV: 流动性薄弱和公开待处理交易可能造成糟糕成交、三明治攻击或交易失败。
  • LP 库存风险: 套利使 LP 减少强势代币、增加弱势代币;手续费未必能抵消无常损失。
  • 劣质资产与合约: 脱锚、恶意代币、转账费、合约漏洞、受损前端和管理员权限均不受曲线保护。
  • 误用预言机: y / x 可在单笔交易内被推动。协议不应把可操纵的即时储备比当作独立市场价格。
  • 参数差异: 手续费逻辑、舍入、集中流动性、钩子以及加权或稳定币曲线,都可能让其他池偏离本模型。

常见误解

误解一:k 永远严格不变

兑换要通过不变量检查,但手续费和流动性事件会增加或重设储备乘积的数值;合约中的整数舍入也会产生影响。

误解二:池子会发现公允价格

池子只按储备机械定价。外部交易者和套利连接更广泛的市场;陈旧或受操纵的储备可能给出不合理报价。

误解三:滑点就是价格影响

价格影响是拟议交易造成的曲线移动。滑点是预期与实际结果的差异,或限制该差异的容忍度。

误解四:交易量越大,LP 一定越受益

交易量会产生手续费,但知情套利也可能从 LP 转移价值。净表现取决于手续费、价格路径、波动率、池深和合约或资产风险。

相关主题

来源

导航

搜索知识库...