AMM 是一种自动做市机制,特点是用流动性池和合约公式完成定价与成交,让去中心化交易不依赖传统订单簿。常见的恒定乘积模型用 x * y = k 描述池子里两种资产的数量关系,交易会改变池子比例,也会改变成交价格。
核心要点
- AMM 不是一个平台名称,而是一类自动定价和成交机制。
- 流动性池里通常有两种或多种资产,交易者和池子交易,不需要等待另一个人挂单。
x * y = k的意思是两种资产储备量的乘积保持在规则约束下,交易越大,对价格影响越明显。- 滑点、价格冲击、手续费和无常损失,是理解 AMM 时绕不开的几个风险。
- AMM 合约开源或链上可查,不等于资产安全、价格合理或所在地区可参与。
AMM 和传统订单簿有什么不同?
AMM 用流动性池和公式撮合交易,传统订单簿靠买卖双方挂单撮合。两者都能形成价格,但价格来源和风险位置不同。
订单簿靠买卖双方挂单
传统交易所常见的是订单簿。买方挂出愿意买入的价格和数量,卖方挂出愿意卖出的价格和数量。价格能否成交,要看买卖盘是否匹配。
订单簿适合流动性充足、做市商活跃、撮合系统成熟的市场。问题是,如果某个资产没有人挂单,或者买卖盘很薄,交易就可能很难成交,或者价格跳动很大。
AMM 靠池子和公式成交
Uniswap 开发者文档把 Uniswap 描述为自动做市机制和智能合约集合,用户可以直接在链上交换代币、提供流动性或创建市场。交易者不是和另一个挂单用户交易,而是和流动性池交易。
流动性池里预先放入资产。有人想用 A 换 B,就把 A 放进池子,按合约规则取走 B。池子里 A 和 B 的数量变化后,价格也跟着变化。
AMM 解决的是成交问题,不是风险问题
AMM 让链上交易可以持续运行,但它不保证你拿到的价格合理,也不保证池子里的资产可靠。小池子、大额交易、假代币、恶意合约、预言机攻击和前端钓鱼,都可能让交易结果和预期相差很远。
AMM 的关键不是“没有中间人”,而是“价格由池子储备和合约规则自动变化”。
x * y = k 怎么理解?
x * y = k 是恒定乘积做市的入门公式,适合理解早期 Uniswap 这类双资产池的价格变化。
三个字母代表什么
| 符号 | 含义 | 读者怎么理解 |
|---|---|---|
| x | 池子里资产 A 的数量 | 例如 ETH 数量 |
| y | 池子里资产 B 的数量 | 例如 USDC 数量 |
| k | 两种资产数量乘积形成的约束 | 池子交易后要遵守的规则 |
如果一个池子里有 10 ETH 和 30,000 USDC,简单看就是 ETH 和 USDC 的比例形成一个价格参考。有人用 USDC 买 ETH,池子里的 USDC 增加、ETH 减少,ETH 在池子里变少后,继续买 ETH 的成本就会上升。
Uniswap 文档说明,交易者和池子储备交易,池子用恒定乘积公式定价;交易相对池子深度越大,价格影响越明显。
池子越浅,价格越容易被推动
如果池子很深,一笔交易只占池子很小比例,价格变化会相对平缓。如果池子很浅,一笔交易就可能显著改变池子比例,成交价格会比你看到的参考价差很多。
这就是为什么同样买 1000 USDC 的某个代币,在大池子里可能滑点很小,在小池子里可能把价格推得很高。价格不是客服给的,也不是页面随便写的,而是池子储备和公式共同决定。
手续费会影响结果
实际 AMM 交易还会有交易手续费、协议费用、Gas 费和前端设置。公式是理解机制的骨架,不是完整账单。读者看交易前要同时看兑换比例、价格影响、保底收到数量、手续费、Gas 和代币合约地址。
交易页面要连起来看
一个 AMM 前端通常会同时显示预计收到数量、价格影响、滑点设置和网络费用。预计收到数量只是当前估算,交易提交后如果池子价格变化,最终到账可能不同。价格影响偏高,说明你的交易本身正在明显推动池子价格;滑点容忍度偏高,说明你愿意接受更差成交范围;Gas 偏高,说明网络成本会吃掉更多金额。
读者不要把这些字段分开看。比如页面显示“预计换到 100 个代币”,但价格影响已经很高、池子深度很浅、滑点又被调到较高范围,真实风险就不在按钮本身,而在这几项共同形成的成交结果。看不懂其中任何一项,都应该先停下来核对代币合约和池子深度。
滑点、价格冲击和无常损失是什么?
AMM 的风险不只在“能不能成交”,还在成交价格和提供流动性后的资产变化。
滑点是预期和实际成交的差
滑点可以理解为你以为能换到多少,实际成交时能换到多少之间的差。链上交易从提交到确认有时间差,期间池子价格可能被别的交易改变。你设置的滑点容忍度越高,交易越容易成功,但也越可能接受更差价格。
滑点设置不是越高越好。陌生代币、小池子、热门抢购和拥堵网络里,过高滑点可能让你以很差价格成交。
价格冲击来自你的交易本身
价格冲击是你的交易对池子价格造成的影响。买入规模相对池子越大,价格冲击越明显。它和网络拥堵不是一回事,也和 Gas 费不是一回事。
读者可以这样区分:Gas 是发交易的网络成本;价格冲击是你这笔交易改变池子比例带来的成交成本;滑点是最终成交和预期之间的差异。
无常损失发生在提供流动性时
如果你把两种资产放进 AMM 池子做流动性提供者,资产价格相对变化后,你持有的池子份额价值可能低于单独持有两种资产的结果。这个差异常被称为无常损失。
它不一定是骗局,也不一定会马上体现为账户亏损,但它说明“赚手续费”不是无风险收益。资产价格波动越大、池子费用越低、退出时机越差,提供流动性的结果越需要仔细计算。
交易前怎么检查 AMM 池子?
普通读者不用写合约,也可以做几个基础检查,避免把页面按钮当成结论。
AMM 交易六项检查
| 检查项 | 要看什么 | 风险信号 |
|---|---|---|
| 代币合约 | 合约地址是否来自可信来源 | 同名假币、冒名 Logo |
| 池子深度 | 两边资产储备是否足够 | 小池子承接大额交易 |
| 价格影响 | 页面显示的 price impact | 明显偏高仍继续成交 |
| 保底收到 | 钱包或前端显示的最少到账数量 | 看不懂就点确认 |
| 滑点设置 | 是否被设置得过高 | 陌生页面自动调高 |
| 授权动作 | 是否要求无限授权 | 登录变成大额授权 |
这些检查不能消除所有风险,但能帮你发现明显问题。
不要只信前端页面
前端页面可能被钓鱼网站仿冒,也可能加载错误代币。真正关键的信息要回到合约地址、区块浏览器、协议官方文档和钱包弹窗。交易前确认网络也很重要,Ethereum、Arbitrum、Base、Polygon 等链上的池子不是同一个池子。
AMM 价格不等于公允价值
AMM 池子价格只是这个池子当前储备和交易活动形成的价格。小池子可能被短时间推高或拉低,假代币也可能有一个看似活跃的池子。看到价格上涨,不等于资产有真实需求;看到池子存在,也不等于项目可信。
这篇可以先把 AMM 记成一句话:池子里有资产,公式给出价格,交易改变比例,风险来自池子深度、合约、滑点和资产本身。
常见问题
Q: AMM 是不是去中心化交易所?
答: AMM 是一种交易机制,去中心化交易所可以使用 AMM。Uniswap 这类协议用 AMM 和流动性池支持链上交换,但 AMM 不是某一个平台的名字。
Q: x * y = k 是不是所有 AMM 都用?
答: 不是。恒定乘积模型是经典入门模型,早期 Uniswap 常用这个解释。其他 AMM 可能使用不同公式、集中流动性、多资产池或混合曲线。
Q: 滑点调高能不能提高成功率?
答: 可能提高成交成功率,但也可能让你接受更差价格。陌生代币和小池子里,滑点过高会明显增加风险。
Q: 提供流动性能不能稳定赚手续费?
答: 不能这样理解。手续费收入要和无常损失、资产价格波动、合约风险、池子深度和退出成本一起看。手续费高不代表净结果更好。
Q: AMM 池子里的价格能当市场价吗?
答: 只能当这个池子的当前价格参考。市场价还要看其他池子、中心化交易平台、链上成交深度和是否存在假币或操纵。
参考资料
- Uniswap Developers:How Uniswap Works
- Uniswap Developers:Glossary
- Uniswap:What is an Automated Market Maker?
- Uniswap v2 Core Whitepaper
- Ethereum.org:Smart contracts
版本 1.0 · 更新于 2026-06 · 资料截至 2026-06-17