返回博客

MemeCoin Bonding Curve 公式推导

·0xPM
Web3MemeCoin流动性
系列DeFi 机制拆解2 / 4
  1. 1简单理解 Uniswap V3 如何集中流动性
  2. 2MemeCoin Bonding Curve 公式推导
  3. 3流动性:从虚拟到真实的进化论
  4. 4永续合约完全拆解:从机制原理到产品路线之争
  5. 查看系列 →

1. 概述

创建一个去中心化代币发射平台,采用创新的联合曲线(Bonding Curve)机制和流动性池迁移策略,为代币发行提供公平、透明的价格发现机制。

2. 需求设定

基本参数

  • 代币总发行量:1,000,000,000 枚(10亿枚,记为 10910⁹)
  • 募集目标:85 SOL(打满时迁移到外盘)

代币分配机制

  • 联合曲线发售(Bonding Curve):通过动态定价机制向早期购买者发售代币
  • 流动性池迁移(Pool Migration):预留部分代币用于迁移至去中心化交易所(DEX)的流动性池
  • 自留代币(Vesting):项目方或创建者保留的代币份额
b+p+s=100%b + p + s = 100\%

其中,bb 为联合曲线占比,pp 为流动性池迁移占比,ss 为自留代币占比。

3. 参数定义

参数说明
bb联合曲线发售占比
pp流动性池迁移占比
ss自留代币占比
xx用户累计支付的 SOL
yy用户累计获得的代币
x0x₀联合曲线初始 SOL 储备
y0y₀联合曲线初始代币储备
kk不变量常数k=x0×y0k = x_0 \times y_0
PP代币价格(SOL 计价)

4. 核心公式推导

AMM 基础规则设定(已知条件)

  • 初始恒定乘积法则

    定义了虚拟池的初始状态,初始资金(SOL)x0x_0 与初始代币数量 y0y_0 的乘积为一个常数 kk。

    x0⋅y0=k x_0 \cdot y_0 = k
  • 交易后恒定乘积法则

    当用户支付 xx 数量的 SOL 并买走 yy 数量的代币后,池子内的新余额乘积依然等于常数 kk。

    (x0+x)⋅(y0−y)=k (x_0 + x) \cdot (y_0 - y) = k
  • 瞬时价格定义

    在任何时刻,代币的价格 PP 由池子内 SOL 的数量除以代币的数量决定。

    P=x0+xy0−y P = \frac{x_0 + x}{y_0 - y}

用户交易曲线(推导得出)

  • 代币兑换数量计算

    联立“初始恒定乘积”与“交易后恒定乘积”公式,消去常数 kk 求解 yy。

    当用户在前端输入想支付的 xx SOL 时,合约用此公式计算应发放给用户的代币数量 yy。

    y=x×y0x0+x y = \frac{x \times y_0}{x_0 + x}
  • 价格动态曲线

    将推导出的关系代入“瞬时价格定义”公式中,替换掉变量 xx。

    描述了随着池子内的代币被不断买走(yy 增加),代币价格 PP 是如何呈指数级上升的。

    P(y)=x0×y0(y0−y)2 P(y) = \frac{x_0 \times y_0}{(y_0 - y)^2}

跨市场迁移边界条件(设定临界点)

  • 迁移时内盘瞬时价格

    假设募集满 85 SOL 时触发迁移,此时池内共卖出 b×109b \times 10^9 枚代币。代入“瞬时价格定义”公式得到此时内盘的最终价格。

    P内=x0+85y0−b×109 P_{内} = \frac{x_0 + 85}{y_0 - b \times 10^9}
  • 迁移时外盘初始价格

    募集到的 85 SOL 将配合 p×109p \times 10^9 枚代币注入外部 DEX(如 Raydium),形成外盘的初始开盘价。

    P外=85p×109 P_{外} = \frac{85}{p \times 10^9}

核心目标求解(推导得出最终结果)

通过锁定迁移时的边界条件,反推我们在第一阶段需要的虚拟池初始参数(x0x_0 和 y0y_0)。

  • 联立约束方程组

    为了保证内外盘迁移时没有套利空间,必须满足迁移时内外价格相等;同时必须满足内盘交易始终符合恒定乘积法则。

    • 方程 1(价格平滑衔接):

      x0+85y0−b×109=85p×109 \frac{x_0 + 85}{y_0 - b \times 10^9} = \frac{85}{p \times 10^9}
    • 方程 2(恒定乘积不变):

      x0×y0=(x0+85)×(y0−b×109) x_0 \times y_0 = (x_0 + 85) \times (y_0 - b \times 10^9)
  • 虚拟池初始参数(最终输出结果)

    对上述二元方程组进行代数求解(消元法),即可得出 x0x_0 和 y0y_0 的纯参数表达式。

    这是我们在部署智能合约时,需要硬编码或初始化的虚拟池资金量。只要按照这两个公式初始化池子,后续的交易和 85 SOL 时的迁移价格就能完美契合。

    • 结果(虚拟池 SOL 初始量):

      x0=85×pb−p x_0 = \frac{85 \times p}{b - p}
    • 结果(虚拟池代币初始量):

      y0=b2×109b−p y_0 = \frac{b^2 \times 10^9}{b - p}

5. 参数敏感性与曲线形态分析

  • 虚拟池参数(x0,y0x_0, y_0)的联动: x0x_0 与募集目标量及迁移比例 pp 呈正相关,与联合曲线发售比例 bb 呈负相关;y0y_0 与代币总发行量及 pp 呈正相关。

  • pp 值对曲线的平抑作用: 迁移比例 pp 设定得越高,代币的初始价格越高,而最终迁移价格越低。这会极大地压缩涨幅空间,使整体价格曲线变得更平缓(即流动性深度更厚)。

  • bb 值对曲线的杠杆作用: 发售比例 bb 设定得越高,代币的初始价格越低,但最终迁移价格保持恒定。这会拉大内盘运行期间的整体价差,使价格曲线变得更加陡峭,末期拉升效应更显著。

  • 当 bb 与 pp 过于接近时(差值 <0.01< 0.01),公式分母 (b−p)(b - p) 趋近于 00。这会导致虚拟池参数 x0x_0 和 y0y_0 急剧膨胀,造成价格曲线过于平坦(流动性过深)。

  • 流动性风险: 确保 pp 值足够大(建议 ≥0.10\ge 0.10),以保证 DEX 流动性池有充足的代币储备。

6. 建议参数配置

基于数值稳定性和市场实践,建议采用以下参数范围:

参数建议范围理由
bb0.51 ~ 0.80保证足够的联合曲线发售量,同时为流动性和自留预留空间
pp0.10 ~ 0.49确保 DEX 流动性充足,且 b−p>0.01b - p > 0.01 避免数值问题
ss0.00 ~ 0.30合理的项目方份额,避免过度中心化
b−pb - p≥0.05\ge 0.05保持价格稳定性,避免初始储备量过大

典型配置示例

配置名称bps特点
保守型0.600.200.20平衡的流动性分配
激进型0.700.150.15更多联合曲线销售
社区型0.550.400.05最大化 DEX 流动性
推荐型0.600.300.10综合平衡方案

评论

加载中…