⚠ 交易存在重大亏损风险。本网站的所有内容仅供教育用途,不构成财务建议。
第 4 课,共 13 课 · 免费

去中心化交易所与自动做市商

了解自动做市商如何用恒定乘积公式为兑换定价,并计算费用、价格影响和安全的滑点设置。

作者: Moustafa Hijazi内容审核日期: 2026-10-30阅读约 5 分钟自学课程

您将学到什么

  • 什么是去中心化交易所(DEX),它与中心化交易所有何不同。
  • 恒定乘积公式 x × y = k 如何决定价格。
  • 如何计算您收到的代币数量、平均价格和价格影响。
  • 滑点容差和 MEV(最大可提取价值)如何影响您的交易。

讲解

中心化交易所(CEX)持有您的资金,并在订单簿中撮合订单(订单簿将在《订单簿、流动性与订单如何成交》课程中讲解)。去中心化交易所(DEX)则是一组智能合约。在兑换发生之前,资产一直由您自己的钱包保管,交易在一笔链上交易中完成结算。

自动做市商

大多数 DEX 使用自动做市商(AMM)。不是由买方和卖方挂单,而是由一个流动性池持有两种代币,例如 ETH 和 USDC。任何人都可以与该池进行交易。经典规则是恒定乘积公式:

x × y = k,其中 x = 池中代币 A 的数量,y = 代币 B 的数量,k 在兑换过程中保持不变(不计费用)。

以 B 计价的 A 的池内价格为 y ÷ x。当您买入 A 时,您向池中加入 B 并取出 A,因此 A 在池中变得更稀缺,价格随之上涨。您的交易相对于资金池规模越大,您的平均价格就越差。交易前的池内价格与您的平均价格之间的差异称为价格影响。

费用

每次兑换都要向资金池支付兑换费,例如经典设计中的 0.3%。较新的设计提供多个费率档位(例如稳定币交易对为 0.05%,小众代币为 1%)。费用在应用公式之前从投入金额中扣除。Gas 另行支付(第 1 课)。

套利使价格保持一致

资金池并不知道“市场价格”。如果池内价格偏离其他市场的价格,套利者就会与其交易,直到价格再次一致。这使 DEX 价格与其他市场保持接近,但同时也给流动性提供者带来成本,您将在第 5 课中计算这些成本。

滑点容差与 MEV

滑点容差是您在报价与成交之间所能接受的最大价格恶化幅度,例如 0.5%。如果结果会更差,交易就会失败(您仍需支付 gas)。MEV(最大可提取价值)是区块构建者和机器人通过安排交易顺序所能获取的利润。一种常见形式是三明治攻击:机器人看到您待处理的买单,抢在您之前买入(推高价格),让您的交易以更差的价格成交,然后紧接着卖出。较高的滑点容差会招致此类攻击。一些钱包提供私密交易提交功能,以降低这一风险。

其他 DEX 设计

集中流动性允许提供者只在某个价格区间内提供流动性,从而在当前价格附近形成更深的市场。聚合器将一笔交易拆分到多个资金池,以降低价格影响。上面的公式是理解它们最清晰的模型。

计算示例

假设示例:某资金池持有 100 ETH 和 200,000 USDC。池内价格 = 200,000 ÷ 100 = 每 ETH 2,000 USDC。k = 100 × 200,000 = 20,000,000。兑换费 0.3%。不考虑 gas、MEV 和税费。

  1. 您用 10,000 USDC 兑换 ETH。费用:0.3% × 10,000 = 30 USDC,因此有 9,970 USDC 进入公式计算。
  2. 池中新的 USDC 数量:200,000 + 9,970 = 209,970。
  3. 池中新的 ETH 数量:20,000,000 ÷ 209,970 = 95.2517 ETH。
  4. 您收到的 ETH:100 − 95.2517 = 4.7483 ETH。
  5. 平均价格:10,000 ÷ 4.7483 = 每 ETH 2,106.02 USDC,比初始池内价格高 5.3%。
  6. 新的池内价格:209,970(加上留在池中的 30 USDC 费用)÷ 95.2517 ≈ 2,204.69 USDC。套利者现在会向池中卖出 ETH,直到价格与其他市场一致。

对比:仅兑换 1,000 USDC 可得到 0.4960 ETH,平均价格为 2,016.02 USDC,仅比池内价格高 0.8%(0.3% 费用加 0.5% 价格影响)。交易规模相对于资金池深度的大小非常重要。

常见错误

为了“让交易成交”而设置很高的滑点容差10% 的容差等于告诉每个机器人,您可以接受最多差 10% 的价格。请使用在正常情况下可行的最低容差,拆分大额交易,在界面中查看预期的价格影响,并确认代币合约地址是真实的,而不是仿冒地址。

练习活动

在纸上计算,使用相同的初始资金池(100 ETH、200,000 USDC、0.3% 费用):您卖出 5 ETH。计算 (a) 您收到的 USDC,(b) 您的平均价格,(c) 相对于 2,000 USDC 初始价格的价格影响。

显示答案

(a) 进入公式计算的 ETH:5 × 0.997 = 4.985。池中新的 ETH 数量:104.985。新的 USDC 数量:20,000,000 ÷ 104.985 = 190,503.41。您收到 200,000 − 190,503.41 = 9,496.59 USDC。

(b) 平均价格:9,496.59 ÷ 5 = 每 ETH 1,899.32 USDC。

(c) (1,899.32 − 2,000) ÷ 2,000 = −5.0%,其中约 0.3% 是费用,其余是价格影响。

局限:真实的资金池可能使用集中流动性或不同的费率档位,因此价格影响可能更小或更大。

要点总结

  • AMM 用公式为交易定价;经典公式是 x × y = k。
  • 价格影响随交易规模相对于资金池深度的增大而增大。
  • 费用从投入金额中扣除;gas 另行支付。
  • 收紧滑点容差,以限制 MEV 和三明治攻击。

下一步

在下一课中,您将转换角色成为流动性提供者,并计算无常损失。

自测

回答问题后核对答案。你可以随意重试多次。

1. 某资金池持有 200 ETH 和 400,000 USDC。不计费用,卖出 4 ETH 能收到多少 USDC?

2. 为什么在 AMM 上大额兑换的平均价格比小额兑换更差?

3. 您在一个热门资金池中为一次兑换设置了 10% 的滑点容差。主要风险是什么?

供您自行复习的自动自测。您的答案在浏览器中核对,我们不会查看或评估。这不是考试,也不是资格证书。

您的进度

“已完成”仅表示您将本课标记为已学完,并不是对您理解程度的测试。 学习进度和笔记仅保存在此设备的此浏览器中,而非账户中。