深入理解 Bonding Curve:用智能合约铸造价格的魔法曲线

·

数字资产的价格不再完全由交易所订单墙决定,也不仅由传统 AMM 的流动性池说了算。一种叫“Bonding Curve”的数学工具,正在让价格像乐高积木一样随着供应量自增或自燃。看完这篇文章,你会明白它的魔力,知道 Mint Club 如何用「离散价格区间」打造升级版 Bonding Curve,以及一买一卖时到底发生了什么。


1. Bonding Curve 是什么?

Bonding Curve 的核心用一句话概括:把供给量映射成价格的一次函数、二次函数或任意曲线。当用户买入(Mint)时,合约根据当前供给自动算出所需 Base Asset(如 ETH、USDT);卖出(Burn)时,再把对应的 Base Asset 还给用户并销毁代币。

由于整个计算逻辑都在链上由智能合约执行,所有流程零滑点、去信任且无手动调仓。


2. Mint Club V2 采用的 DBC 方案

Mint Club V2 并没有直接套用经典的 y = ax^b,而是改走 离散 Bonding Curve(DBC) 路线。DBC 用“价格区间数组 BondStep[] {rangeTo, price}”描述供给量和价格的非连续关系。

优点一目了然:
1️⃣ 在以太坊虚拟机里 计算简单——不再受限于浮点近似值,不用担心 (_baseN/_baseD)^(_expN/_expD) 带来的合约溢出;
2️⃣ 完全自定义——项目方能逐点设计 K 线:是线性、凸面还是阶梯状,仅靠改数组即可实现。

因此,测试合约只需验证每个区间的跨步点是否正确,而无需对整段积分做复杂模拟。这就是离散式 Bonding Curve 在工程层面最明显的发力点。


3. 买与卖的链上流程

与传统的 Uniswap 兑换不同,Bonding Curve 全程 Mint & Burn,也意味着“流动性”永远等于 当前所有已发行代币

3.1 典型买入场景(CAT 测试币为例)

你决定一次性买入 500 CAT,跨越 前 10 个区间 的倒三角形面积之和,总计支付约 0.4415 WETH。由于合约还会向创作者收取 0.3% Creator Royalty,你最终需支付 0.4428245 WETH。

链上流程实时确认感受:
👉 点击即可在区块浏览器实时校验:Testnet 400 毫秒成交细节

  1. 打款 0.4428245 WETH → Bonding Curve Pool
  2. 钱包瞬间多出 500 CAT(Mint)
  3. CAT 供给变为 500,下一口价升至 0.00284 WETH

3.2 卖出场景(反动作)

把其中 250 CAT 卖回,回退到第 5 个区间,你仅需燃烧对应代币即可拿回 0.373875 WETH。

  1. 250 CAT 被合约 Burn
  2. 合约向你的地址转 WETH
  3. 供给跌回 250,下一口价 0.00079 WETH

整个过程没有 LP 与你对抗,也没有恒定乘积公式 x*y=k,价格下跌完全是 “销毁带来的曲线下降”


4. 不得不问的 5 个高频疑问

Q1:Bonding Curve 会跑路吗?
A:不会。合约无 Admin Key 情况下,用户始终能根据曲线买入/卖出;即便是 Creator Royalty 也是链上透明参数,不随人意。

Q2:价格会不会被“拉高出货”?
A:大买单拉升价格的同时,地板也是同步锁定在曲线里的。任何下一刻卖出都会直接踩回原区间,因此没有 V 形砸盘空间,近似于“链上限价 + 滑点可控”

Q3:ERC-20 & ERC-721 能同时用好 Bonding Curve 吗?
A:可以。Mint Club V2 已经同时封装 ERC-20 Bonding 与 ERC-721 Minting,意味着 NFT 项目方也能用离散区间定价稀有度,并随供给弹性铸币。👉 看真实项目如何上线唯美 Pr基 NFT 曲线

Q4:Base Asset 必须是以太坊代币吗?
A:理论上支持所有支持 ERC-20 标准的 Base Asset,如 USDT、USDC、DAI。CatToken 选 WETH 只为测试网方便。

Q5:整条曲线能改吗?
A:离散步骤的优势在此——管理者只要更新 BondStep[],整条曲线内容即同步更换,无需迁移流动性或做复杂迁移脚本。


5. 删繁就简:把缩写拉回中文语境

原文词中文解释
Bonding Curve债券曲线 / 映射供给-价格的曲线
Mint买入即铸币,新增流通量
Burn卖出即销毁,减少流通量
Base Asset对标资产:CAT → WETH,或 MEME → USDT
Creator Royalty创作者永久分成,0.3% 直接写死合约
DBCDiscrete Bonding Curve,离散债券曲线

6. 实战演练:用参数编辑器敲打出你的第一条曲线

假设你想做 80 张版画的 NFT Bonding,想先融资,再随供给线性推高。参数设计思路:

做出矩阵:BondStep[] = [ {10, 100000}, {20, 200000}…{80, 800000} ]
之后在 Remix 一键部署,你就能得到:


尾声:Bonding Curve 的下一站

从 DeFi 2.0 的算法储备,到如今 NFT、社交代币、微众筹项目的启动器,Bonding Curve 已经从“加密玩具”长成“链上主板”。Mint Club 的离散化思路只是打开的第一道闸门,下一版 V3 可能会引入预言机自适应曲线——到那时,价格不再僵硬,而是由链上 + 链下数据双因子共治,未来可期。