Solana生態AMM機制全解:CPMM、CLMM和DLMM的原理與優劣

Solana生態的自動做市商機制探究

在Web3行業中,去中心化金融(DeFi)相關產品佔據了主導地位。其中,自動做市商(AMM)作爲核心組成部分,是推動Web3金融創新的關鍵力量。本文將介紹Solana生態系統中幾個重要的AMM實現,希望能爲流動性提供者(LP)選擇投資策略提供一些參考。

Solana生態AMM調研:高流動性背後的底層代碼

恆定乘積做市商(CPMM)

恆定乘積做市商是最基本的AMM實現方式之一。以Solana生態中的某交易平台爲例,其CPMM遵循池子中兩種代幣供應量乘積恆定的原則:X * Y = k。

當用戶向池子添加流動性時,CPMM會自動爲用戶創建關聯帳戶並發放LP代幣,用於證明用戶在該池子中的份額佔比。這些LP代幣在用戶提取流動性時會被銷毀。

CPMM的鏈上程序使用Anchor開發。當用戶通過CPMM交換代幣時,會觸發swap相關指令。例如,用戶用USDC交換TRUMP時,可以通過TRUMP-USDC交易對進行。

Solana生態AMM調研:高流動性背後的底層代碼

在Solana生態中,LP交易對可以簡單地用Token Account表示,無需像以太坊那樣部署新的合約。交易時直接與CPMM程序交互,程序通過傳入的池子地址、代幣地址等來修改相應Token Account的狀態,完成swap操作。

CPMM的核心邏輯是保持代幣總量變化前後的乘積不變。通過數學推導,可以得到交換得到的目標代幣數量的計算公式:Δy = (Δx * y) / (x + Δx)。這個計算不包含手續費,因爲手續費會在前置邏輯中扣除。

Solana生態AMM調研:高流動性背後的底層代碼

集中流動性做市商(CLMM)

集中流動性做市商是另一種AMM實現,類似於以太坊上的某DEX V3。每個代幣對可以有多個費率層級,分別創建對應的池子。

CLMM允許LP在注入資金時選擇一個價格範圍,資金只在該範圍內分布。這種機制提高了資金利用率,但也對LP的風險管理能力提出了更高要求。

對於波動較小的池子,LP傾向於選擇較窄的價格範圍;對於波動劇烈的池子,則傾向於選擇較寬的範圍。這樣可以減少因價格脫離選定範圍而造成的無常損失。

Solana生態AMM調研:高流動性背後的底層代碼

需要注意的是,雖然集中流動性可以提高資金效率,但也要求LP更積極地管理自己的頭寸。如果應對不當,頻繁的市場波動可能導致嚴重的無常損失。

Solana生態AMM調研:高流動性背後的底層代碼

動態流動性做市商(DLMM)

動態流動性做市商是Solana生態中的另一種創新AMM實現。它引入了"Bin"的概念,將價格空間劃分爲一系列區間。在同一個Bin內的交易可以享受零滑點,這有利於提高交易量和成功率。

DLMM中的代幣同樣在當前價格兩側分布,但當前激活的Bin中存在兩種代幣。其他Bin則分別只包含單一代幣。當激活Bin中某種代幣減少爲零時,DLMM會自動將激活狀態轉移到相鄰的Bin,從而推動價格變化。

Solana生態AMM調研:高流動性背後的底層代碼

DLMM爲LP提供了三種策略:Spot、Curve和Bid Ask。Spot策略適用於大多數池子;Curve策略適合價格波動小的穩定幣對;Bid Ask策略則更適合波動劇烈的交易對,但需要LP頻繁調整倉位。

Solana生態AMM調研:高流動性背後的底層代碼

總結

作爲Web3金融的重要組成部分,AMM通過其獨特機制推動了去中心化金融的發展。隨着技術進步和生態完善,AMM有望在未來發揮更大作用,進一步改變傳統金融格局。不同的AMM實現各有特點,LP在選擇時需要根據自身風險偏好和管理能力做出合適的選擇。

Solana生態AMM調研:高流動性背後的底層代碼

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
跨链深呼吸vip
· 10小時前
就这还用探究啥..sol生态不都这么搞
回復0
gas费省钱大师vip
· 10小時前
又贵又慢凉凉咯
回復0
gas费烧烤摊vip
· 10小時前
掉进defi的坑了吧咯
回復0
MeaninglessGweivip
· 10小時前
sol还挺好玩的!
回復0
咖啡厅矿工vip
· 10小時前
又是讲啥子公式的 睡着了嘛
回復0
DeFi宝典vip
· 11小時前
深入分析TVL数据:CPMM仓位占比72.4%,但存在无常损失问题
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)