本文深入探讨了 bonding curve( bonding 曲线)在代币发行和交易中的应用,详细解释了 bonding curve 的原理、不同类型的曲线(线性、指数、对数、S 曲线)及其适用场景,并介绍了 Pump.fun 平台如何利用 bonding curve 实现快速启动和交易,以及相关的技术架构和定价计算方法。
markdown

你可能已经见过这种情况:一个新 token 在 Pump.fun 上启动,并在几分钟内达到 100 万美元的市值。没有交易所上市。没有订单簿。无需等待流动性提供者。只需从启动开始即时交易。
那么这是如何运作的呢?答案是 bonding curves(联合曲线),这是一个自动定价系统,正在彻底改变 token 的启动和交易方式。联合曲线不是依赖传统的交易所或流动性池,而是让任何人都可以创建从第一天起就具有即时、有保证的流动性的 token。
从本质上讲,联合曲线是一个数学公式,可根据 token 的供应量自动设置其价格。可以把它想象成一台自动售货机,你从它那里购买的商品越多,价格就越贵。
这是一个简单的版本:当你购买 token 时,价格会上涨。当你出售 token 时,价格会下降。没有人为设置价格,没有订单簿匹配买家和卖家,也无需等待流动性。智能合约会自动完成所有操作。
为什么这很重要? 传统的 token 启动存在“先有鸡还是先有蛋”的问题。你需要流动性才能让人交易,但你需要交易者来创造流动性。联合曲线通过使智能合约本身既充当买方又充当卖方来解决这个问题。它始终有 token 可以卖给你,并且始终会回购它们。
神奇之处在于储备金。当你购买 token 时,你的钱会进入合约持有的储备池。当你出售时,合约会从同一储备金中向你支付。储备金越多,token 价格就越高。

让我们用实际数字逐步分解其机制,以便你可以准确地看到有人买卖时会发生什么。
当有人想购买 token 时,会发生以下情况:
当有人出售时,情况正好相反:
起始点: 尚未存在 token,储备金为空。
Alice 首先购买:
Bob 接下来购买:
Alice 决定出售她的 1,000 个 token:
Bob 现在被困住了:
这是一个关键的动态:早期买家在后期买家进入时获利,但后期买家在早期买家退出时亏损。
并非所有联合曲线都是一样的。你选择的数学公式从根本上改变了你的 token 的行为方式、谁会受益以及用户拥有什么样的交易体验。

线性联合曲线
公式:price = m × supply
其中 $m$ 只是一个常数乘数(比如我们前面示例中的 0.001)。
它的行为方式: 价格以稳定、可预测的速度上涨。每个铸造的 token 都为价格增加与前一个 token 完全相同的量。
真实案例:
价格稳步攀升,就像走楼梯一样,每一步的高度都相同。
何时使用它:
线性曲线最适合 公平启动,你希望价格具有可预测性、透明性。没有惊喜,没有疯狂的价格跳跃。对于普通用户来说,这是最直观的曲线。
缺点?早期买家没有获得巨大的优势,这意味着首先进入的激励较少。这可能会减缓初始采用。

指数联合曲线
公式:price = m × supply²(或更高的指数,如 supply³)
它的行为方式: 价格开始时很低,但会 快速 上涨。每个新的 token 的成本都比上一个 token 高得多。这创造了强烈的早期买家优势和极端的价格增长。
具有supply² 的真实案例:
请注意价格是如何爆炸式增长的。到第 10,000 个 token 时,你支付的每个 token 的价格是第 1,000 个 token 的 100 倍。
何时使用它:
指数曲线会产生 炒作和 FOMO(害怕错过)。它们会极大地奖励早期信徒,同时使后期进入者的成本很高。这在投机性的 meme 币和想要病毒式增长的项目中很受欢迎。
问题?指数曲线可能会让人觉得像金字塔计划。后期买家经常遭到破坏,并且曲线可能会过快地将人们排除在外,从而在达到目标之前扼杀动力。

对数联合曲线
公式:price = m × log(supply + 1)
它的行为方式: 与指数相反。价格起初上涨很快,然后趋于平缓。早期的 token 价格昂贵,但随着供应量的增长,增长速度会急剧下降。
真实案例:
看到规律了吗?从 1,000 个 token 到 10,000 个 token(供应量增加 10 倍)只会使价格上涨约 33%。
何时使用它:
对数曲线非常适合 实用 token 和想要长期稳定性的项目。它们可以抑制纯粹的投机行为,同时适度地奖励早期支持者。
当你想让大量 token 流通而价格不会失控时,这些曲线效果很好。想想社区货币、治理 token 或访问 token,你实际上希望人们 使用 它们,而不仅仅是交易它们。
缺点?缺乏兴奋感。没有登月潜力。更难产生病毒式动力。

