以太坊Prop AMM架构拆解

axdvdv 发布于 2026-06-07 阅读 188

Prop AMM(专业做市商AMM)在以太坊上实现,依赖于Titan Builder的ACE机制,保证每个区块内价格先更新后交易。

2026年6月,以太坊上出现了一类新的链上流动性——prop AMM。KyberSwap(@KyberNetwork)是第一个在6月1日接入这种流动性的平台,并开始通过它路由 WETH/USDT 和 WETH/USDC 的兑换。

来自不同做市商的三家 prop 交易场所已在主网上线,包括 Bebop(@bebop_dex)。在 Solana 上,同样的模型在两年内占据了约 50% 的月度 DEX 交易量。在以太坊上,这一进程才刚刚开始,但发展速度很快。你可以访问 pamm.wtf 查看当前交易量和活动。

从技术上讲,这得益于 Titan Builder(@titanbuilderxyz)及其 ACE 机制(应用控制执行):构建者层首次在基础设施层面承担区块内交易排序的责任。

LambdaClass(@class_lambda)构建了一个开源的 prop AMM 流动性聚合器——一个元路由器,能同时针对以太坊上所有活跃的 prop 交易场所进行报价,并回退到 Uniswap V3。这很可能是如何在合约层面集成 prop AMM 的唯一公开参考。

在本文中,我们将逐步剖析以太坊上的 prop AMM 架构:该机制如何工作、涉及哪些合约、做市商每个区块究竟做什么、以及这一切如何融入现有的 DeFi 格局。

什么是 prop AMM

用一句话概括:专业做市商在链上合约中持有流动性,并每区块根据 CEX 价格更新报价。

这与传统的 AMM 不同。Uniswap 或 Curve 通过固定的数学公式工作,如 x*y=k 或 StableSwap 不变量。价格由池状态决定,仅在有人进行兑换时更新。在两次兑换之间,池子保持旧价格并等待。

Prop AMM 的构建方式不同。价格作为普通数字存储在合约存储中,做市商每区块写入一个新值。当吃单方到来时,他们以当前写入的价格进行兑换。基本上,这是外部价格信号的链上封装,而不是一个自包含的定价机制。

流动性也属于特定的做市商,而不是从众多 LP 聚合而来。这解决了经典的“谁承担逆向选择”问题:做市商自己承担,因为他用自己的资金报价。

从概念上讲,这更接近中心化交易所上专业做市商的订单簿,而不是传统的 AMM。只是用合约中一个数字的更新取代了订单。

为什么以前在以太坊上行不通

对于主动做市,以太坊有一个根本限制:每 12 秒一个区块。在此期间,中心化交易所的价格可能大幅波动,尤其是在波动性大的交易对上。

一个天真的实现会是这样的:做市商查看币安,通过内存池发送一笔 setPrice 交易,等待被包含在一个区块中。问题在于,从做市商计算价格到交易被放入区块,中间会过去几秒钟。到执行时,价格已经过时。

更糟的是,内存池是公开的。任何人都可以看到待处理的 setPrice 交易,并用更高的 gas 费插入自己的兑换,在更新前以旧价格执行。每次报价更新都会遭遇典型的抢跑。

没有区块内交易排序的保证,在以太坊上的 prop AMM 是不可行的。这正是该模型诞生于 Solana 的原因:Solana 的区块每 400 毫秒一个,过时问题极小。

Titan 的解决方案:ACE

Titan Builder 是以太坊上最大的区块构建者之一,在 PBS 拍卖中按区块份额排名前三。他们专门为这个问题构建了应用控制执行机制。

做市商不通过公共内存池发送 setPrice。相反,他通过私有通道直接将价格更新流式传输给 Titan。当 Titan 构建区块时,它保证最新鲜的做市商报价会进入区块(而不是一秒钟前发送的那个),并且报价更新交易会放在任何吃单方针对该池的兑换之前。

因此,你得到原子级保证:在区块内,价格先更新,然后兑换执行。所有兑换都以区块构建时刻的最新价格执行,而不是吃单方发送交易时的价格。

