Skip to main content
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
本页推导通用结合曲线数学。LaunchLab 的具体实现详见 products/launchlab/bonding-curve。推导采用连续形式;链上代码用定点算术实现离散类似物。

什么是结合曲线

结合曲线是一个确定性价格函数 p(s),将代币价格与当前流通量(s 代表”已售供应量”)关联起来。买方通过向合约发送抵押品来购买;合约以曲线指定的边际价格发行新代币单位。卖方返还代币单位并获得累积退款。 与 CPMM 池相比的两个关键属性:
  • 无需对手方。发行合约本身是做市商;流动性由规则直接产生。
  • 单调价格。每次净买入时价格上升,每次净卖出时价格下降。
当发行方不想用抵押品预先为 AMM 池注入流动性时,结合曲线是标准的启动机制。

通用定价公式

对于任何连续价格函数 p(s): 即期价格(供应量为 s):
从 s_0 买到 s_1 的成本(s_1 > s_0):
其中 P(s) = ∫ p(s) ds 是曲线的原函数。几何上,cost 是 p 在 s_0 和 s_1 之间的曲线下面积。 从 s_1 卖回到 s_0 的收益:
(对称性:在相同区间上的买卖交换相同的抵押品 — 扣除费用。) 该买入的平均价格:

常见曲线族

线性

价格与供应量成比例上升。用于”稳定”启动,其中发行方希望在整个生命周期内有可预测的适度加成。

二次

(对于未归一化的 p(s) = k · s²,去掉 S_max²:P(s) = (k/3) · s³。选定一种约定并始终保持一致 — 下面的示例计算全程使用归一化形式。) 价格二次上升。早期买家获得接近零的价格(平坦启动区域);后期买家支付更高的溢价。
LaunchLab 并未实现二次价格曲线。 它的三种曲线类型是 0 = ConstantProduct(默认)、1 = FixedPrice 和 2 = LinearPrice。与本节形状最接近的是 LinearPrice,其价格为 p(s) = a·s,因此其成本是二次的。本节作为多项式曲线的一般性论述保留。

虚拟储备 CPMM(Pump 风格)

该曲线是标准 CPMM,带有假想的初始报价储备 V_q:
即期价格:
从 s_0 移动到 s_1 的成本:
该变体有一个优雅的性质:在毕业时(s = S_graduate),边际价格等于用储备 (S_max − S_graduate, V_q + cost(0, S_graduate)) 注入的下游 CPMM 池的开盘价格。交接无缝。LaunchLab 将其公开为 curve_type = 0(ConstantProduct)— 默认类型,也是目前唯一有实际配置的类型。

离散实现

链上,s 和 cost 都是整数(最小面额单位)。每当存在闭式形式时(线性、二次),连续积分 cost(s_0, s_1) 直接从闭式计算。对于没有闭式逆函数的曲线(二次,给定 cost 求 s_1),使用牛顿迭代:
这是通用的数值求解方法,不是 LaunchLab 的实现。LaunchLab 没有牛顿求解器,也没有 NotConverged 错误 — 它的三种曲线都不需要。恒定乘积曲线有闭式反解,固定价格曲线只是一次除法,而线性价格曲线的 二次成本可用平方根反解。即使上面的二次价格情形也有精确的闭式解 s₁ = ∛(s₀³ + 3·cost/k),这正是代码片段用作初始值的公式。

费用集成

费用应用于曲线成本之上,而不是其中。买入时:
卖出时:
费用的 LP 部分保留在 quote_vault 中,对后续买家来说有效地使曲线变陡 — 储备增长而不发行更多供应。协议和创建者部分在单独的计数器中跟踪,以供后续清扫。

毕业阈值

当曲线收到足够的抵押品以在匹配当前曲线价格的价格为外部 AMM 池提供资金时,曲线”毕业”。对于参数为 (k, S_max, S_graduate) 的二次曲线:
一旦 quote_vault ≥ quote_to_graduate,Graduate 指令创建一个 CPMM 池,包含:
对于虚拟储备曲线,根据构造:
对于二次曲线,该等式不成立:积分平均价格严格高于边际价格,因此 CPMM 的开盘价格比 p(S_graduate) 高出一个固定倍数(见下面的示例计算)。只有恒定乘积/虚拟储备曲线 — 即 LaunchLab 实际运行的那一种 — 在交接时是价格连续的。

与 CPMM 池的无常损失对比

纯结合曲线启动在 Uniswap 意义上没有无常损失:市场上没有”另一方”来重新平衡。曲线按需发行供应,唯一的”LP”是合约本身。 毕业后,产生的 CPMM 池表现得像任何其他 CPMM 池 — 如果 LP 未被销毁,它们会承受常见的无常损失动力学。这就是为什么销毁 post-graduation 政策在公开启动中占主导:它保持池永久化并消除任何 LP 取款驱动的价格冲击。

详细示例

曲线:二次,k = 40,S_max = 1e9,S_graduate = 0.8 · S_max = 8e8。买入费 1%。

s = 5e8 时的价格

每基础单位 10 个报价单位。

首次买入 1e6 基础的成本

带 1% 费用:

毕业阈值

毕业时的价格

毕业后的 CPMM 储备

这不是 p(8e8) = 25.6 — 而正好是它的 4/3 倍。对于任何二次价格曲线, 积分平均值为 p(s)/3 · s / s,因此当剩余供应量为 1 − 0.8 时, cost(0,s)/s = p(s)/3 · ... 得出 4/3 · p(s)。所以二次曲线的交接不是 价格连续的。只有恒定乘积/虚拟储备曲线才具有上文所述的精确相等性质; 二次曲线的发射在毕业时会出现一个跳变。

相关链接

来源:
  • Raydium LaunchLab 程序源代码(二次和虚拟储备曲线实现)。
  • Bancor 白皮书(线性结合曲线,历史文献)。
  • Pump.fun 公开事后分析(虚拟储备变体)。