免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。
小編:記得關注哦
來源:以太坊愛好者
原文標題:DEX 聚合器只是固定化模式?從調整後價格等方面入手分析五大項目
最佳報價並不一定是最佳調整後價格,就像買機票一樣,可能還有一堆後續費用和成本。
延伸閲讀:《DeFi 獨角獸 1inch 的正滑點收入模式是利是弊?為何有人喜歡有人恨?》
《鏈聞精選好文|讀懂風頭漸盛的 DeFi 聚合器》
原文標題:《引介 | DEX 聚合器性能全面分析》
撰文:Fulvia
翻譯 & 校對:閔敏 & 阿劍
太長不看- 在 70% 的情況下,0x API 所提供的調整後價格優於 1inch、Dex Ag、Paraswap 和 Uniswap。所謂的調整後價格,就是支付完交易費後的價格。
- 0x API 1.0 在 gas 效率上處於市場領先地位。0x API 提供一個經過高度優化的自定義架構。因此,用户通過該 API 訪問 Uniswap 流動性的成本與直接訪問 Uniswap 一樣低,甚至更低。
- 聚合器通過承諾讓用户獲得整個生態的最佳報價,來消除用户在選擇交易平台時的心理障礙。然而,並非所有聚合器都相同:它們在定價、報價準確性、gas 使用量、回滾率(revert rate)和響應時間方面有不同程度的區別。
- 最佳報價並不一定是最佳調整後價格。就像買機票一樣,可能還有一堆後續費用 / 成本。雖然基礎票價可能很便宜,但是當你把所有附加費用(行李費、優先登機費、指定座位費等)算進來後,實際費用可能會很高。
- 0x API 和 Matcha (後台使用了 0x API)是 0x Labs 推出的兩款產品,可以 讓 DeFi 開發者和交易者輕而易舉地以所有 DEX 流動性來源中的最佳價格買賣資產。
過去幾周湧現出了大量新的流動性來源。有超過 40 億美元的資金分佈在 15 個來源上,而且每週還會有新的來源出現。因此,DEX 流動性變得比以往更加分散,讓 DeFi 用户更難為特定交易找到最佳價格。
這就推動了聚合器的崛起。過去 12 個月以來,聚合器取得了巨大發展,其交易量在第三季度佔總交易量的 9.6% 左右。但是,人們對聚合器有點誤解。例如,雖然報價通常被當作是比較聚合器性能的唯一指標,但是人們時常會遇到一些聚合器報價 100 美元卻以 90 美元結算的情況。報價並非實際的結算價格。這就引出了一個問題:究竟什麼才是衡量聚合器性能的正確指標?
本文旨在揭示聚合器行業的現狀以及如何客觀衡量並比較聚合器的性能。
調整後價格——比較聚合器的黃金指標我們認為要構建一個高性能的專業級聚合器,必須遵循以下原則:
1.準確性:聚合器應該具備準確性,即,結算價格應等於報價。輕微的差異是可以接受的,因為交易提交的時間與交易在鏈上確認的時間之間往往存在市場波動。然而,在其它所有條件不變的情況下,報價越準確的聚合器越好。所見即所得。
2.低成本:鏈上執行的操作越多,gas 使用量即越多,進而導致 gas 成本越高。聚合器的目標應該是儘可能降低成本,以確保用户獲得最佳成交價格。聚合器應該適應當前 gas 價格市場,並相應調整路徑。在 gas 上花的每一分錢都應該為用户帶來更多價值。
3.低迴滾率:為了保護用户,聚合器必須將任意大小交易的回滾率控制在較低範圍內。如果遇上交易失敗的情況,用户會感到非常沮喪,因為 gas 費已經付過了。
最後,我們將上述原則總結成一個黃金指標:調整後價格。
雖然我們單獨分析了上述指標,但是本文主要聚焦於調整後價格。調整後價格指的是當交易在鏈上完成時,用户支付完交易成本(gas 費和手續費)後的價格。其計算公式如下所示:
調整後價格 = 已賣出資產的美元價值 /(已買入資產的美元價值 - 交易成本的美元價值)
我相信,這個指標更適合用來比較聚合器,因為這是用户最終影響用户收益的價格。讓我們來看一個例子:
某用户想要花 100 DAI 來買入 USDC。聚合器 1 的報價是 100 USDC,交易成本為 5 美元。根據上述公式,我們可以得出調整後價格 = 100/(100 - 5)= 1.05 美元。
再看另一個聚合器。同樣的 100 DAI,聚合器 2 的報價是 104 USDC,但是交易成本為 10 美元。在這種情況下,調整後價格 = 100/(104 - 10)= 1.06 美元。
在上述例子中,聚合器 1 找出了一個更便宜的價格。雖然聚合器 2 的報價更高,但是我們可以看出交易成本對調整後價格的影響。總而言之,多花 5 美元買入 4 USDC 顯然略貴一些。
我們模擬了 59,975 個交易,並計算了不同交易所的調整後價格,得出了以下結論:
_0x API、1inch、Dex Ag、Paraswap 和 Uniswap 的調整後價格勝率。0x API 提供的調整後價格在 72% 的情況下優於其它聚合 _
平均來看,0x API 在 70% 的情況下表現優於其它交易所。也就是説,使用 0x API 聚合器(如 Matcha)的交易者獲得所有 DEX 最佳價格的概率是 70%。
就調整後價格而言,我們發現隨着交易額增加,交易所的獲勝率會發生變化。就小型交易而言,Uniswap 的表現較好,因為其交易成本相比大多數聚合器更低。隨着交易額增加,聚合器將履行其職能,開始將交易拆分給不同的來源。就任意大小的交易而言,0x API 都表現良好。隨着交易額增加,聚合器開始顯露競爭力。例如,就大型交易而言,1inch 相比 0x API 更具競爭力,因為它的來源更多。
方法論這一節中分享的數據來自我們 0x Labs 構建的模擬工具。面對不同的代幣對、交易額和確認延遲,我們都可以通過該工具持續進行報價並執行交易。如果你懂技術,我一説你們就懂了:這種模擬是在 Geth 節點上執行 eth_call
調用,並使用狀態覆寫來為交易提供資金並對其進行追蹤,包括買賣數量和 gas 使用量等指標。
我們追蹤的交易所包括 0x API、1inch、Dex Ag、Paraswap 和 Uniswap。在這次研究中,我們選擇了這些 DEX 上最常見的 20 個交易對,並通過公開 API 平均每個交易所取 11,995 個交易作為樣本。交易額範圍在 100 美元至 100 萬美元之間,結算延遲在 0 至 180 秒之間(模擬交易池中的等待時間)。這次模擬持續大約 78 小時,gas 價格在 47 至 194 gwei 之間波動,這樣可以保證我們的研究反映市場情況。
在本報告內的圖表中,綠色條形和 Matcha 代表的都是 0x API。只有調整後價格超出其它交易所 0.005% 的交易所才會被視為最終贏家。如果差距在 0.005% 以內,則視為平局。「包括 Metcha 在內的平局」指的是,0x API 和另外一家或多家交易所打平。「不包括 Metcha 在內的平局」指的是,除了 0x API 以外的兩家或多家交易所打平。所有圖表採用的顏色都是統一的。
準確性、gas 使用量、回滾率和響應時間在本研究中,我們分析了三個不同的價格。因此,我們給出以下定義:
報價:針對特定交易的初始廣告價格 —— 用户在 UI 中看到的標價。
實際價格:延遲後的實際結算價格。從交易提交到鏈上確認之間通常需要 0 至 180 秒。
調整後價格:當一筆交易完成時,用户支付完交易成本(gas 費和手續費)後的價格。換言之,就是實際價格減去成本。
我們先來看看報價和實際價格。
0x API、1inch、Dex Ag、Paraswap 和 Uniswap 的報價和實際價格勝率。許多聚合器似乎針對報價進行了優化,但是最佳報價並不一定意味着最佳調整後價格
在上圖中,我們可以看出,Uniswap 的整體表現並不突出。上圖與調整後價格勝率圖表形成鮮明對比。換言之,雖然 Uniswap 無法提供最佳報價,但是就 5000 美元以下的交易而言,它有時能提供最佳的調整後價格,因為交易費低。正如上文所述,隨着交易額增加,Uniswap 的勝率會大幅降低,因為聚合器能夠將交易拆分給不同的來源,從而找到最佳價格。
從這些圖表中,我們還可以看出,0x API 在報價和實際價格上的勝率遠遠低於它在調整後價格上的勝率 —— 相差幅度平均為 19%,如果考慮到平局情況,報價和實際價格的勝率分別為 57% 和 63%。0x API 在調整後價格的平均勝率約為 72%。0x API 在報價和實際價格上的勝率之所以如此低,是因為我們在設計智能合約路由邏輯時作了明確的權衡,在計算訂單的交易路徑時考慮了 gas 成本。通過在 0x API 的智能訂單路由中考慮 gas 成本,我們可保證價格優勢超過從不同來源獲取流動性的成本。
遺憾的是,許多聚合器似乎僅為在報價競爭中勝利做了優化,因為這能為他們吸引更多用户。然而,正如上文的聚合器 2 例子所示,不考慮交易成本的聚合器能提供更好的報價,因為他們願意支付更多錢,但是這實際上對用户來説不是最優惠的方案。因此,最佳報價並不一定會帶來最佳調整後價格。
一個很貼切的比喻是訂機票。你有沒有因為某個航空公司的航班看似比其它公司的航班便宜而訂它的機票,最後卻發現需要為選座位支付額外的費用,行李託運的收費也貴一點?雖然基礎票價可能更便宜,但是加上雜七雜八的費用後反而支付了更多的錢。某些聚合器也是同樣的道理:看似報價比其它聚合器高,但是一旦交易完成,實際到手的錢卻低於預期。
但是,為什麼會出現這種情況?
以 1inch 為例,因為它在報價和實際價格上的勝率最高。從報價到實際價格再到調整後價格,1inch 的勝率呈階梯式下降,從 22% 降至 19% 再降至 14%。這意味着,1inch 看似有 20% 的可能達成最佳交易。然而,一旦交易完成後扣除成本,事實往往並非如此。
通常來説,報價和實際價格之間產生差異的原因是,報價不準確,或者在報價到鏈上結算這段時間內市場價格發生變化,從而導致報價失效。實際價格和調整後價格之間的差異就是使用聚合器而產生的額外成本。
我們來看看所有交易所的準確性。交易所按照報價結算的概率是多少?
準確性很重要,因為它可以建立用户信任,並反映聚合器的報價是否與終端用户實際支付的價格相符。如果有足夠多的時間和樣本,差異會趨於 0。
正如上圖所示,0x API 和 Uniswap 始終存在正偏差(即,大於零),也就是説交易的報價至鏈上結算之間的價格波動對用户有利。也就是所謂的正向滑點。一旦發生這種情況,0x API 總是會將正偏差傳導給用户。
有趣的是,1inch 的偏差始終小於零,也就是説無論市場價格如何波動,用户都得不到更有利的價格。偏差小於零也表明,聚合器正在使用過時信息報價,或者響應速度不夠快。這些問題可能會導致交易回滾概率變高。如果發生交易回滾,雖然沒有發生代幣買賣,但是用户依然需要支付交易費。後文會給出詳細解釋。
現在,我們再説回成本,在以太坊上是以 gas 使用量衡量的。在下圖中,我們可以看出這些交易所的 gas 使用量之間存在很大差異。
就聚合器而言,正應了那句老話「少即是美(less is more)」。如果聚合器能給用户帶來更多價值,那麼成本高一點也無妨,但是正如我們之前在調整後價格勝率圖中所顯示的那樣,大多數聚合器都無法做到這點。優化代碼來降低 gas 使用量會提高聚合器將交易分割給更多來源以獲取更多價值的可能性。
Uniswap 是 gas 使用量最低的交易所之一,因此這是所有聚合商都應該追求的目標,尤其是對於那些小型交易來説。一筆價值 100 美元的交易根本不可能分割到多個交易所上,即使 gas 價格只有 1 gwei 也是如此。
通常情況下,0x API 的成本比 Uniswap 高。但是,正如調整後價格勝率圖所示,雖然 0x API 在 gas 使用量上略高一些,但是它有 70% 的概率讓用户獲得最佳調整後價格。其它所有聚合器的成本至少是 0x API 的兩倍,也就是説,為用户帶來了雙倍的成本,但是幾乎沒有創造額外價值。1inch 和 Paraswap 是 gas 使用量最高的交易所,從它們在調整後價格上的低勝率也可看出這點。
為便於客觀比較,以下是所有價值 500 至 1000 美元的模擬交易的平均成本:
0x API — $6.43
1inch — $13.58
Dex Ag — $13.41
Paraswap — $18.59
Uniswap — $3.93 (我們後面會説回這個數據)
過去 8 個月來,減少 gas 使用量一直是我們團隊的重點。我們最初的目標是將交易成本降低 50%。然而,在 0x API 1.0 中,我們成功將平均交易成本降低了 76% 左右。就一筆 5 萬美元的交易而言,0x API 1.0 的 gas 使用量約為 46 萬 gwei,0x API 0.0 的 gas 使用量約為 150 萬 gwei。這些優化已經將 0x API 變成了最高效的聚合器,無論交易大小如何。
事實上,gas 價格在上個月已經遠高於 100 gwei。我們想向你展示 0x API 在這種情況下的調整後價格勝率。我們進行了第二次模擬,手動抬高了 gas 價格,結果發現在 gas 價格較高的情況下,0x API 的表現依然優於其它競爭者 —— 在 gas 價格高於 400 gwei 的情況下,提供最優調整後價格的概率為 80%。
現在,再回到 0x API 和 Uniswap 的 gas 使用量上。通常情況下,0x API 在 gas 使用量上高於 Uniswap。然而,在 70% 的情況下,0x API 提供比 Uniswap 更高的調整後價格。0x API 是如何做到這點的?我們的 0x Labs 團隊構建了一個高度優化的合約,可以讓 0x API 通過比默認 Uniswap 合約更節省 gas 的方式獲得 100% 來自 Uniswap 的流動性。這對於路由至單個來源的小型交易(小於 5000 美元)來説尤為有利。
以下圖兩個交易為例:
圖左是直接路由至 Uniswap 的 ETHUNI 交易。圖右是通過 0x API 100% 路由至 Uniswap 的 ETHUNI 交易。正如圖中的“交易的 gas 使用量”字段所示,Uniswap 的交易成本約為 11.4 萬 gwei,0x API 的交易成本約為 11 萬 gwei,後者比前者低了 3.7%。某些鏈上狀態和條件可能會改變結果(例如,如果用户需要設定新的限額),但是通常來説,通過 0x API 將交易路由至 Uniswap 的成本只會比直接在 Uniswap 上交易更低。
至此,我們已經討論過了準確性和 gas 使用量,接下來該談談交易回滾了。當用户在這些交易所上交易時,交易失敗的可能性有多大?
聚合器應該儘可能將回滾率維持在較低水平,因為在交易失敗後還要支付 gas 對用户來説體驗感很差。導致交易回滾的常見原因有:報價至鏈上結算這段時間內市場出現波動,以及報價不準確(尤其是在使用過時信息提供報價的情況下)。
我們的模擬工具始終在完美條件下執行交易,即,資金充足、不限量 gas 和無搶跑交易(即,消息沒有泄漏到黑暗森林中)。我們排除了由這些原因以及現實生活中用户行為導致的交易回滾。因此,對於所有交易所來説,模擬回滾率都低於實際回滾率。儘管如此,模擬回滾率可以很好地反映交易所的表現。
在上圖中,0 至 10 秒的延遲是最有趣的。延遲低於 10 秒則意味着交易立即執行,或交易剛提交後就被打包進了下一個區塊。因此,在該延遲時段內,高回滾率意味着報價不準確。
一般而言,我們發現 Paraswap 的回滾率相比其它交易所是最高的,之後是 Dex Ag 和 1inch。在人類行為不會導致交易回滾的模擬環境中,發生回滾的可能原因之一是報價過時(如高延遲時段所示)或報價不準確(如低延遲時段所示)。如果你還記得,Dex Ag 和 Paraswap 的準確率最低。
接着來看回滾率對終端用户的影響。如果用户在每個交易所上進行 100 筆價值 500 至 1000 美元的交易,交易失敗所造成的平均損失為:
0x API — $6.89
1inch — $62.52
Dex Ag — $3.47
Paraswap — $119.22
Uniswap — $0.21
在現實世界中,我們看到 Uniswap 的日回滾率高達 30%,然而在我們的模擬環境下,較長延遲情況下的最高回滾率為 1.3% 左右。實際回滾率和模擬回滾率之間的差異意味着所有 DEX 的用户體驗都有很大的改進空間,不過這是另一個話題了。
模擬實驗的結果是,我們的 0x API 的模擬回滾率在不同延遲情況下都是最低的。0x API 的模擬回滾率範圍在 0.6%(較短延遲)至 1.8%(較長延遲)之間。在現實世界中, 我們發現 Matcha 等集成 0x API 的應用的周均回滾率範圍在 3% 至 4% 之間。
現在,還有一個我們尚未提及的重要指標:響應時間。Matcha 等應用的終端用户可能對這一指標沒有很深的感受。然而,當你在第三方基礎設施上構建產品時,必須儘可能保證該產品是可靠且快速的。速度更快的聚合器可以讓用户更快完成交易,減低滑點率和回滾率,並改善用户體驗。
由於我們的 0x API 要從超過 13 個來源(包括由專業做市商提供流動性的系統 RFQ)取樣,保持較低的響應時間是一項技術挑戰。然而,我們的目標是讓 0x API 成為最專業的流動性聚合 API。目前,0x API 的響應時間約為 1.5 秒,對此我們深感自豪。
在本研究涉及的所有交易所中,1inch 的響應時間是最長的,比 0x API 的響應時間高了 2.7 倍。1inch 的響應時間為 4 秒,大約是挖出一個新區塊所需時間的 1/3,可能會導致時效性強的交易發生回滾,例如,在市場情況不斷變化的高波動時期。
鑑於上述所有信息,如何選擇最佳聚合器?我們可以計算各種交易場景下進行轉移的平均收益或損失,從而得出從一個交易所轉向另一個交易所產生的預期收益值。這就是用户的預期收益。
對於那些從其他聚合器轉向 Matcha 之類集成 0x API 的應用的用户來説,低於 1 萬美元的交易的平均預期收益為:
1inch — $7.17
Dex Ag — $10.36
Paraswap — $14.89
Uniswap —$17.14
總的來説,如果在 1inch 上交易的用户轉向 Matcha 之類整合 0x API 的應用,平均每筆交易預期可獲得 7.17 美元的收益。如果他們是從 Uniswap 轉向 0x API 的,則平均每筆交易預期可獲得 17.14 美元的收益。
總結首先,很高興你們能看到這裏!
我們的目標是分享我們在構建 0x API 方面的收穫,並闡明聚合器之間並不明顯的關鍵差異。正如我們在上文提到的那樣,我們想要讓這個行業變得更加透明,並引起關於如何客觀衡量和比較不同聚合器的性能的討論,讓 DeFi 開發者和交易者可以做出明智的決定。
通過公開我們的數據,我們希望推進 DEX 聚合器行業,並繼續為 DeFi 開發者和用户構建最佳應用。
如果你是交易者,不妨來 Matcha 體驗一下!
如果你是 DeFi 開發者,可以閲讀我們的 0x API 1.0 公告和 0x API 文檔。如果你已經將 0x API 0.0 整合進了你的項目中,轉向 1.0 的遷移過程非常簡單。為以防萬一,我們寫了這份指南。
非常感謝 Ben、Jacob、Kroeger、Lawrence 和 Michael 對本文的貢獻和反饋。