深入分析 SudoSwap 的獨特定價函數以及功能細節,最終從機制優缺來點評對交易市場發展的價值。
作者:十四君
NFT 交易市場的近期頹勢頻現,整個市場的流動性大幅降低,而此時 8 月異軍突起的 SudoSwap 則憑藉一超多強的增長數據,讓基於 AMM 機制的交易市場映入大眾視野。
基於鏈上數據分析截至 8.20 日,已有上千種 NFT 項目進駐,涉及 8.5W 個 NFT 的交易完成,累計 2000W 美金的交易量。
本文將從 NFT 交易市場的主流模式出發,通過還原 Uniswap 的經典恆積公式,來深入解說 SudoSwap 的獨特定價函數以及功能細節,最終從各點優缺來點評對交易市場發展的價值
本文 4500 字,閱讀需 7 分鐘
NFT 交易市場的主流模式
對交易市場的運作模型的分類依據 3 個核心方面:如何發布、如何競價、哪裡撮合成交
對此 3 方面的不同實現導致了其流量來源、運作成本、市場受眾對象的差異
類 Punk 的內置市場
大名鼎鼎的 CRYPTOPUNKS(加密朋克),其實內置了一個交易市場,集合了鏈上發布、鏈上競價、鏈上成單的各類機制,均在短短 230 行的合約內實現詳情可見:【合約解讀】CryptoPunk 世界上最早的去中心化 NFT 交易市場
同樣有項目內置的市場的項目還有:StepN、Axie Infinity、NBA Top Shot 等等
縱觀下來,其實實現成交不復雜,但每個環節上鍊非常不利於 NFT 核心的流動性問題,作為買方在賣家確定是否售賣之前就得鎖入資金,不限制等待期的情況讓 punk 的合約日常鎖定了 6400 個 ETH
而一個獨有藝術品應該被怎樣的價格銷售的定價問題,是需要合理的公開拍賣機制來協助撮合,每次出價先付 gas 的模式只能說在高淨值的 Punk 裡還能忽略,長尾 NFT 只能望塵莫及
頂級藍籌可能並不需要直接的交易流動性,因為大部分的忠實長期 Holder,想必未來頂級藍籌將會逐漸成為金融附屬品,應用在藉貸、租賃等市場,交易市場上可能是有價無市,無人掛單的情況。可拓展閱讀:
【源碼解讀】以太坊新標準 EIP-4907 是怎樣實現 NFT 租賃的?
所以作為早期市場,Punk 的機制探索有全環上鍊的高度信任優勢,也有限於流動性與定價的劣勢
類 OpneSea、X2Y2 的第三方市場
此類市場均為目前按交易總值計算下的龍頭,整體運作模式則是鏈下發布與撮合定價,鏈上成單
多種多樣的拍賣機制讓價格的合理性得到評估,而 Opensea 的新協議 Seaport 堪稱是時代最強合約設計之一,通過大量彙編優化將 gas 成本降低 30%,且各種訂單模式的靈活性拉滿,在 Seaport 開源開放的情況下,非常利於各類垂類項目(gamefi,創作版權等等)將交易能力內置
此類平台要說其劣勢,首要的是中心化程度太高,幾乎都需要用戶將 NFT 授權給平台的合約,甚至像 X2Y2 這種代碼充斥大量代理升級的設置,完全有瞬間變賣跑路的能力
其次定價的合理性還是來源於當前的關注度,對長尾 NFT 項目而言似乎總處於死亡螺旋中,開啟初期太依賴於項目方會不會來事,否則可能連白名單 mint 都會一級發售不完。而近期較火熱的 free mint 反而是對市場信心低迷的表現
小結
在 SudoSwap 之前,似乎 NFT 注定就不易流通,只能藉助於平台龐大的規模來實現點對點的交易,在這樣的情況下
突破口一是更有使用場景的 NFT,可以從提供基礎的應用價值來支撐市場價格。可拓展閱讀:NFT 租賃提案 EIP-5006 步入最後審核!讓海外大型遊戲的鏈改成為可能
其次是 SudoSwap 通過稱為 “官方池” 的 Based Ghouls Pool ,也為長尾 NFT 項目帶來方便 “做事” 的工具平台
為何他能幫助長尾實現農村包圍城市,拼多多大戰淘寶?讓我們從實現機制進一步拆分其發布、定價、成交來分析
下圖為截止 8.20 號 SudoSwap 的核心數據表現
如何理解 AMM 機制
同樣是發布、競價、成交 3 大維度,SudoSwap 是鏈上發布,鏈上依據 AMM 機制定價,鏈上成交,有較高的去中心化程度,賣給誰、多少錢由市場說了算
SudoSwap 的 AMM 機制其實並不復雜,雷同於 Uniswap AMM V3 ,其 k=x*y 的恆積函數一直是筆者認為的 Defi 中最優美的曲線
簡述 Uniswap 機制
在 Uniswap 任何人均可以創建一個流動性池,任由大家注入流動性,幫助成交的同時也賺取 LP 收益
每一筆交易都將改變下一筆兌換的價格,因此還有滑點的設計意為能夠接受成交價格滑動範圍,這點在 FT 的中相對好處理,因為 ERC20token 可以高度分割
咱們通過下圖來走一遍 Uniswap 的生命週期,來捋一遍 x*y =k 的公式
創建階段
如下圖左側,我想做 LP(流動性提供者),那同時得給出希望構成交易對的 Atoken 和 Btoken 轉入合約,每當流動性存入池中時,都會鑄造出流動性代幣給我(LP),獲得量的計算方式依據提供的量佔總池子量比例,這些代幣就代表 LP 對資金池的貢獻,LP 可以獲取到別人交易過程 0.03% 作為手續費分紅
兌換階段
如下圖右側,構建池後當任一代幣被提取(購買)時,必須按” 比例” 存入(出售)另一個代幣,以保持總量的不變,這個比例就是在 K 也等於是 X 和 Y 的兌換率了
K 這個值雖然是理論恆定值,但是每一筆交易都會產生手續費,意味著其實在 tokenAB 的兌換過程 K 都會逐步增加緩慢上升
如下圖,當已有 ABtoken 的交易對:Atoken-1200 個,Btoken-400 個則當前兌換率為 3
則我通過向合約內轉入 3 個 TokenA,並且額外支付手續費,在兌換後智能合約會給我 TokenB 1 個
這時由於整個系統的 Token 池子總量變化了,導致新的兌換率變化成 3.015
由於價格完全取決於鏈上合約實時計算邏輯,交易對的價格只能通過交易來改變,因此一旦 Uniswap 價格與外部價格有背離就會創造了套利機會,這種機制確保 Uniswap 價格始終趨向於市場價格。
筆者非常喜歡這種邏輯,讓套利者幫系統變得更好且能盈利,可拓展閱讀:
一文講清-DeFI 王者 AAVE 最新的穩定幣 GHO 提案
SudoSwap 的 AMM 機制原理
其實和 UniSwap 類似,SudoAMM 把 NFT 充當為 TokenA,把 ETH 充當為 TokenB,允許用戶在 SudoAMM 上對 NFT-ETH 在指定價格內做市。對於買賣雙方而言,通過池子可以實現即時買賣的目的。
其計算公式由於 NFT 不可分割,所以不能直接以 k=X*Y 計量(否則必然有一方剩餘),所以 SudoSwap 設計了 SudoAMM,提供了線性和指數兩種定價函數
線性定價函數(Linear Curve)
在計算曲線程序 LinearCurve.sol
中,新價格是依據梯度累加製計算的
假設 delta 值是 0.1,意味著每次買入(或賣出)都會將價格加上(或者減去)0.1 ETH。
平時(1E)→買入(1.1E)→買入(1.2E)→賣出 (1.1E),由此類推
// 线性函数是累加制
function getBuyInfo(uint128 delta,**若干参数){
// 新价格是,每件购买的商品的现货价格 加上 delta
uint256 newSpotPrice_ = spotPrice + delta * numItems;
**若干代码**
}
指數定價函數(Exponential Curve)
在計算曲線程序-ExponentialCurve.sol
中,是依據購買次數來每次累乘增加
假設 delta 值是 1.1,意味著每次買入(或賣出)都會將價格乘以(或者除以)1.1 倍。
平時 (1E)→買入 4 次 (1.46E)→賣出 3 次 (1.1E)→賣出 3 次 (0.75E),由此類推
// 指数函数是累乘制
function getBuyInfo(uint128 delta,**若干参数){
// 新价格是,每件购买的商品的现货价格 乘以 delta
uint256 newSpotPrice_ = uint256(spotPrice).fmul(
deltaPowN,
FixedPointMathLib.WAD
);
} **若干代码**
創建流動性池的 LP 權利有多大?
創建流動性池使用的是 LSSVMPairFactory.sol 程序中的 createPairETH 函數方法,非常誇張的是,對比 uniswap 他可以設置的核心參數很多,執行創建會採用 EIP-1167 的標準,也部署一個 mini proxy 合約,可以說即有獨立合約的安全性(資產存於新部署的合約地址),LP 有超級管理員權限,對定價函數,增量閾值,初始費用,全局手續費均可以控制
function createPairETH(
IERC721 _nft,
ICurve _bondingCurve,// 对 NFT 定价的联合曲线
address payable _assetRecipient,
LSSVMPair.PoolType _poolType,
uint128 _delta,// 定价曲线使用的增量值。
uint96 _fee,// 在每笔交易中收取的手续费
uint128 _spotPrice,// 初始销售现货的价格
uint256[] calldata _initialNFTIDs
) external payable returns (LSSVMPairETH pair) {
問題 1:同時購買多個怎麼算?會則逐個結算(按線性算)
(買入現貨價格) + (買入現貨價格+ 1 delta) + (買入現貨價格+ 2 delta) + ... + (買入現貨價格+ (n-1) delta),所以這等於是 n (買入現貨價格) + (delta) (n (n-1))/2
問題 2:買的 NFT 是哪個?會由用戶指定的池子中的任意 NFT
通過對以太坊上合約地址調用方法的審查,可以發現將 ETH 交換 NFT 的操作為:0x11132000
对应合约方法
swapETHForSpecificNFTs
需要 4 個參數
swapList
要交易的 token 列表以及要對應購買的 NFT ID。Recipient
將接收未使用的 ETH 輸入的地址nftRecipient
接收 NFT 輸出的地址deadline
時間戳,超時則訂單不執行
由此可見,稀有度的概念在這被磨平了,因為定價與稀有度無關了。
除了在 AMM 機制外,還有 2 個額外功能或者說是限制
1:每個流動性池只能有一個 LP,多數是項目方自己。
2:限價單功能,用戶在存入 NFT 時就可以設定地板價等待成交。
參與者的權利至少不會低於自己理性價格成交,等同於 OpenSea 掛單
總結-SudoSwap 的亮點
從功能出發
Sudoswap 有強大的「即時定價」優勢,市場撮合瞬間定價,通過套利者尋找合適價格。回憶下 Uniswap 的崛起歷史,就是因為作為它新物種解決了中小項目方發幣的難題,實現農村包圍城市成為龍頭。
從場景出發
對於長尾的 NFT 中會有奇效,如今 NFT 只有 2 大種藍籌和其他,對於 punk、猴子、azuki 而言流動性不是核心問題,原因在前文 punk 部分解釋了。對於 “其他”,則稀有度的差分其實並不大,反而極度依賴流動性,定價的快捷優勢+官方池的推出,基本等同於股票回購機制,幫助項目方會做事。
從機制出發
誒,並不是 AMM 機制,而是 LP 機制反而讓我驚喜,AMM 讓賣家可以立馬賣出獲得即時流動性,而 LP 完全掌控資金池的定價(從價格函數到 delta 值都可自定義,而且還可以隨時調整參數)。
這像什麼?擺攤開店呀,是平台化而非大商超,項目方自己不僅可以有交易場地,更有控制的能力,不是 opensea 那種讀鏈上地址從而中心撮合,項目方自己可以依據項目發展週期,控制是否回購,漲跌價幅度,意味著權利回歸用戶,在機制上與收費上(項目方也算用戶)。
而 Lp 的收入也能頂替版稅,為項目方帶來多元化收入平衡
按手續費排序:Punk(0%) < SudoSwap ≤ X2Y2(0.5%) < Looksrare(2%) < OS(2.5%)
從代碼出發
優美的代碼,總是讓十四這樣的技術型行業獨立研究者感受舒適,而 sudoswap 代碼的設計有了不少優化點,整體實現成交的 GAS 費用屬於行業一流水平,單 NFT 購買僅需 14WGAS,多筆成交也優於 os,x2y2 等。
按成交 GAS 排序:Punk < SudoSwap < opensea < GEM < Genie < X2Y2 < Looksrare
項目整體有 2 家審計公司背書,雖然審出一堆風險問題,但幾乎不威脅到核心機制。筆者整理了相關資料(源碼審計報告)可通過公眾號後回复”sudoswap” 獲取。
最終
通過梳理本文邏輯,確實,sudoswap 的異軍突起是有一定市場價值的
其 AMM 機制引入 NFT 做市商天然的可以用金融的玩法來量化套利,只要流動性池子大了後隨買隨賣便能為 NFT 的價格形成支撐,進一步延伸到 NFT 租賃借貸等場景,立足於幫助長尾項目成功,高度吻合當年 Uniswap 的發家史,未來有可能成長為一個真正的協議。
但是,其 sudoswap 也失去了稀有度的差異,同一系列的 NFT 的價值都是趨同的,NFT 又演變成了另一種意義上的 FT,因此,sudoswap 也場景有局限,只能適用於部分偏長尾的項目,或者同質化較高的應用型 NFT。
看~~
同質化高、長尾、數量眾多,是不是每一個詞都完全匹配 Gamefi 中的 NFT?沒錯,好的遊戲生態裡屠龍刀是必要的,而樹枝長劍也是必要的。
筆者認為完全上鍊的 sudoswap 雖然只支持 721,但未來將會是眾多 GameFi 或者創作者經濟中優質交易市場模型。易於項目方做事,易於創作者傳播,更易於低價高數量的商品通過 AMM 尋找到合理價格。
後續筆者將繼續研究 OpenSea,X2Y2,Looksrare,Gem 等頭部 NFT 市場平台,從合約出發,看其優勢與局限性,有興趣的看官,速速點贊關注,後續跟進吧~
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。