2. 恒定和公式与恒定积公式:数学推导与局限性分析

聊到Curve的稳定币池设计,咱们得先搞清楚它的两个“前辈”——恒定和公式与恒定积公式。这两个公式是AMM的基石,但各有各的毛病。Curve正是看准了这些毛病,才搞出了自己的混合模型。

我个人习惯把这两个公式比作“跷跷板”和“双曲线”。一个太死板,一个太敏感。咱们一个一个来看。

2.1 恒定和公式(Constant Sum)

恒定和公式,说白了就是:x + y = k

其中x和y是两种资产的数量,k是常数。这个公式的逻辑很简单——无论你怎么交易,池子里两种资产的总数量保持不变。

2.1.1 数学推导

假设池子里有100个USDC和100个USDT,k=200。你想用10个USDC换USDT:

交易前:x + y = 100 + 100 = 200
你存入10 USDC,池子x变为110
要维持等式:110 + y = 200 → y = 90
你得到:100 - 90 = 10 USDT

看到了吗?1:1兑换,没有滑点。这就是恒定和公式的“理想国”——价格永远不变。

核心特征:价格恒定为1,无滑点交易。

2.1.2 局限性分析

嗯,这里要注意。恒定和公式有个致命伤——流动性枯竭

我在项目中遇到过这样一个场景:假设USDC突然跌到0.9美元,USDT还是1美元。套利者会疯狂买入USDC,直到把池子里的USDC掏空。为什么?因为池子还在按1:1的价格卖USDC,外面都0.9了,这里还1块,不套白不套。

结果就是:池子里的USDC被抽干,只剩USDT。交易直接瘫痪。

致命缺陷:当外部价格偏离1:1时,池子会迅速被套利者掏空一侧资产,导致流动性完全丧失。

你想想看,这就像你开了一家商店,永远按进货价卖东西。一旦外面涨价,你的货瞬间就会被抢光。恒定和公式只适合两种资产价格严格锚定的场景——比如同一稳定币的不同版本。

2.2 恒定积公式(Constant Product)

Uniswap用的就是这个:x * y = k

这个公式就聪明多了。它让价格随着交易量自动调整,永远不会枯竭。

2.2.1 数学推导

还是100 USDC和100 USDT,k=10000。你想用10 USDC换USDT:

交易前:x * y = 100 * 100 = 10000
你存入10 USDC,池子x变为110
要维持等式:110 * y = 10000 → y ≈ 90.91
你得到:100 - 90.91 = 9.09 USDT

注意,这次你只换到了9.09 USDT,而不是10。为什么?因为价格变了。

交易后的价格是 y/x = 90.91/110 ≈ 0.826。也就是说,你每笔交易都在推高USDC的相对价格。你买的越多,价格越贵。

关键洞察:恒定积公式通过价格滑点来防止流动性枯竭。你永远不可能买光池子里的某种资产——因为价格会涨到让你买不起。

2.2.2 局限性分析

恒定积公式解决了枯竭问题,但带来了新麻烦——滑点太大

我记得有一次帮朋友分析一个稳定币池,用的就是恒定积模型。池子里有100万USDC和100万USDT,k=1万亿。朋友想换50万USDC:

交易后x=150万,y=1万亿/150万≈66.67万
他得到:100万 - 66.67万 = 33.33万 USDT
滑点:(50-33.33)/50 ≈ 33.3%

换50万就要损失33%?这谁受得了。对于稳定币这种应该接近1:1兑换的资产,恒定积公式的滑点完全不可接受。

核心矛盾:恒定积公式为了安全性牺牲了效率。对于稳定币交易对,这种牺牲是致命的。

2.3 两个公式的对比

特性 恒定和公式 恒定积公式
公式 x + y = k x * y = k
价格 恒为1 随交易量变化
滑点 随交易量增大
流动性枯竭风险 极高
适用场景 严格锚定的资产 任意资产对

2.4 我的经验总结

做稳定币池设计这些年,我踩过不少坑。曾经有个项目直接用恒定积公式做稳定币兑换,结果用户交易一次就要付3%的滑点,直接被骂到关池。后来改成Curve的混合模型,滑点降到0.1%以下,才活过来。

说白了,恒定和公式太理想化,恒定积公式又太保守。稳定币池需要的是——在价格接近1:1时像恒定和一样低滑点,在价格偏离时像恒定积一样防枯竭。这就是Curve的混合模型要解决的问题。

避坑指南:如果你要自己写AMM,千万别直接套用恒定积公式做稳定币对。我曾经试过,gas费高不说,用户体验极差。Curve的模型才是正解。

2.5 核心逻辑示意图

下面这张图展示了两个公式的核心差异。我特意用SVG画了,方便你直观理解:

恒定和 vs 恒定积:核心逻辑对比 恒定和公式:x + y = k 0 x y 恒定积公式:x * y = k 0 x y 直线:价格恒定,无滑点 双曲线:价格随交易量变化,有滑点 对比

左边是恒定和的直线,价格永远不变。右边是恒定积的双曲线,越靠近坐标轴价格变化越剧烈。Curve要做的就是——在中间区域(价格接近1:1时)走直线,在两端(价格偏离时)走曲线。

好了,这两个基础公式的推导和局限就聊到这儿。下一节咱们看看Curve是怎么把这两者结合起来的。

专注资料整理