為何Solana上滿是Prop AMM,但在EVM上仍是空白?
深度解析 Prop AMM(專業自動做市商)的技術障礙與 EVM 挑戰。
原文標題:Must-Watch dApps After Monad Mainnet Launch
原文作者:Optimus,Waterloo Blockchain 創辦人
原文編譯:叮為什麼它們還沒出現在 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 的關鍵在於——它始終等於一個可變的不變量,而這個價格來調整這個商業曲線。
複習: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
這裡的關鍵點,github
這裡的關鍵點,github
這裡的關鍵點,透過少量價格來修改。這正是 Prop AMM 的核心價值主張──它讓做市商能以更高的資本與運算效率,提供動態且深度的流動性。
為什麼 Solana 的架構非常適合 Prop AMM?
Prop AMM 是一種「主動管理型」系統,這意味著它需要兩個關鍵條件:
1. 更新成本低(cheap updates)
執行權execution)
在 Solana 上,這兩者是相輔相成的:低成本更新往往意味著更新能獲得執行優先權。
為什麼做市商需要這兩點?首先,他們會根據庫存變化或資產指數價格(例如中心化交易所價格)的波動,以區塊鏈運行速度不斷更新價格曲線。 在像 Solana 這樣高頻鏈上,如果更新成本過高,將難以實現高頻調整。
其次,若做市商無法讓更新排在區塊頂部,他們的舊報價就會被套利者「抄走」,造成必然的虧損。 如果缺少這兩個特性,做市商就無法有效率地操作,使用者也會獲得更差的交易價格。
以 Solana 上的 Prop AMM HumidiFi 為例,根據 @SliceAnalytics 數據,該做市商每秒更新報價高達 74 次。

來自 EVM 的玩家可能會問:「Solana 的 slot(插槽)大約 400ms,Prop AMM 怎麼能在單一 slot 內多次更新價格的連續架構,它本質上不同於 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 + 寫鎖 4pter Swap 的 Compute Units,可見更新極度廉價,比例達 1:1000。
Prop AMM 更新:簡單曲線更新極便宜。 Wintermute 的更新低至 109 CU,總費用僅 0.000007506 SOL

Jupiter Swapter: 0.000005 SOL

由於這種巨大的差異,做市商只需為更新交易交易支付極小的費用,就能實現遠高於交換的 Fee/區塊做市商只需為更新交易支付極小的費用,就能實現遠高於交換的 Fee/區塊做市場保證在設備上受到保護,從而保護自己。
為什麼 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 gas
· SSTORE(非 0) gas
· SSTORE(非 0) gas
· 典型 AMM swap:~200,000–300,000 gas
注意:EVM 上的 Gas 類似於 Solana 上的計算單元(CU)。上面的 SSTORE gas 數字是假設每個交易僅有一次寫入(冷寫入),這是合理的,因為通常不會在一次交易中發送多次更新。
雖然更新仍比交換便宜,但 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 或中心化交易所才能獲得的競爭性報價。
要讓 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 約在企業交換時從全域報價
這種架構巧妙解決了兩個問題:
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 上的重要性為何?
免責聲明:文章中的所有內容僅代表作者的觀點,與本平台無關。用戶不應以本文作為投資決策的參考。
您也可能喜歡
ETF 資金外流和 CPI 預期中的以太坊價格預測

比特幣價格預測:BTC 收復 111 萬美元,顯示出復甦跡象

在成交量激增的情況下,Succinct (PROVE) 價格有望達到 1.74 美元的峰值

比特幣的機構飆升擴大了與山寨幣的萬億美元差距





