为何Solana上满是Prop AMM,在EVM上仍是空白?
作者 | @0xOptimus
编译 | Odaily 星球日报( @OdailyChina )
译者 | 叮当( @XiaMiPP )
Prop AMMs 已迅速占据 Solana 全部交易量的 40%。为什么它们还没出现在 EVM 上?
专业自动做市商(Proprietary AMMs,简称 Prop AMMs)正在迅速成为 Solana DeFi 生态中的主导力量,目前它们已经贡献了主要交易对中超过 40% 的交易量。这类由专业做市商运营的专门流动性场所,能够提供深度流动性和更具竞争力的定价,核心原因在于它们显著降低了做市商被利用“过期报价”(stale quotes)进行抢跑(front-running)套利的风险。
图片来源: dune.com
然而,它们的成功几乎完全局限在 Solana 上。即便在诸如 Base 或 Optimism 这样快速且低成本的 Layer 2 网络上,EVM 生态中仍鲜见 Prop AMM 的身影。为什么它们没有在 EVM 上生根?
本文主要探讨三个问题:什么是 Prop AMM,它们在 EVM 链上面临哪些技术与经济障碍,以及最终可能将它们带到 EVM DeFi 前沿的有前途的新架构。
什么是 Prop AMM?
Prop AMM 是一种由单一专业做市商主动管理流动性和定价的自动做市商,而不是像传统 AMM 那样,由大众以被动方式提供资金。
传统 AMM(如 Uniswap v2)通常使用公式 x * y = k 来决定价格,其中 x 和 y 分别代表池中两种资产的数量,k 为恒定值。而在 Prop AMM 中, 定价公式并非固定不变,而是会被高频更新(通常每秒更新多次) 。由于大多数 Prop AMM 的内部机制属于“黑箱”,外界并不知道它们使用的确切算法。然而,Sui 链上 Obric 的 Prop AMM 智能合约代码是公开的(感谢 @markoggwp 的发现),其不变量 k 是依赖于内部变量 mult_x、mult_y 和 concentration 的。下图展示了做市商如何持续更新这些变量。
需要澄清的一点是:Obric 定价曲线左侧的公式比简单的 x*y 更复杂,但理解 Prop AMM 的关键在于——它始终等于一个可变的不变量 k,而做市商会不断更新这个 k 来调整价格曲线。
复习:AMM 是如何决定价格的?
在这篇文章中,我们会多次提到“价格曲线”这一概念。价格曲线决定了用户在使用 AMM 交易时需要支付的价格,也是做市商在 Prop AMM 中不断更新的部分。为了更好地理解这一点,我们可以先回顾传统 AMM 的定价方式。
以 Uniswap v2 上的 WETH-USDC 池为例(假设无手续费)。价格由公式 x * y = k 被动决定。假设池中有 100 WETH 和 400,000 USDC,此时的曲线点为 x = 100,y = 400,000,对应初始价格为 400,000 / 100 = 4,000 USDC/WETH。由此可得常数 k = 100 * 400,000 = 40,000,000。
若有交易者想买入 1 WETH,他需要向池中加入 USDC,使池中 WETH 减少到 99。为了保持恒定乘积 k,新的点 (x, y) 仍需落在曲线上,因此 y 必须变为 40,000,000 / 99 ≈ 404,040.40。也就是说,该交易者为 1 WETH 支付了约 4,040.40 USDC,比最初价格略高。这种现象称为“价格滑点”(slippage)。这正是 x*y=k 被称为“价格曲线”的原因:任意可交易价格都必须落在这条曲线上。
为什么做市商会选择 AMM 设计而不是中心化订单簿(CLOB)?
让我们来解释一下为什么做市商想要使用 AMM 设计进行做市。 想象你是一个在链上中心限价订单簿(CLOB)上报价的做市商。若想更新你的报价,你需要撤销并替换成千上万个限价单。如果你有 N 个订单,那么更新成本是 O(N) 级别的操作,这在链上既缓慢又昂贵。
而如果你能将所有报价都用一个数学曲线来表示呢?你只需更新定义这条曲线的少数几个参数即可,从而将 O(N) 的操作转化为 O(1) 的常数复杂度。
为了直观展示“价格曲线”如何对应不同的有效价格区间,我们可以参考 Ellipsis Labs 创建的 SolFi——一个基于 Solana 的 Prop AMM。尽管它的具体价格曲线未知且被隐藏,但 Ghostlabs 绘制了一张图,展示了在某个 Solana slot(区块时间段)内,不同数量的 SOL 兑换 USDC 时的有效价格。每一条线代表一个不同的 WSOL/USDC 池,说明多个价格层级可以同时存在。随着做市商更新价格曲线,这张有效价格图也会在不同 slot 之间变化。
图片来源: github
这里的关键点在于, 通过仅更新少量价格曲线参数,做市商即可随时改变有效价格分布,而无需逐个修改 N 个订单。 这正是 Prop AMM 的核心价值主张—— 它让做市商能以更高的资本与计算效率,提供动态而深度的流动性。
为什么 Solana 的架构非常适合 Prop AMM?
Prop AMM 是一种“主动管理型”系统,这意味着它需要两项关键条件:
- 更新成本低(cheap updates)
- 优先执行权(priority execution)
在 Solana 上,这两者是相辅相成的: 低成本更新往往意味着更新能获得执行优先权。
为什么做市商需要这两点?首先, 他们会根据库存变化或资产指数价格(例如中心化交易所价格)的波动,以区块链运行速度不断更新价格曲线。 在像 Solana 这样高频链上,如果更新成本过高,将难以实现高频调整。
其次, 若做市商无法让更新排在区块顶部,他们的旧报价就会被套利者“抄走”,造成必然的亏损。 如果缺少这两个特性,做市商就无法高效操作,用户也会获得更差的交易价格。
以 Solana 上的 Prop AMM HumidiFi 为例,据 @SliceAnalytics 数据,该做市商每秒更新报价高达 74 次。
来自 EVM 的玩家可能会问:“Solana 的 slot (插槽)大约 400ms,Prop AMM 怎么能在单个 slot 内多次更新价格?”
答案在于 Solana 的连续架构,它本质上不同于 EVM 的离散区块模型。
- EVM: 交易通常在完整区块被提议和最终确认后按顺序执行。这意味着中途发送的更新要到下一个区块才会生效。
- Solana: Leader 验证节点不会等待完整区块,而是将交易拆成小数据包(称为“shred”)连续广播到网络。一个 slot 内可能有多笔交换,但 shred #1 的价格更新影响 swap #1,shred #2 的价格更新影响 swap #2。
注:Flashblocks 类似于 Solana 的 shred。根据 Anza Labs 的 @Ashwinningg 在 CBER 大会上的分享,每个 400ms 的 slot 上限为 32,000 shred,相当于每毫秒 80 个 shred。至于 200ms Flashblocks 是否足够快以满足做市商需求,与 Solana 连续架构相比仍是个开放问题。
那么,Solana 上的更新为何如此廉价?又如何导致优先执行?
首先,虽然 Solana 上 Prop AMM 的实现是黑盒,但存在如 Pinocchio 的库,可优化 CU 的方式编写 Solana 程序。Helius 的博客对此有精彩介绍,通过该库,Solana 程序的 CU 消耗可从约 4000 CU 降到约 100 CU。
图片来源: github
再来看第二部分。更高层面上,Solana 通过选择 Fee / Compute Units 比率最高 的交易来优先排序(Compute Units 类似 EVM 的 Gas),与 EVM 类似。
- 具体而言,如果使用 Jito,公式为Jito Tip / Compute Units
- 不使用:Priority = (优先费 + 基础费) / (1 + CU 上限 + 签名 CU + 写锁 CU)( https://solana.com/docs/core/fees)
对比 Prop AMM 更新与 Jupiter Swap 的 Compute Units,可见更新极度廉价,比例达 1:1000。
Prop AMM 更新 :简单曲线更新极便宜。Wintermute 的更新低至 109 CU,总费用仅 0.000007506 SOL
Jupiter Swap :通过 Jupiter 路由的 swap 可达 ~100,000 CU,总费用 0.000005 SOL
由于这种巨大的差异, 做市商只需为更新交易支付极小的费用,就能实现远高于交换的 Fee/CU 比率,从而保证更新在区块顶部被执行,保护自己免受套利攻击。
为什么 Prop AMM 尚未在 EVM 上落地?
假设 Prop AMM 的更新涉及写入决定交易对价格曲线的变量。虽然 Solana 上的 Prop AMM 代码是一个“黑箱”,做市商希望保持其策略机密,但我们可以用这个假设来理解 Obric 在 Sui 上实现 Prop AMM 的方式:交易对报价的决定变量通过 update 函数写入智能合约。
感谢 @markoggwp 发现!
利用这个假设,我们发现 EVM 的架构存在重大障碍,使 Solana 的 Prop AMM 模型在 EVM 上不可行。
回顾一下,在 OP-Stack Layer 2 区块链(如 Base 和 Unichain)上,交易是按每 Gas 优先费用排序的(类似 Solana 按 Fee / CU 排序)。
在 EVM 上,写入操作的 Gas 消耗非常高。与 Solana 的更新相比,通过 SSTORE 操作码在 EVM 上写入一个值的成本惊人:
- SSTORE(0 → 非 0):~22,100 gas
- SSTORE(非 0 → 非 0):~5,000 gas
- 典型 AMM swap:~200,000–300,000 gas
注意:EVM 上的 Gas 类似于 Solana 上的计算单元(CU)。上面的 SSTORE gas 数字是假设每个交易仅有一次写入(冷写入),这是合理的,因为通常不会在一次交易中发送多次更新。
虽然更新仍比交换便宜,但 gas 使用率仅约 10 倍(更新可能涉及多个 SSTORE),而在 Solana 上,这一比例约为 1000 倍。
这带来了两个结论,使相同的 Solana Prop AMM 模型在 EVM 上风险更高:
- Gas 消耗高导致优先费用难以保障更新优先 ,较低的优先费用无法实现高费率/Gas 的比率。为了保证更新不会被抢先执行并位于区块顶部,需要更高的优先费用,从而增加成本。
- EVM 上套利风险更高 ,EVM 上更新 Gas 与交换 Gas 比例仅 1:10,而 Solana 上为 1:1000。这意味着套利者只需将优先费提高 10 倍即可抢先做市商的更新,而在 Solana 上需提高 1000 倍。在这种较低比例下,套利者更可能抢先交易价格更新以获取过时报价,因为成本低廉。
一些创新(如 EIP-1153 的 TSTORE,用于临时存储)提供约 100 gas 的写入,但这种存储是短暂的,仅在单笔交易中有效,无法用于将价格更新持久化以供后续掉期交易使用(例如整个区块期间)。
如何将 Prop AMM 引入 EVM?
在回答之前,先回答“为什么要做”:用户总是希望获得更优的交易报价,这意味着交易更划算。以太坊及 Layer 2 的 Prop AMM 可以为用户提供原本只能在 Solana 或中心化交易所才能获得的竞争性报价。
要使 Prop AMM 在 EVM 上可行,我们回顾一下它在 Solana 上成功的原因之一:
- 区块顶部更新保护: 在 Solana 上,Prop AMM 更新位于区块顶部,可以保护做市商免遭抢先交易。更新位于顶部是因为计算单元消耗极少,即使费用低,也能实现高费用/CU 比率,尤其与掉期交易相比。
那么,如何将区块顶部的 Prop AMM 更新引入 Layer 2 EVM 区块链?有两种方法:要么降低写入成本,要么为 Prop AMM 更新创建优先级通道。
由于 EVM 的状态增长问题,降低写入成本这种方法不太可行,因为廉价的 SSTORE 会导致垃圾状态攻击。
我们提出为 Prop AMM 更新创建优先通道。这是可行方案,也是本文的重点。
Uniswap 团队的 @MarkToda 提出了一种新方法,通过 全球存储智能合约 + 专门的区块构建器策略 实现:
它的工作原理如下:
- 全局存储合约: 部署简单智能合约作为公有键值存储。做市商将价格曲线参数写入该合约(例如 set(ETH-USDC_CONCENTRATION, 4000))。
- 构建器策略: 这是链下关键组件。区块构建器识别发送到全局存储合约的交易,将区块前 5–10% Gas 分配给这些更新交易,并按费用优先排序,防止垃圾交易。
请注意:交易必须直接发送到全局存储地址,否则不能保证位于区块顶部。
自定义区块构建算法示例可参考 rblib。
- Prop AMM 集成: 做市商的 Prop AMM 合约在交换时从全局存储合约读取价格曲线数据,从而提供报价。
这种架构巧妙解决了两个问题:
- 保护 :构建器策略创建“快速通道”,确保区块内所有价格更新在交易前执行,消除抢先交易风险。
- 成本效益 :做市商不再与所有 DeFi 用户竞争高 Gas Price 达成区块顶部交易,只需在 本地费用市场 中竞争更新交易预留的顶部区块,大幅降低成本。
用户交易将依据做市商在同一区块初始更新设定的价格曲线执行,确保报价的新鲜度和安全性。这种模型在 EVM 上重现了 Solana 上低成本、高优先级更新的环境,为 Prop AMM 在 EVM 上铺平了道路。
然而,这种模型也存在一些缺点,我将这些问题留在本文底部以供讨论。
结论
Prop AMM 的可行性依赖于解决核心经济问题: 廉价且优先执行以防止抢先交易。
虽然标准 EVM 架构使此类操作成本高、风险大,但新的设计为解决这个问题提供了不同的方法。结合链上全局存储智能合约和链下构建器策略的新设计,可创建专用“快速通道”,保证区块顶部执行更新,同时建立本地、受控的费用市场。这不仅使 Prop AMM 在 EVM 上可行,也可能为所有依赖区块顶部预言机更新的 EVM DeFi 带来变革。
开放性问题
- Prop AMM 在 EVM 上 200ms Flashblock 的速度是否足以与 Solana 连续架构竞争?
- Solana 上大部分 AMM 流量来自单一聚合器 Jupiter,其提供 SDK 方便 AMM 接入。但在 Layer 2 EVM 上,流量分散在多个聚合器且无公共 SDK,这是否对 Prop AMM 构成挑战?
- Prop AMM 在 Solana 上更新仅消耗约 100 CU,其实现机制如何?
- 快速通道模型仅保证区块顶部更新。如果一个 Flashblock 内有多笔交换,做市商如何在这些交换之间更新价格?
- 是否可以使用 Yul 或 Huff 等语言编写优化的 EVM 程序,类似 Solana 上的 Pinocchio 优化方案?
- Prop AMM 与 RFQ 的比较如何?
- 如何防止做市商在区块 N 给出优质报价诱导用户,然后在区块 N+1 更新为糟糕报价?Jupiter 如何防范?
- Jupiter Ultra V3 的 Ultra Signaling 功能允许 Prop AMM 区分有害与无害流量,并提供更紧密的报价,这类聚合器特性对 Prop AMM 在 EVM 上的重要性如何?
CZ获特朗普特赦的4层连带影响分析
原创|Odaily 星球日报(@OdailyChina)作者|Wenser(@wenser 2010)昨日晚间,币安创始人 CZ 终获特朗普特赦一事尘埃落定(推荐阅读:特朗普特赦币安创始人 CZ:13...
加密募资新王Buidlpad:四个项目全上币安的背后逻辑与生态布局
原文作者: Chloe, ChainCatcher从去年底至今年,沉寂多年的 ICO 市场复苏。在比特币 ETF 获批、特郎普政府对加密友好政策、以及新一轮牛市的推动下,公开代币销售平台重新成为项目方...
$PING单日涨8倍,x402叙事会复刻「 铭文热潮」吗?
原文作者:Haotian(X:@tmel0211)大家都说 $PING 的出现很像 2023 年的 BTC 铭文热潮,为什么像?像在哪里?会向铭文市场一样演化发展吗?先说答案:会。好,以下阐述具体逻辑...