重要的是要理解,这不是协议层面的保证,而是基础设施层面的保证。它只在 Titan 构建的区块中有效。在其他构建者的区块中,池子要么保留旧价格,要么通过新鲜度保护拒绝交易。

架构:

以太坊上的 prop AMM 实现为一组相互连接的合约,每个合约有自己的职责。这种分离是为了每个组件可以独立升级并在不同配置中重用。

Oracle(预言机)

存储来自做市商的当前报价。这是最简单的合约:存储中有两个数字——报价有效的区块号,以及价格本身。做市商每区块通过一个接受交易对标识符和新价格值的方法在此写入更新。

关键属性:报价仅在其设置的区块内有效。如果吃单方试图在没有新鲜更新的下一个区块中进行兑换,交易会回滚。这是对使用过时价格的一种防护。

Router(路由器)

吃单方和聚合器的入口点。接受带有参数(tokenIn, amountIn, tokenOut, minOut, recipient)的兑换调用,进行基本检查,并将执行委托给 Swapper。这是一个薄包装器——这里没有流动性或定价逻辑。

需要一个单独的 Router,这样就可以在同一个 Swapper 之上拥有具有不同逻辑(滑点保护、MEV 保护)的不同入口点。

Swapper(交换器)

主要兑换执行逻辑。该合约从 Oracle 读取报价并检查其新鲜度,根据兑换规模向 PriceAdjuster 请求价格调整,通过优先费进行反欺骗保护检查,并在吃单方和保险库之间转移代币。

Swapper 本身不持有流动性,它只协调吃单方和保险库合约之间的代币转账。

优先费保护值得单独提及。合约比较 tx.gasprice - block.basefee 与一个阈值。如果吃单方支付异常高的优先费,很可能是试图将自己的兑换插入到他人之前(抢跑或某种 MEV 操作)。在这种情况下,Swapper 输出为零:交易执行,但吃单方获得零代币。这是在合约层面针对高 gas 垃圾交易的防护,无需依赖 Titan。

PriceAdjuster(价格调整器)

根据兑换规模应用价格修正。Oracle 的基准价格是中间价,但吃单方的实际价格取决于他们想要兑换多少。小额兑换获得接近 Oracle 的价格;大额兑换则明显更不利。

做市商拥有一定量的流动性和固定的风险状况。不能用单一价格来保护大额兑换:要么对小额兑换过于慷慨,要么对大额兑换过于苛刻。曲线通过将防护分散到不同规模来解决这个问题。此外,从统计上看,大额兑换可能来自比做市商拥有更及时价格信息的交易者——曲线补偿了这一风险。

曲线参数在部署时设置一次,几乎从不更改——动态仅通过 Oracle 中的基准价格更新实现。上限保护也在这里:一个方向上通过池子的最大交易量。超过限制后,PriceAdjuster 返回零,池子在该侧暂时关闭,直到流动性得到补充。

Vault(保险库,使用 Safe)

所有流动性都存储在这里。实现为一个 Safe 钱包(@safe),一个标准的多签合约。Swapper 在兑换执行期间有权从 Safe 转移代币。

使用 Safe 让做市商对流动性进行多签控制,能够与其他 DeFi 协议集成(例如,将闲置资金存入借贷协议),以及拥有经过审计的资本管理基础设施。

兑换期间的调用流程

吃单方 → Router → Swapper → Oracle(读取报价) → PriceAdjuster(根据规模调整) → Safe(释放代币)

在 DeFi 格局中的位置

Prop AMM 并不是第一次尝试为专业做市商提供进入 DeFi 的通道。RFQ 机制(Hashflow、0x RFQ、Bebop)和基于意图的系统(CoW、1inch Fusion、UniswapX)已在以太坊上运行多年,它们也依赖专业做市商作为求解器。区别在于报价存储在哪里以及由谁来匹配。

