区块链百科

解析Solana Prop AMM崛起之谜:为何EVM生态难以复制?

为何Solana上满是 Prop AMM,但在 EVM 上仍是空白?

尽管专业自动做市商(Prop AMMs)已在Solana全量交易中占据约40%的份额,但它们在以太坊虚拟机(EVM)生态中却几乎处于缺席状态。这一现象背后的深层原因是什么?

当前,Prop AMMs正迅速主导Solana DeFi领域,在核心交易对中的交易量占比已突破40%。这种由专业做市商运营的垂直流动性池,凭借更深的流动性和更具竞争力的定价脱颖而出。其核心优势在于显著降低了做市商面临的风险,特别是避免了被利用「过期报价」(stale quotes)进行抢跑(front-running)套利的情况。

Sol的Prop AMM为何难进EVM?

图片来源:dune.com

然而,这种成功目前仍局限于Solana网络。即便是在Base或Optimism等高效低费的Layer 2网络上,EVM体系内依然罕见Prop AMM的身影。它们为何无法在EVM环境中扎根?本文将围绕三个核心议题展开:解析Prop AMM的本质、剖析其在EVM链上遭遇的技术与经济壁垒,以及展望可能推动其进入EVM DeFi前沿的新型架构。

什么是 Prop AMM?

与传统AMM依赖大众被动提供资金不同,Prop AMM是由单一专业做市商主动管理流动性和定价权的自动做市商模式。

以Uniswap v2为代表的传统AMM采用恒定乘积公式 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 值恒定,新的 y 值必须调整为 40,000,000 / 99 ≈ 404,040.40。这意味着交易者需支付约4,040.40 USDC换取1 WETH,价格略高于初始水平。此差额即为「价格滑点」(slippage)。这也解释了为何 x*y=k 被称为「价格曲线」:任何可成交的价格点均须位于该曲线上。

为什么做市商会选择 AMM 设计而不是中心化订单簿(CLOB)?

让我们探究做市商偏好AMM而非链上中心限价订单簿(CLOB)的原因。想象你在CLOB上报价,若要调整数千个限价单,你需要逐一撤销并重挂。若有 N 个订单,更新操作复杂度高达 O(N),这在链上环境既耗时又昂贵。

反之,若能将所有报价映射为一条数学曲线呢?你仅需更新定义曲线的少数几个参数,即可将操作复杂度从 O(N) 降至 O(1)。

为了直观展示「价格曲线」如何对应不同的有效价格区间,我们可以参考Ellipsis Labs基于Solana开发的Prop AMM SolFi。虽然其具体曲线未知且隐蔽,但Ghostlabs绘制了一张图表,展示了在特定Solana slot(区块时间段)内,不同数量SOL兑换USDC时的有效价格。图中每条线代表一个独立的WSOL/USDC池,表明多层级价格可同时存在。随着做市商刷新曲线,这张有效价格图也会随slot变化。

图片来源:github

核心洞察在于,通过仅更新少量曲线参数,做市商即可实时重塑有效价格分布,无需逐个处理 N 个订单。这正是Prop AMM的价值主张——赋予做市商以更高的资本与计算效率,提供动态且深度的流动性。

为什么 Solana 的架构非常适合 Prop AMM?

Prop AMM作为「主动管理型」系统,依赖两大基石:

1. 极低的更新成本(cheap updates)

2. 优先执行权(priority execution)

在Solana生态中,二者相辅相成:低廉的更新成本往往自然衍生出执行优先权。

为何做市商亟需这两项特性?首先,他们会依据库存变动或资产指数价格(如CEX价格)波动,以区块链的运行频率持续刷新价格曲线。在Solana这类高频链上,高昂的更新成本将使高频调整成为奢望。

其次,若做市商无法确保更新交易位于区块顶端,旧报价便会被套利者「截胡」,导致必然亏损。缺失上述特性,做市商运营将受阻,用户亦将面临更劣的交易条件。

据 @SliceAnalytics 数据,Solana上的Prop AMM做市商HumidiFi每秒更新报价可达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库等工具可优化Solana程序的CU消耗。Helius博客对此有详尽解读,借助该库,Solana程序的CU消耗可从约4000 CU骤降至约100 CU。

图片来源:github

再看优先级层面。Solana通过筛选 Fee / Compute Units 比率最高的交易进行排序(Compute Units类同EVM Gas)。

· 若使用Jito,计算公式为 Jito Tip / Compute Units

· 若未使用:Priority = (优先费 + 基础费) / (1 + CU 上限 + 签名 CU + 写锁 CU)

对比Prop AMM更新与Jupiter Swap的CU消耗可见,更新极其廉价,比例悬殊达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上的代码保密,但我们可以借由Obric在Sui上的实现来推演:交易对报价的决定变量通过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使用率比例仅为约10倍(更新可能涉及多个SSTORE),而在Solana上,这一比例约为1000倍。

这引出了两个结论,使相同的Solana Prop AMM模型在EVM上风险剧增:

1. 高昂Gas导致优先费用难以保障更新优先,较低的优先费用无法支撑高费率/Gas比率。为确保更新不被抢先并位于区块顶端,需支付更高优先费,从而增加成本负担。

2. 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或CEX才能获得的竞争性报价。

要使Prop AMM在EVM可行,我们回顾其在Solana成功的要素之一:

· 区块顶部更新保护:在Solana,Prop AMM更新位于区块顶端,防止抢跑。之所以能居顶,是因为CU消耗极少,即便费用低,也能实现高费用/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合约在交换时从全局存储合约读取价格曲线数据,据此提供报价。

该架构巧妙化解两大难题:

1. 安全性保护:构建器策略建立「快速通道」,确保区块内所有价格更新先于交易执行,消除抢跑风险。

2. 成本效益:做市商不再与所有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的重要性如何?

以上就是为何索拉纳币(Solana)上满是Prop AMM,但在EVM上仍是空白?的详细内容,更多关于Sol的Prop AMM为何难进EVM?的资料请关注其它相关文章!