作者| @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 上的重要性為何?
- 核心观点:Prop AMMs在Solana成功但EVM受阻。
- 关键要素:
- Solana架构支持低成本高频更新。
- EVM写入成本高且无优先执行保障。
- 新设计通过快速通道解决EVM问题。
- 市场影响:提升EVM交易深度与定价竞争力。
- 时效性标注:中期影响


