第一章:DeFi流动性池基础
什么是AMM自动做市商
AMM,全称 Automated Market Maker,中文叫自动做市商。
说白了,它就是个机器人。这个机器人帮你自动完成交易,不需要你去找买家或者卖家。
传统交易所你肯定知道,比如股票市场。你想买茅台,得有人愿意卖给你。这叫订单簿模式。但AMM不一样,它用的是流动性池。
我记得2019年刚接触Uniswap时,第一反应是:这玩意儿靠谱吗?没有订单簿,价格怎么定?后来我才明白,AMM用了一个非常巧妙的数学公式来解决这个问题。
AMM的核心思想很简单:
- 把两种代币放进一个池子里
- 用公式自动计算价格
- 用户直接跟池子交易,不用等对手盘
你想想看,这多方便。任何时候你想交易,池子都在那里等着你。这就是DeFi的魅力所在。
恒定乘积公式 x*y=k 详解
这个公式是整个AMM的基石。我刚开始学的时候,觉得它就是个初中数学题。但真正用起来,里面的门道可不少。
公式长这样:
x * y = k
其中:
- x = 池子里代币A的数量
- y = 池子里代币B的数量
- k = 一个常数,交易前后保持不变
举个例子你就明白了。
假设有个ETH/USDC池子:
- 池子里有10个ETH和20,000个USDC
- 那么 k = 10 * 20,000 = 200,000
- ETH的价格 = 20,000 / 10 = 2,000 USDC
现在你想用1个ETH换USDC。交易后:
- 池子里ETH变成11个
- 为了保持k不变,USDC需要变成 200,000 / 11 ≈ 18,181.82
- 所以你得到的USDC = 20,000 - 18,181.82 = 1,818.18
看到了吗?你1个ETH只换到了1,818 USDC,而不是2,000。为什么?
因为你的交易改变了池子的比例。这就是滑点。交易量越大,滑点越明显。
核心要点:恒定乘积公式保证了无论交易量多大,池子永远不会被掏空。价格会随着交易量的增加而指数级上升,理论上你需要无限的资金才能把池子买空。
我在项目中遇到过一个问题:有人问如果k值变了怎么办?嗯,k值确实会变。当流动性提供者存入或提取资金时,k值会重新计算。但在一笔交易过程中,k值是恒定的。
流动性池的运作原理
流动性池,你可以把它想象成一个公共资金池。大家把钱放进去,然后赚取交易手续费。
运作流程大概是这样的:
- 创建池子:有人用两种代币创建了一个新的交易对
- 添加流动性:其他人按照当前比例存入代币,获得LP代币作为凭证
- 交易发生:用户用其中一种代币兑换另一种,支付0.3%手续费
- 手续费分配:手续费自动累加到池子里,LP代币持有者按比例分享
- 移除流动性:LP代币持有者可以随时赎回自己的代币加上赚到的手续费
个人经验:我建议新手先从稳定币池子开始。比如USDC/DAI这种,价格波动小,不容易遇到无常损失。我曾经一上来就冲ETH/UNI池子,结果行情剧烈波动,亏了不少。
无常损失:你必须知道的坑
说到流动性池,不能不提无常损失。这是每个流动性提供者都要面对的问题。
什么叫无常损失?
简单说,就是你把代币放进池子后,如果代币价格发生变化,你的资产价值可能比单纯持有还要少。
举个例子:
| 场景 | 单纯持有 | 提供流动性 | 损失 |
|---|---|---|---|
| ETH价格翻倍 | 20,000 USDC | 18,284 USDC | 8.6% |
| ETH价格腰斩 | 5,000 USDC | 4,572 USDC | 8.6% |
| ETH价格不变 | 10,000 USDC | 10,000 USDC | 0% |
为什么会这样?因为AMM的定价机制。当ETH价格上涨时,套利者会从池子里低价买入ETH,导致池子里ETH变少、USDC变多。你取回时,ETH少了,USDC多了。整体价值就低于单纯持有。
避坑指南:我曾经在2021年牛市高峰期把大量资金放进SHIB/ETH池子。当时手续费收益确实高,但SHIB价格暴跌后,无常损失加上币价下跌,双重打击。所以记住:高收益往往伴随着高风险。
流动性池的数学本质
我们来深入看看池子背后的数学逻辑。
假设池子初始状态:
- x₀ = 100 ETH
- y₀ = 200,000 USDC
- k = 100 * 200,000 = 20,000,000
- 价格 P₀ = y₀ / x₀ = 2,000 USDC/ETH
你存入Δx个ETH,得到Δy个USDC:
(x₀ + Δx) * (y₀ - Δy) = k
Δy = y₀ - k / (x₀ + Δx)
这个公式告诉我们:你得到的代币数量取决于你投入的数量和池子当前的深度。
池子越深(k值越大),同样交易量的滑点就越小。这就是为什么大池子更受交易者欢迎。
实际应用中的注意事项
在实际搭建流动性池时,有几个关键点要注意:
- 滑点设置:交易时设置合理的滑点容忍度,一般0.5%-1%
- 手续费收益:年化收益率通常在10%-100%之间,取决于池子活跃度
- 池子深度:深度越深,交易体验越好,但单个LP的收益占比会降低
- 审计情况:一定要选择经过审计的协议,我见过太多没审计的土狗项目跑路
嗯,说到这里,我想起一个案例。去年有个朋友在某个新协议上提供流动性,年化承诺300%。结果第三天池子就被黑客攻击了,所有资金归零。所以安全永远是第一位的。
本章知识体系
下面这张图展示了AMM流动性池的核心逻辑:
这张图把整个流程串起来了。流动性提供者存入代币,交易者支付手续费,池子自动完成交易。整个过程不需要任何中介,完全由智能合约执行。
我个人觉得,理解这张图就掌握了AMM的80%。剩下的就是具体协议的各种变体,比如Curve的稳定币池、Balancer的多代币池,但核心逻辑都是一样的。
公众号:蓝海资料掘金营,微信deep3321