DEX 之間沒有顯著差異,對 Gas 使用影響最大的是執行交換所必須進行的跳數。

原文標題:《DeFi 之道丨對比 Balancer、Curve 和 Uniswap 三大 DEX 的 Gas 成本差異
撰文:Yule Souza Andrade
翻譯:Kyle

用戶在以太坊區塊鏈中發現的主要用例之一就是無需中介即可在加密資產之間進行兌換的能力。 去中心化交易所或 DEX 是用於此活動的平臺。 它們可以概括爲一類應用程序,允許您使用其池中可用的流動性將 ETH 或任何代幣交換爲其他代幣。

DEX 代表了以太坊上最廣泛的 gas 消耗應用。 根據 The Block 的統計,與代幣兌換相關的合約是消耗區塊鏈資源最多的合約之一。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

儘管這些系統具有無需許可的性質、驚人的數量和無可爭議的成功,但在鏈上進行操作成本高昂,對某些用戶來說是一種負擔。 兌換成本可以分解爲幾個不同的成本要素:

  • 價格影響

  • 流動性提供商費用

  • 滑點

  • 底層區塊鏈的交易費用

瞭解這些成本對於資本效率至關重要,並且如果做出正確選擇,用戶或可節省數千美元。

DEX 中有幾個可供用戶選擇的協議應用,它們提供相同的代幣兌換核心服務。 本文旨在根據體驗對它們進行對比,也就是使用市場上可用的不同 DEX 時的交易費用成本。

爲什麼交易和 DEX 之間的 gas 成本會有所不同?

任何鏈上操作都需要根據它消耗的計算資源量來定價。 在以太坊網絡中,gas 是用於衡量用於執行每個特定操作的計算工作量的單位,並直接影響交易成本。 由於每個協議採取不同的方法並且需要執行不同的函數來進行交換,因此每個交易 / 協議的消耗也不同。

一筆交易可以調用任意數量的函數並與許多不同的智能合約進行交互。 下面,我們可以看到使用 Tenderly 提供的工具進行的兩筆不同交易的 gas 消耗明細。 如您所見,第二筆交易最終比第一筆交易多花費了 70% 的 gas。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?兩筆一般兌換交易所消耗 Gas 的細節。來源: https://tenderly.co/Dashboard

比較法

每個 DEX 都有其執行兌換的方法,但可以在它們之間確定一些模式。 爲了比較不同 DEX 之間兌換的 gas 成本,每種都選擇了一個代表。 Uniswap V2 代表了傳統的恆定產品池,Uniswap V3 引入了集中流動性池。Curve 採用了混合和自定義曲線池;Balancer V2 採用了加權池。 對於他們中的每一個,都設置了一個 Dune 儀表板:

儀表板允許通過在選擇框中輸入池地址來單獨檢查每個池。 它還有一個事務表來過濾異常值以進行更詳細的調查。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?DEX gas 對比儀表板

在分析一個協議的多個池時,只有超過 100 筆交易符合上述標準的池纔會被繪製出來,以獲得更相關的結果。 在分析與單個池交互的交易時,交易按兌換中涉及的跳轉次數進行分組。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?涉及多次兌換的交易(在本例中爲 2)。 來源:https://etherscan.io/

兌換執行可以包裝在也執行其他代碼的事務中。 爲了排除這種影響,只分析了直接調用協議金庫 / 路由器合約的交易。 此過濾器用於排除由 DEX 聚合器和合約路由的兌換交易,這些合約捆綁了多個會增加交易成本但與 DEX 協議本身無關的功能。

Balancer

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?Balancer 池分佈

Balancer 的大部分交易來自 DEX 聚合器應用程序,例如 1inch、Metamask 等。 由於這些交易被排除在分析之外,這自然會減少可用的數據量。 儘管如此,仍有 14 個池符合至少 100 個直接調用交易的標準。 正如預期的那樣,當單獨評估每個池時,可以看到單跳交換和多跳兌換之間的顯着差異。 另一項發現是,池中代幣的數量不會改變使用它的交易的 gas 支出。 重要的是要記住,Balancer 中的 2 代幣池可能會也可能不會充當預言機——如果它們這樣做了,當存儲價格數據的內存槽被初始化時,gas 成本會更高一些。 這可以在這些池的移動平均圖表上查看。 請注意一旦所有內存插槽都已初始化,平均值是如何突然下降的。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?分別爲 LINK/WET、USDC/WETH 和 WBTC/WETH 礦池分佈

