去中心化交易所基础:DEX 的工作原理、与 CEX 的区别、主流 DEX 生态
去中心化交易所(Decentralized Exchange,DEX)是链上金融基础设施的核心组件。与中心化交易所(Centralized Exchange,CEX)依赖订单簿和托管钱包不同,DEX 通过智能合约实现资产托管、价格发现和交易结算,用户始终保留资产的私钥控制权。理解 DEX 的工作原理,是掌握做市策略的前提——因为做市商在 DEX 上面对的并非传统的买卖挂单,而是一个由数学公式定义的流动性池。本章将系统拆解 DEX 的核心机制、与 CEX 的本质差异,以及三大主流协议(Uniswap、Curve、Balancer)的做市逻辑与适用场景。
2.1 DEX 的核心工作原理:从订单簿到自动做市商
2.1.1 核心原理:AMM 与流动性池
传统 CEX 采用订单簿(Order Book)模式,买卖双方挂单,由撮合引擎按价格优先、时间优先原则匹配。DEX 则普遍采用自动做市商(Automated Market Maker,AMM)模型。AMM 不依赖对手方挂单,而是通过一个数学公式和一个资金池(Liquidity Pool)来提供即时流动性。最经典的公式是 Uniswap 的恒定乘积公式:x × y = k,其中 x 和 y 分别代表池中两种代币的数量,k 为常数。当用户用 Δx 代币兑换 Δy 代币时,交易后必须满足 (x + Δx) × (y - Δy) = k,从而推导出 Δy = y - k / (x + Δx)。这个公式决定了价格随交易量变化而滑动,即滑点(Slippage)。
做市商(LP,Liquidity Provider)将两种资产按当前比例存入池中,获得 LP 作为凭证。LP 代表其在池中的份额,可随时赎回底层资产,并赚取交易手续费。AMM 的价格并非由外部预言机直接喂价,而是由池内资产比例内生决定。当外部市场价格与池内价格出现偏差时,套利者会进行反向交易,将池内价格拉回市场均衡水平。这一机制使得 DEX 的价格发现依赖于套利者的持续参与。
2.1.2 操作流程:一次完整的 DEX 交易
- 连接钱包:用户通过 MetaMask 等钱包连接 DApp,智能合约读取钱包地址与授权状态。
- 授权(Approve):用户需先调用 ERC-20 的
approve()方法,允许 DEX 合约扣减指定数量的代币。 - 执行交易(Swap):调用 DEX 路由合约的
swapExactTokensForTokens()或类似函数,传入输入数量、最小输出数量(滑点保护)、路径和接收地址。 - 链上结算:智能合约执行 AMM 公式,扣除输入代币,计算输出代币数量,并转给接收地址。整个过程在单个区块内完成。
- 手续费分配:交易手续费(如 0.3%)按比例分配给池内所有 LP,并自动复投到池中。
对于做市商而言,添加流动性的流程为:选择交易对 → 按当前比例存入两种代币 → 铸造 LP → 获得手续费分成。移除流动性时,销毁 LP ,按份额取回两种代币。
2.1.3 案例拆解:Uniswap V2 的恒定乘积做市
假设 ETH/USDC 池中初始有 1000 ETH 和 4,000,000 USDC,则 k = 4,000,000,000,初始价格 1 ETH = 4000 USDC。某交易者用 100 ETH 兑换 USDC:
- 新 ETH 数量 = 1100
- 新 USDC 数量 = k / 1100 = 3,636,363.64
- 输出 USDC = 4,000,000 - 3,636,363.64 = 363,636.36
- 实际执行价格 = 3636.36 USDC/ETH,滑点 = (4000 - 3636.36) / 4000 = 9.09%
这个案例说明:大额交易在浅池中会产生显著滑点。做市商在提供流动性时,必须评估池深是否足以支撑预期的交易规模。若池深不足,大额交易会严重偏离市场价,导致 LP 承受无常损失。
2.2 DEX 与 CEX 的本质区别:托管、信任与可组合性
2.2.1 核心差异对比
| 维度 | CEX(中心化交易所) | DEX(去中心化交易所) |
|---|---|---|
| 资产托管 | 用户资产存入交易所钱包,私钥由平台控制 | 资产始终在用户钱包或智能合约中,私钥自持 |
| 交易机制 | 订单簿撮合,买卖挂单匹配 | AMM 流动性池,公式定价 |
| 上币门槛 | 需申请、审核、缴纳上币费 | 任何人可创建交易对,无需许可 |
| KYC / 合规 | 强制 KYC,受地域监管 | 无需 KYC,匿名地址即可交易 |
| 交易速度 | 毫秒级撮合,高吞吐 | 受区块确认时间限制(如以太坊 12 秒) |
| 可组合性 | 封闭生态,API 受限 | 智能合约可编程,可与其他 DeFi 协议组合 |
| 安全风险 | 平台跑路、黑客攻击、内部作恶 | 智能合约漏洞、MEV 抢跑、无常损失 |
2.2.2 判断方法:何时选择 DEX 而非 CEX?
做市商在选择平台时,需根据以下维度判断:
- 资产控制需求:若策略要求长期持有且不愿承担平台风险,DEX 更合适。
- 交易频率与规模:高频、大额交易在 CEX 上滑点更低;DEX 适合中低频、中等规模交易。
- 上币灵活性:新项目或长尾资产在 DEX 上可立即交易,无需等待审核。
- 合规约束:受监管实体可能无法使用 DEX,但个人做市商无此限制。
- 策略自动化:DEX 的智能合约可编程,适合构建链上做市策略(如网格、再平衡)。
2.2.3 实战场景:跨平台套利
某做市商发现 Uniswap 上 ETH/USDC 价格为 3950 USDC,而 Binance 上价格为 4010 USDC。价差 1.5%。该做市商从 Uniswap 买入 ETH,转入 Binance 卖出,扣除 Gas 费(约 0.1%)和转账时间(约 5 分钟)后,净收益约 1.2%。此类套利机会在 DEX 与 CEX 之间频繁出现,但需要监控工具和快速执行能力。做市商可编写机器人监听链上价格与 CEX API 报价,当价差超过阈值时自动执行。
2.3 主流 DEX 生态:Uniswap、Curve、Balancer 的做市逻辑
2.3.1 Uniswap:通用型恒定乘积做市
Uniswap 是 AMM 的鼻祖,V2 采用 x*y=k,V3 引入集中流动性(Concentrated Liquidity),允许 LP 在自定义价格区间内提供流动性,资金利用率最高提升 4000 倍。V3 的做市策略更复杂:LP 需指定价格区间 [Pa, Pb],只有市场价格落在此区间内才能赚取手续费,否则资金处于闲置状态。V3 适合专业做市商,通过精细的价格区间管理提高资本效率。
做市策略要点:
- 区间宽度与手续费收益成正比,但与无常损失也成正比。
- 窄区间适合稳定币对或高波动但趋势明确的资产。
- 需频繁调整区间位置以跟随市场价格,否则资金闲置。
2.3.2 Curve:稳定币与锚定资产的低滑点做市
Curve 专为稳定币、锚定资产(如 wBTC/renBTC)设计,采用混合恒定和/积公式。当池内资产比例接近 1:1 时,价格曲线接近直线,滑点极低;当比例失衡时,曲线过渡到恒定乘积模式,防止池内资产被掏空。Curve 的做市逻辑适合低波动资产,手续费收入稳定但单笔费率较低(0.04%)。
做市策略要点:
- 适合存入稳定币或锚定资产,赚取稳定手续费。
- 无常损失极小,但需关注脱锚风险(如 UST 脱锚事件)。
- 可参与 Curve 的 gauge 投票,获得 CRV 奖励,提升综合收益。
2.3.3 Balancer:加权多资产池与自定义权重
Balancer 允许创建包含 2-8 种资产的流动性池,每种资产可设置不同权重(如 80/20、50/30/20)。其公式为 ∏(Bi^Wi) = k,其中 Bi 为资产余额,Wi 为权重。权重决定了价格敏感度和无常损失分布。80/20 池中,权重高的资产价格波动对池内价格影响较小,适合做多特定资产同时赚取手续费。
做市策略要点:
- 权重设计可表达市场观点:如 80% ETH + 20% USDC 表示看多 ETH。
- 多资产池可减少再平衡操作,但管理复杂度更高。
- 适合指数型做市策略或自定义风险敞口。
2.3.4 案例拆解:三种协议的做市收益对比
| 协议 | 资产对 | 池深度 | 日交易量 | 手续费率 | 预估日收益(LP 份额 1%) | 无常损失风险 |
|---|---|---|---|---|---|---|
| Uniswap V3 | ETH/USDC | 5000 万 | 2 亿 | 0.05% | 1000 美元 | 中高(窄区间) |
| Curve | USDC/USDT | 3 亿 | 8000 万 | 0.04% | 320 美元 | 极低 |
| Balancer | 80/20 ETH/USDC | 2000 万 | 3000 万 | 0.3% | 900 美元 | 中(权重保护) |
以上数据为模拟示例,实际收益受池深度、交易量波动、Gas 费、LP 竞争等因素影响。做市商应使用 APY 计算器(如 APY.vision)实时监控。
2.3.5 常见误区与复盘
- 误区一:认为 DEX 做市是无风险的“躺赚”。实际上,无常损失、智能合约漏洞、MEV 抢跑都是真实风险。
- 误区二:盲目追求高 APY。高 APY 往往伴随高波动资产或低深度池,风险极大。
- 误区三:忽略 Gas 成本。在以太坊主网上,频繁调整 Uniswap V3 区间可能消耗大量 Gas,侵蚀利润。
- 复盘建议:每次做市策略结束后,应计算实际收益 = 手续费收入 - 无常损失 - Gas 费 - 机会成本。若收益低于简单持有,则策略失败。