在 RFQ 和意图系统中,报价是链下的。做市商按请求为特定交易签署报价,吃单方将签名连同兑换一起带到链上。这对于大型非标准兑换很方便,但与其他 DeFi 基础设施的组合性较差:你不能像普通 AMM 那样将这样的池子插入聚合器路由。

Prop AMM 将报价保留在链上的合约存储中。兑换像普通 AMM 兑换一样执行——无需链下往返,可以通过池组合进行路由,可以在套利捆中使用。基本上,这是同时获得 RFQ 的优势(最新价格、专业做市商)和经典 AMM 的可组合性的一种尝试。

对于吃单方来说,这意味着当你通过 KyberSwap 路由 WETH/USDC 兑换时,聚合器会模拟所有来源(Uniswap、Curve、prop AMM 池)的路由并选择最佳的一个。在这种情况下,Prop AMM 只是另一个具有特殊新鲜度保证的流动性来源,而不是一个需要你特意选择的单独产品。

在此基础上可以构建什么?

当前的模型在某种意义上是一个封闭式模型,即做市商自己持有所有库存。这适用于拥有自有资本的大型做市商,但留下了几个开放的扩展方向。

  • 与外部存款人共享池。 一个可以存入资本并获得做市商收入份额的池子。存款人获得收益,做市商获得更多用于报价的流动性。这里的主要问题是如何构建对做市商的信任以及如何分担库存风险。
  • 借贷支持的流动性。 资本存放在 Aave 或 Morpho 中,闲置时赚取借贷收益。在兑换发生时,提取所需金额用于执行,然后归还。资本双重运作——借贷收益加上兑换价差。
  • 多做市商池。 一个合约包含流动性,多个做市商竞争报价权。谁给出更好的价格谁就执行兑换。这将做市商之间的竞争引入系统本身,可能改善吃单方的执行。
  • 跨链 prop AMM。 目前整个模型绑定在一条链和一个构建者上。随着基于意图的跨链桥和共享排序的发展,有可能使用共享库存同时为多条链报价。
  • prop 交易场所之间的聚合。 一个元路由器,同时针对所有活跃的 prop AMM 进行报价,选择最佳价格,如果没有 prop 交易所能满足规模,则回退到被动 AMM。这基本上是为吃单方提供最佳执行,无需选择特定的做市商。这个变体已由 LambdaClass 实现——他们的 propamm-router-contracts 支持 Fermi、Kipseli 和 Bebop,并自动回退到 Uniswap V3。

每个方向都是独立的工程任务。有些接近实现,有些需要尚不存在的基础设施。但从根本上说,prop AMM 架构具有良好的可扩展性——它是一个基本原语,可以在此基础上构建许多不同的东西。

结论

Prop AMM 是一个链上交易场所,专业做市商用自有资金报价并自行管理库存。没有像 Uniswap 那样的定价曲线,没有像 Curve 那样来自众多 LP 的聚合流动性,也没有像 dYdX 那样的订单簿。

使该模型现在可行的是一系列汇聚的基础设施变化。构建者层已经足够成熟,可以提供交易排序保证。具有高频交易背景的专业做市商带着现成的定价引擎进入 DeFi。像 KyberSwap 这样的聚合器愿意集成新的流动性来源,如果它们能提供更好的执行。

LambdaClass 在 github.com/lambdaclass/propamm-router-contracts 开源了一个 prop AMM 流动性聚合器。它支持以太坊上所有三个活跃的 prop 交易场所,并自动回退到 Uniswap V3。对于想要了解如何集成 prop AMM 或在此基础上构建的开发者来说,这是一个很好的起点。

接下来会发生什么,我们将拭目以待。Tessera 已于 2025 年 11 月扩展到 Base。如果做市商们在经济上可行,我们可以预期 prop AMM 会出现在其他 EVM 链上,支持更多交易对,并与更多聚合器集成。在 Solana 上,该模型在两年内占据了约一半的 DEX 交易量。在以太坊上,这一进程才刚刚开始。

  • 原文链接: x.com/axdvdv/status/2063...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论