Curve

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?Curve 池分佈

從本文研究的 DEX 來看,Curve 有一個獨特的機制,這使得這個對比有時會不平衡。 每個 Curve 池(metapool 除外)都是爲其資產定製的。

Curve 顯示了所分析的 DEX 之間最顯着的 gas 消耗差異。 這得到了部分解釋,因爲 Curve 允許交換未封裝的代幣,如 DAI 或 USDC,而這個池設計爲不依賴其他協議 IOU,如 cDAI 或 yUSDC,並且封裝和拆包過程是交易的一部分。 結果,雖然池中的資產積累了這些協議的好處,但它使兌換變得更加昂貴。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?分別爲 3pool、renBTC 和 Tricrypto 池分佈

Uniswap V2

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?Uniswap V2 池分佈

除了是此列表中最古老的協議外,Uniswap V2 還被廣泛採用。 協議中已經創建了 2500 多個池,服務於資產的長尾。 繪製上圖時施加了一些限制,但它們可以描繪協議中的 gas 成本。 一些最受歡迎的代幣,例如穩定幣和 BTC,廣泛用於 ABC <-> ETH <-> WBTC 等交易中的多跳交換。 有時 ABC 轉賬是 gas 密集型的,會增加涉及這些流行代幣的交易中使用的平均 gas。 再一次,在調查每個池時,交易 gas 使用之間最顯着的差異可以分配給每筆交易進行的跳數。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?分別爲 LINK/WET、USDC/WETH 和 WBTC/WETH 池分佈

Uniswap V3

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?Uniswap V3 池分佈

Uniswap 協議 V3 的最大擔憂之一是交換交易可能會花費更多的 gas。 Uniswap V3 兌換受其造成的價格影響。 相對於可用流動性的訂單越高,它就越能推動價格跨刻度,離散的價格區間代表 0.0001% 的價格上漲或下跌,其中流動性需要調整。 由於大多數交易對價格的影響相對較小,因此交易成本中位數與之前的版本一致。 但是,在處理適度的流動性池時,用戶需要關注訂單對價格的影響。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?分別爲 LINK/WET、USDC/WETH 和 WBTC/WETH 池分佈

對比協議

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?每個協議的 gas 成本

選擇了 Balancer V2 和 Uniswap V2 和 V3 共有的三個對等池來進行詳細比較——USDC/WETH、WBTC/WETH 和 LINK/WETH。由於 Curve 的方法不同,因此選擇了它的一些池來融入圖片,但不會參與比較。

可以觀察到,3 個 DEX 之間消耗的 gas 沒有顯着差異。觀察到的差異可能與爲研究選擇的方法不精確有關。對於 2 次跳轉兌換,差異可歸因於交易中涉及的其中一個代幣合約中的轉移函數的二階效應。

此外,這裏有一個表格,計算成本(以美元爲單位)、當前 ETH 價格和 DEX 之間觀察到的大致差異。從一個角度來看,在 2000 美元的 ETH 場景中,gas 爲 50 gWei,爲 WBTC/WETH 2 跳交換選擇 Uniswap V2 而不是 V3 的差異將節省 3.12 美元。對於大於 1040 美元的訂單,典型的 0.3% LP 費用大於此差異。

Balancer、Curve 和 Uniswap 的 Gas 消耗對比,DeFi 用戶如何節省交易成本?不同場景的 gas 成本

結論

該研究表明,所分析的 DEX 之間沒有顯著差異。 對交易使用的 gas 的最大影響是執行交換所必須進行的跳數。 1 跳和 2 跳交換之間的差異比 DEX 之間的差異更有意義。 此外,根據交易規模,兌換成本的其他因素,如 LP 費用或滑點,可能會對總成本產生更顯着的影響。

儘管 Curve 在 gas 支出方面有一些非常有競爭力的池,但它的一些礦池是用底層協議 IOU 設計的,包裝和解包過程會顯著影響它們的掉期。

感謝 Markus Buhatem Koch 的討論爲這篇文章提供了幫助。

來源鏈接:www.8btc.com