昨天談穩定幣:它是加密世界的「數位美元」,也是幾乎所有交易對的計價基礎。但有了穩定幣,這些幣在鏈上到底怎麼「換手」?中心化交易所(CEX)像幣安,靠的是傳統的訂單簿與造市商撮合;而去中心化交易所(DEX)如 Uniswap,把整套交易搬進智能合約,沒有掛單、沒有對手方,只有一池資金和一條數學公式。這套機制叫自動做市商(AMM),是過去五年 DeFi 最重要的發明之一——它讓「任何人都能在無許可下創建市場並提供流動性」變成現實,也帶來了無常損失、滑價、三明治攻擊這些全新的名詞。今天就把 DEX 與 AMM 拆開來看清楚。
📖 學
從訂單簿到資金池:CEX 與 DEX 的根本差異
傳統交易所(無論股市或幣安這類 CEX)用的是「訂單簿(order book)」模式:買方掛出願意買的價與量、賣方掛出願意賣的價與量,系統把價格相符的單子撮合成交。這套機制精準、資本效率高,但需要專業造市商持續掛單維持流動性,且掛單、撮合、清算都在交易所的中心化伺服器裡完成——你的資產也託管在交易所手上。
DEX 走的是完全不同的路。它把交易邏輯寫進以太坊等鏈上的智能合約,使用者用自己的錢包直接與合約互動,資產全程自己保管(non-custodial),不必註冊、不需 KYC、也沒有中間人可以凍結你的資金。問題是:鏈上要維護一份即時撮合的訂單簿又慢又貴(每筆掛單、撤單都是一筆交易、都要付 Gas)。於是 Uniswap 在 2018 年提出了另一種思路——不要訂單簿了,改用一池資金加一條公式來自動報價。這就是自動做市商(AMM)。
AMM 核心:恆定乘積 x × y = k
AMM 最經典的公式是 Uniswap V2 的「恆定乘積(constant product)」。想像一個 ETH/USDC 的流動性池,裡面有 x 顆 ETH 和 y 枚 USDC,合約要求兩者的乘積永遠等於一個常數 k:
x × y = k
任何人都能把等值的兩種代幣存進池子成為流動性提供者(Liquidity Provider, LP),並拿到代表池子份額的 LP 代幣;提領時再憑 LP 代幣贖回對應比例的資產。交易時,價格不是由誰掛單決定,而是由這條曲線決定:當你用 USDC 買 ETH,池裡的 ETH 減少、USDC 增加,為了維持 k 不變,你買得越多、換到的每一顆 ETH 就越貴。此刻的價格 = USDC 儲備 ÷ ETH 儲備。這帶來一個關鍵特性:池子永遠有流動性、永遠能成交(只是價格會滑動),不會像訂單簿那樣「無人掛單就掛掉」。作為報酬,交易者每筆交易付出的手續費(V2 固定 0.3%)會回饋給 LP,這就是 LP 的收益來源。
滑價與價格衝擊:為什麼大單不划算
因為報價沿著曲線走,你的單越大,價格被你自己推動得越多,這叫價格衝擊(price impact)。而你「預期成交價」與「實際成交均價」之間的差距,就是滑價(slippage)。池子越淺(流動性越少),同樣金額造成的滑價越大;池子越深,價格越穩。
實務上,錢包會讓你設定「滑價容忍度」(例如 0.5%),成交價若比預期差超過這個門檻,交易就自動失敗、退回——這是最基本的滑價保護,避免你在薄池或劇烈波動時被吃掉一大塊。想搬一大筆資金時,把大單拆成多筆小單、或走聚合器(DEX aggregator)分散到多個池,都是降低價格衝擊的常見做法。
無常損失(impermanent loss):LP 最容易誤解的風險
無常損失是 AMM 最反直覺、也最重要的概念:當池中兩種資產的相對價格偏離你存入時的比例,你贖回時的總價值,會低於「當初什麼都不做、單純把幣拿在手上(HODL)」的價值,這個差額就是無常損失。
用一個具體例子。假設 ETH=1,000 美元時,你存入 1 顆 ETH + 1,000 枚 USDC(共 2,000 美元),此時 k = 1 × 1,000 = 1,000。接著 ETH 外部市場漲到 2,000 美元。套利者會不斷向池子買便宜的 ETH,直到池內價格也等於 2,000。維持 x × y = 1,000 且價格(y÷x)= 2,000,可解出池子剩下約 0.707 顆 ETH 與 1,414 枚 USDC。此時你的部位價值 = 0.707 × 2,000 + 1,414 ≈ 2,828 美元。但如果你當初什麼都沒做,1 顆 ETH(2,000)+ 1,000 USDC = 3,000 美元。中間少掉的約 172 美元(約 5.7%),就是無常損失。
它的成因很清楚:AMM 的公式會在資產上漲時「自動幫你賣掉一部分」、下跌時「自動幫你買進更多」,永遠站在趨勢的反向。只要價格偏離就會產生帳面損失,價格若回到原點,損失就消失——所以叫「無常(impermanent)」;但你一旦在偏離狀態下提領,它就變成真實虧損。LP 真正的算盤是:賺到的手續費,能不能覆蓋無常損失? 高波動的幣種無常損失大,手續費未必補得回;而兩種價格高度相關的資產(如兩種穩定幣)幾乎不會偏離,無常損失極小,是相對安全的做市選擇。
套利者與預言機:誰讓池價貼著市場價
你可能會問:池子價格只由公式決定,那它怎麼知道 ETH 現在真實值多少?答案是——它不知道,也不需要知道。當池價偏離外部市場(如 CEX)價格,就出現套利空間,套利者會低買高賣把價差抹平,順勢把池價推回與市場一致。套利者看似占便宜,實則是維持 AMM 報價正確的必要力量,代價正好由 LP 以無常損失的形式承擔。
也因為池價會被套利拉回市場價,Uniswap 這類 AMM 本身就能當作鏈上「預言機(oracle)」——把一段時間的價格加權平均(TWAP,時間加權平均價),提供給其他 DeFi 協議參考。不過單一池子的即時價格容易被大額交易瞬間扭曲,所以嚴謹的協議通常採用 TWAP 或串接 Chainlink 等專業預言機,避免被人為操縱價格來攻擊借貸清算。
演進:V3 集中流動性、V4 hooks、Curve 與 Balancer
恆定乘積曲線把流動性均勻鋪在「零到無限大」的所有價格上,資本效率其實很差——大部分資金其實用不到。DEX 的演進主軸就是「讓每一塊錢更有效率」。
Uniswap V3(2021):集中流動性(concentrated liquidity)。 LP 可以只把資金投在自選的價格區間(例如 ETH 只做 1,800~2,200 這一段),在該區間內提供比 V2 深上數十倍的流動性、賺更多手續費;代價是價格一旦走出你設定的區間,你的部位會全數轉成單一資產、且不再賺手續費,等於要更主動管理。
Uniswap V4(2026 Q1 上主網):hooks(掛鉤)。 這是架構級變革,三大重點:singleton 單一合約管理所有池子、flash accounting 在交易結束時才結算淨額(大幅省 Gas),以及 hooks——允許開發者在交易、加減流動性等生命週期的節點插入自訂邏輯,例如動態手續費、鏈上限價單、把 MEV 收益回饋給 LP、甚至自訂預言機,全部不必分叉原始碼。DEX 從「固定產品」進化成「可組裝的平台」。
Curve:為穩定幣量身打造的 stableswap 曲線。 兩種穩定幣理應永遠 1:1,用恆定乘積來換 USDC↔USDT 會白白吃掉滑價。Curve 的 StableSwap 把「恆定和(x+y=k,零滑價但會被抽乾)」與「恆定乘積(永遠有流動性)」融合:在價格接近 1:1 時曲線幾乎是平的、滑價極低,只有在池子嚴重失衡時才回到恆定乘積的行為。這讓 Curve 成為穩定幣與同類錨定資產(如各種質押 ETH)交易的基礎設施,也正好承接了昨天穩定幣的主題。Balancer 則走另一個方向:允許一個池裝進最多 8 種資產、且權重可自訂(如 80/20),本質是恆定乘積的加權推廣,可當自動再平衡的指數型資金池。
黑暗面:MEV、三明治攻擊與搶跑
DEX 交易在上鏈確認前,會先進到公開的「記憶池(mempool)」等待打包——這等於把你的交易意圖攤在所有人面前。這催生了 MEV(Maximal Extractable Value,最大可提取價值):礦工/驗證者或搶跑機器人透過「排序交易」牟利。最典型的是三明治攻擊(sandwich attack):機器人看到你要用大單買某代幣,就搶在你前面先買一筆(把價格推高)、讓你以更差的價格成交,再緊接著在你後面賣出獲利——你被夾在中間,多付的價差就成了它的利潤。
防禦手段包括:設定較嚴的滑價容忍度、走私有交易通道/MEV 保護 RPC(如 Flashbots Protect,讓交易不經公開 mempool)、使用具內建保護的聚合器,以及前面提到的 V4 hooks 讓協議層直接把 MEV 收益還給 LP。這些也是理解「為什麼鏈上交易不只是把 CEX 搬上鏈」的關鍵。
🧠 記
- CEX 用訂單簿撮合、資產託管在交易所;DEX 把交易寫進智能合約,用戶自管資產、無需許可,靠 AMM 取代訂單簿。
- AMM 核心=恆定乘積 x × y = k(Uniswap V2):報價由公式決定,池子永遠能成交,LP 存入雙邊資產賺手續費(V2 為 0.3%)。
- 滑價/價格衝擊:單越大越把價格推偏;池越深越穩。錢包的滑價容忍度是最基本的保護,大單宜拆單或走聚合器。
- 無常損失=相對價格偏離時,做 LP 的價值低於單純持有的差額。例:ETH 從 1,000 漲到 2,000,LP 約 2,828 美元 vs 持有 3,000,損失約 5.7%。價格回到原點就消失,提領才變真實虧損。
- 套利者把池價拉回市場價(代價由 LP 以無常損失承擔);AMM 可透過 TWAP 當預言機,但單池即時價易被操縱。
- 演進:V3 集中流動性提升資本效率、V4 hooks 讓池子可插自訂邏輯;Curve stableswap 專為穩定幣低滑價、Balancer 支援多資產加權池。
- MEV/三明治攻擊:交易在公開 mempool 被搶跑;防禦靠嚴設滑價、MEV 保護 RPC(如 Flashbots Protect)、聚合器與協議層機制。
✍️ 實踐
打開 Uniswap 的介面(app.uniswap.org,只看不用真的交易),挑一個你熟悉的交易對如 ETH/USDC,試著做一次「不下單的體檢」:先輸入一筆很小的金額(如 50 美元),記下畫面顯示的匯率、價格衝擊與最低成交量;再把金額改成很大(如 50 萬美元),觀察價格衝擊如何從近乎零跳到好幾個百分點——這就是滑價與流動性深度的關係,你會直觀感受到「同一個池子,大單和小單根本不是同一個價」。
第二步,找一個線上的「無常損失計算器」(搜尋 impermanent loss calculator),輸入兩種資產的初始價格與變動後價格,觀察當一邊漲 2 倍、5 倍、甚至一邊歸零時,無常損失各是多少。做完你會建立一個核心直覺:做 LP 賺的是手續費,賠的是波動;只有當手續費收入 > 無常損失時,提供流動性才划算——這也是為什麼穩定幣對是最受歡迎的做市標的。
🔗 延伸學習
- What is Impermanent Loss? — Uniswap Labs:官方對無常損失的說明,理解成因與 LP 的取捨。
- Concentrated Liquidity — Uniswap Developers:V3 集中流動性的官方文件,看資本效率如何被大幅提升。
- 什麼是去中心化交易所 (DEX)? — Binance Academy(繁中):繁體中文入門,快速掌握 DEX 與 AMM 的全貌。
- Curve StableSwap Exchange: Overview — Curve 官方文件:stableswap 曲線如何為穩定幣做到低滑價的技術說明。
💬 問 AI
想把 AMM 的數學與風險真正嚼透,把下面的 prompt 丟給 AI,讓它用一個可算的例子帶你走一遍:
我想徹底搞懂 AMM 的運作與無常損失。請用具體數字帶我推演,不要只講定義:
1. 先用一個 ETH/USDC 池(起始 ETH=2,000 美元,我存入 1 顆 ETH + 2,000 USDC)為例,
說明恆定乘積 x*y=k 怎麼決定價格,並示範我用 USDC 買 0.1 顆 ETH 時的成交均價與價格衝擊。
2. 接著讓 ETH 分別漲到 3,000、4,000 與跌到 1,000 美元,各算出套利後池內的資產組成、
我的 LP 部位價值、以及相對「單純持有」的無常損失百分比,列成一張表。
3. 假設這段期間手續費收入是本金的 3%,判斷每個情境下做 LP 到底划不划算。
4. 最後比較:同樣的錢改放在 Uniswap V3 的窄區間、或 Curve 的穩定幣池,風險與收益會怎麼不同?
用我能懂的白話總結「什麼時候該做 LP、什麼時候不該」。