恒定乘积做市商没有订单簿,只有一条公式:x · y = k。池子里两种资产数量相乘恒定, 你放进多少、能拿走多少,全由这条双曲线决定。
蓝线是 x·y=k 曲线,绿点是当前池子状态,橙点是这笔兑换后的落点。落点滑得越远,你拿到的均价越差。
卖出 Δx 个 ETH,池子里 ETH 变成 x+Δx,为了让乘积保持等于 k,USDC 必须减少到 k/(x+Δx)。
你拿到的就是这个差额:
Δy = y − k/(x + Δx·0.997)(0.997 是扣掉 0.3% 手续费)
· 为什么大额兑换特别亏?双曲线是弯的。你买得越多,剩下的越稀缺,边际价格越贵。
在 100 ETH 的池子里买 1 ETH 几乎无感,买 20 ETH 就是在给自己抬价——损失是你自己造成的,
不是别人抢跑。
· 价格影响 vs 滑点:价格影响是你这笔交易必然造成的推动;滑点通常指从你签名到上链期间,
因为别人先交易导致的额外偏差。钱包里的"滑点容忍度"设的是后者的上限——设太低会失败,
设太高会被三明治攻击夹在中间套利。
· 池子深度决定一切:同样买 10 ETH,在 100 ETH 的池子里价格影响约 10%,
在 10,000 ETH 的池子里只有 0.1%。这就是为什么 DeFi 项目拼命补贴流动性挖矿。
· Uniswap V3 的"集中流动性"让 LP 把资金压在某个价格区间内,等效深度大幅提高,
但原理仍是同一条恒定乘积曲线的局部片段。