原文作者:Biteye 核心貢獻者JoJonas
自Uniswap 推出V3 版本一年半有餘,其所提出的「聚合流動性」概念已被用戶習以為常。目前Uniswap 官網提供的分析數據中,V3 的TVL 約是V2 的3 倍以上,日交易量則在10 倍以上。
集中流動性使得用戶可以主動選擇其提供流動性的價格範圍,顯著提升了V3 的LP 資金效率,但其並未改變定義LP 的恆定乘積公式,也就是說,無常損失仍然存在,並隨著資金效率提升而相對放大;
用戶交易仍舊有滑點,易遭到三明治攻擊。從用戶角度,限價單是更為習慣、也更有利的交易方式,但V3 並沒有做到這一點。
Uniswap V3 實際上已經有了價格區間的概念,每個區間的流動性定義因該區間價格上下限不同而不同,如下:
由於LP 無法實時追踪市場價格變化,一旦價格超出所選區間,LP 對本身會變為單一幣種流動性,相對於現有市價是存在損失的。
在追踪市價一途,機構及專業投資者顯然更具優勢;而一份近期的數據分析指出,為Uniswap V3 提供流動性的投資者整體處於虧損狀態,手續費並沒有超過無常損失。
AMM 真的要xy=k 一條道走到黑嗎?筆者最近注意到一脈新的AMM 設計思路,在此分享。
iZUMi 的DL-AMM 模型
DL-AMM 模型源自iZUMi 產品矩陣中的iZiswap,其設計概念最早於2021 年11 月由iZUMi 的兩位co-founder 發表的論文中提出。
這篇論文是針對Uniswap V3 所存在的不足而提出的創新性算法,具有如下特徵:
1、離散集中流動性(Discretized Contentrated Liquidity)
DL-AMM 不使用恆定乘積公式,而是將流動性放在離散的不同價格點上,每一個價格點遵循恆定加和公式(x + y = L)。
無數離散的價格點相連,構成了完整的類似Uniswap 的AMM 價格曲線。同時,在放置區間流動性時,DL-AMM 通過新的「流動性」量化定義(L = x*√p + y/√p),將Uniswap V3 的積分求和轉化為等比求和,同樣能夠在常數時間內高效地完成。
2、限價流動性組(Grouped Limited Liquidity)
DL-AMM 中的流動性將分為兩類:LP 流動性,以及限價單流動性,前者同V3,後者是單向的,一旦越過目標價格,代幣將不會被換回,保留直至用戶「claim」。
如果組內流動性未完全越過目標價格,「claim」遵循先來後到的原則。傳統交易撮合引擎需要輪訓在一個價格點上的所有訂單,通過創新性的算法設計,DL-AMM 第一次能夠在常數時間內完成撮合,並且保證了時間正確性、公平性以及資金完全非託管的安全性。
與Uniswap V3 相比,iZUMi 所提出的DL-AMM 通過在不同離散價格點上應用恆定加和公式的方式來避免每一個價格點上的交易滑點,並且結合離散的價格點(以及基於此的流動性深度)來實現鏈上訂單簿的功能。後來者如traderjoe 的liquidity Bin 等均來源於DL-AMM 的設計。
DL-AMM 模型簡介, source: https://izumi.finance/paper/dswap.pdf
如圖為DL-AMM 所使用的恆定加和公式,不同的離散價格點對應著不同的(p, L),其LP 曲線(黃線)與Uniswap 所用藍線(恆定乘積公式,xy=k)最終區別見左圖。
可以看到,如果價格區間足夠密集,黃線可以無限趨近於藍線,此時二者在實際交易體驗與操作體驗上並無區別。
右圖則表示了DL-AMM 對限價訂單的支持。限價訂單將作為一種特殊的LP(單一幣種),和普通LP 一同提供流動性,這為iZiswap 帶來了Limit order 功能,是Uniswap 所無法達成的。
通過這幾點巧妙的改進,DL-AMM 拓展了Uniswap V3 在限價單功能上可發揮的潛力,提供了完整的鏈上訂單簿功能;而基於iZiswap DL-AMM 的鏈上訂單簿,能夠完美避開傳統思路所遇到的技術難題,為之提供了新的發展方向。
iZiswap 自2021 年5 月20 日推出,產品歷經不斷的迭代,目前全鏈的TVL 約94.7 M 美元。
iZUMi 推出的iZiSwap Pro,擁有點對池撮合(AMM 模式)的鏈上訂單簿功能;同時,零滑點、防MEV 的去中心化限價訂單也令人耳目一新。
iZiswap 已陸續在BNB chain/Arbitrum 等多鏈上線,自4 月21 日在ZkSync 上線後,短短三週時間,已成為ZkSync 上的TVL 最大的DEX。
iZiSwap 在ZkSync 上的數據
目前Near 上的Ref finance、Aurora 上的Arctic 均採用iZiswap 獨創的DL-AMM 解決方案,前者是Near 生態中最大的DEX,TVL 巔峰時期達到2.7 億美元。
Trader Joe 的Liquidity Book
Traderjoe 沿用DL-AMM 的做法,為LP 設置了多個離散的價格箱(Liquidity Bin),每個價格箱內的LP 同樣由恆定加和公式所定義(如下圖左)。
每個價格箱內的流動性由多個用戶提供。以c 作為價格箱內token Y 所佔比例,容易得出,僅當前市場價格所在價格箱c 在(0 , 1 )之間。
價格大於市價的價格箱,其流動性由token Y 構成(c= 0 );價格小於市價的價格箱,其流動性由token X 構成(c= 1 )。
至此,Liquidity Bin 的設計基本與DL-AMM 如出一轍,也即其同樣可以實現更低的滑點。
在其官網中,也向用戶提供了一些基於此的流動性添加策略,讓用戶可以自由搭配流動箱來實現自己的策略組合。
例如下圖中的「Bid-Ask」策略:
Liquidity Bin 為了進一步降低無常損失,設計了同價格波動率相關聯的交易費率機制。
其交易費除去與傳統機制相同的基本費用部分,還包含一個可變費用部分(公式如下)。
該部分費用與波動率累加器(v_a)呈二次關係(s 為價格箱長)。 v_a 用於衡量價格波動劇烈程度,如果短時間內價格波動過快,可變費用就會相應提升,以通過平穩波動降低IL,且在波動過低時吸引流動性。
Liquidity Book 可以看作是iZUMi 的DL-AMM 思路與動態費率的結合,其核心仍在於離散價格點恆定總和公式對全局恆定乘積公式的代替,但其目前並未支持Limit Order 的功能。
自Uniswap 面世以來,xy=k 似乎一直是AMM 領域的「聖經」,因其足夠簡單、也足夠有效。
由於xy=k 公式的不足,很多團隊逐漸開始探索新的可能性,iZUMi 提出的DL-AMM 模型,正是其中足夠實用與優美的一種。
它既可以支持原xy=k 模型的交易深度與體驗,又帶來了滑點與MEV 的降低,以及鏈上訂單簿等新功能。
相信之後會有更多基於DL-AMM 的創新,來為鏈上帶來更豐富的流動性添加策略,以及新應用(例如用戶無感的鏈上訂單簿)的出現鋪好技術基礎。
DL-AMM 會是未來嗎?讓我們拭目以待。