Sigmoid 联合曲线
公式:price = L / (1 + e^(-k(supply - x₀)))
不用担心公式 - 只要了解行为即可。
它的行为方式: Sigmoid 曲线看起来像一个“S”形。它们开始时很慢,在中间加速,然后在顶部趋于平缓。就像将所有三个先前的曲线组合成一个旅程一样。
三个阶段:
何时使用它:
Sigmoid 曲线很复杂。它们非常适合想要 在公平性和增长激励之间取得平衡 的项目。早期买家获得不错的回报,但不是天文数字。中间买家赶上增长浪潮。后期买家进入一个稳定的市场。
复杂性也是缺点。它们更难理解、更难解释、更难正确实施。大多数构建者坚持使用更简单的曲线。
市值 是如果可以按今天的价格出售所有 token,它们将值多少钱。它的计算方法是将当前价格乘以 token 的总数。
示例:10,000 个 token,每个 2 SOL = 20,000 SOL 市值。
储备金 是实际存在于智能合约中的资金。这是来自真实买家的真实现金。
这里要注意的是:市值始终大于储备金。如果市值为 20,000 SOL,但储备金只有 10,000 SOL,则合约无法按当前价格偿还所有人。如果每个人都试图一次性出售,他们会得到更少。这是故意的,而不是缺陷。
流通供应量 是现在存在并且由人们拥有的 token 数量。
总供应量 是可能存在的 token 的最大数量。有些项目会设置一个限制(比如最多 10 亿),有些项目则会永远铸造。
在联合曲线上,这些数字通常是相同的。但是,当 token 转移到 DEX 时,有时会为流动性池创建额外的 token。
这是 Pump.fun 的特殊技巧。联合曲线就像已经发生了交易一样,即使实际上没有发生。
曲线不是从零开始,而是假装“已经售出 100 万个 token,并且储备金中已经有 5 SOL”。但是这些 token 实际上并不存在 - 它们是虚构的。
为什么?它允许你在没有人先购买的情况下设置起始价格。这就是 Pump.fun 如何创造“启动时 4K 美元市值”效果的方式。
滑点是指因为你自己的购买行为推高了价格而支付超出预期的费用。
示例:价格为每个 token 1 SOL。你想以 1,000 SOL 购买 1,000 个 token。但是,在你购买时,价格上涨,因此你最终支付了 1,200 SOL。额外的 200 SOL 就是滑点。
购买量越大 = 滑点越大。这就是为什么鲸鱼无法购买大量 token 而不推高价格的原因。
这是实际作为储备金持有的市值百分比。它的计算方法是将储备金除以市值。
50% 的储备金率意味着合约持有市值的一半作为实际资金。另一半只是账面估值。
大多数联合曲线使用 30–50% 的比率。较低的比率意味着更快的价格增长,但风险更大。较高的比率意味着更稳定,但收益较慢。
毕业是指 token 变得足够成功,可以从联合曲线转移到像 Raydium 这样的真实交易所。
在 Pump.fun 上,这种情况发生在约 6.9 万美元的市值时。当它毕业时:
这赋予了成功的 token 合法性和更深的流动性。
价格影响是指你的交易对其他所有人移动市场的幅度。
如果你购买了所有 token 的 10%,你可能会将价格推高 15%。这 15% 就是你的价格影响。
小额交易几乎不会移动市场。鲸鱼交易会移动很多。这使得联合曲线自然地抵制操纵,你不能偷偷地进行大规模购买而不用支付更多费用。
MEV 代表最大可提取价值。这是由可以重新排序交易的机器人获得的利润。
联合曲线是容易受到攻击的目标,因为数学是可预测的。机器人确切地知道你的交易会使价格上涨多少。
最常见的攻击是三明治。它是这样运作的:
你下一个购买 1,000 个 token 的大订单。一个机器人看到了它,并迅速先购买少量 token。然后你的大额购买完成并推高了价格。机器人立即以更高的价格出售。
示例:你预计每个 token 支付 1 SOL。但是机器人的抢先交易使你最终支付了每个 token 1.2 SOL。每个 token 额外的 0.2 SOL?机器人保留它。
这就是为什么滑点保护很重要。如果你设置了 5% 的滑点限制,三明治攻击就会失败。如果价格变动太大,你的交易将不会完成,并且机器人会因尝试而赔钱。
像 Solana 这样的快速链使机器人更容易做到这一点,但是严格的滑点设置可以保护你。
构建联合曲线平台需要仔细考虑数据如何流动、如何管理状态以及不同组件如何交互。让我们使用你提供的状态图和函数规范来了解完整的架构。

状态
GlobalConfig(单例):
BondingCurve(每个 Token):

函数
该协议在三个类别中包含 11 个函数:
核心交易 (1–4):
迁移 (5–6):
更新 (7–11):

指令
该协议实现了 11 个指令,分为三个类别:
设置和创建 (1–2):
交易操作 (3–4):
曲线管理 (5–7):
紧急情况和迁移 (8–11):
每个指令都需要特定的帐户(签名者、PDA、token 帐户)并验证状态转换以维护协议的完整性。
该协议使用 恒定乘积公式,其中不变量 $k = token\_reserve × sol\_reserve$ 在交易期间保持不变。
购买 Token:
SOL_in = (constant / (token_reserve - tokens_out)) - sol_reserve
计算购买特定数量的 token 所需的 SOL。随着token从储备金中移除,价格上涨。
出售 Token:
SOL_out = sol_reserve - (constant / (token_reserve + tokens_in))
计算出售 token 时返还的 SOL。随着 token 添加回储备金,价格下降。
当前价格:
price = constant / token_reserve
任何时刻每个 token 的瞬时价格。价格在每次交易后自动调整。
通过用纯数学代替复杂的订单簿,联合曲线使 Solana 上的 token 启动民主化。通过保证即时流动性和自动化价格发现,它们解决了困扰传统市场的“冷启动”问题。无论你是构建下一个平台的开发者还是在 meme 币领域中摸爬滚打的交易者,了解曲线的机制都是理解现代 DeFi 的关键。
如果你对去中心化基础设施、链上数据系统、defi 协议或使用 rollups 构建真实世界的项目感兴趣,请关注:
- 原文链接: medium.com/@priyansh_ptl...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!