用户在以太坊区块链中发现的主要用例是无需中介即可在加密资产之间进行交换的能力。去中心化交易所或DEX是用于此活动的平台。它们可以概括为一个应用程序,允许您使用其池中可用的流动性将ETH或任何代币交换为其他代币。

去中心化交易所代表了以太坊上最广泛的gas消耗。根据TheBlock的统计数据,与代币交换相关的合约(代码段)是消耗区块链资源最多的合约之一。

来源:TheBlock

尽管这些系统具有无需许可的性质、惊人的数量和无可争议的成功,但在链上进行操作成本高昂,给一些用户带来了负担。交易成本可以分解为几个不同的成本要素:

  • 价格的影响

  • 流动性提供者费用

  • 滑点

  • 底层区块链的交易费用

了解这些成本对于资本效率至关重要,可以为做出正确选择的用户节省数千美元。

DEX行业有几个可供用户选择的替代协议应用程序,它们提供相同的代币交换核心服务。本文旨在比较最后一个项目,当使用不同的指数在市场上可用的交易费用的成本。

为什么gas成本在交易和DEX之间存在差异?

任何链上操作都需要根据它消耗的计算资源量来定价。在以太坊网络中,gas是用于衡量用于执行每个特定操作的计算工作量的单位,并直接影响交易成本。由于每个协议采取不同的方法并且需要执行不同的功能来进行交换,因此每笔交易/协议的消耗也不同。

一笔交易可以调用任意数量的函数,并与许多不同的智能合约进行交互。下面,我们可以看到使用Tenderly提供的工具进行的两个不同交易的gas消耗明细。如您所见,第二笔交易最终花费的gas比第一笔交易多70%。

两种通用交换交易的Gas细分

比较法

每个DEX都有其执行交换的方法,但是可以在它们之间确定一些模式。为了比较不同DEX之间交易的gas成本,分别都选择了一种。UniswapV2代表了传统的恒定产品池,UniswapV3引入了中心化流动性池,选择了Curve作为其混合和自定义curve池,最后选择了带有加权池的BalancerV2。对于他们中的每一个,都设置了一个Dune表盘:

  • Balancer:https://duneanalytics.com/yulesa/Balancer-Gas

  • Curve:https://duneanalytics.com/yulesa/Curve-Gas-Usage

  • UniswapV2:https://duneanalytics.com/yulesa/Uniswap-V2-Gas-UsageUniswapV3:

  • https://duneanalytics.com/yulesa/Uniswap-V3-Gas-Usage

仪表盘允许通过在选择框中输入池地址来单独检查每个池。它还有一个事务表来过滤异常值以进行更详细的调查。

DEX gas比较仪表板

当分析一个协议的多个矿池时,只有超过100笔交易符合上述标准的矿池才会被绘制出来,以获得更相关的结果。在分析与单个池交互的交易时,交易按交换中涉及的跃点数进行分组。

涉及多次交换的交易

交换执行可以包装在也执行其他代码的交易中。为了排除这种影响,只分析了直接调用协议保险库/路由器合约的交易。该过滤器用于排除由DEX聚合器和合约路由的交易,这些合约捆绑了多个会增加交易成本,但与DEX协议本身无关的功能。

Balancer

Balancer池分布

Balancer的大部分交易来自DEX聚合器应用程序,例如1inch、Metamask等。由于这些交易被排除在分析之外,这自然会减少可用的数据量。尽管如此,仍有14个矿池符合至少100个直接调用交易的标准。正如预期的那样,当单独评估每个池时,可以看到单跳交换和多跳交换之间的显着差异。另一项发现是,池中代币的数量不会改变使用它的交易的gas支出。重要的是要记住,Balancer中的V2代币池可能会也可能不会充当预言机——如果它们这样做了,当存储价格数据的内存槽被初始化时,gas成本会更高一些。这可以在这些池的移动平均图表上查看。请注意一旦所有内存插槽都已初始化,平均值是如何突然下降的。

分别是LINK/WET、USDC/WETH

和WBTC/WETH池分布

Curve

Curve池分布

从本文研究的DEX来看,Curve有其独特的机制,这使得比较有时会不平衡。每个Curve池(metapool除外)都是为其资产定制的。

Curve显示出所分析的DEX之间最显着的gas消耗差异。这得到了部分解释,因为Curve允许交换未包装的代币,如DAI或USDC,而资金池设计为不依赖其他协议IOU,如cDAI或yUSDC,并且包装和拆分过程是交易的一部分。结果,尽管资金池中的资产从这些协议中获得了好处,但它使交易变得相当昂贵。

分别为3pool、renBTC和Tricrypto池的分布

Uniswap V2

UniswapV2池分布

除了作为此列表中最古老的协议之外,UniswapV2还被广泛采用。协议中已经创建了2500多个资金池,服务于资产的长尾市场。绘制上图时存在了一些限制,但它们可以描绘协议中的gas成本。一些最受欢迎的代币,例如稳定币和BTC,广泛用于ABC<->ETH<->WBTC等交易中的多跳交换。有时ABC转账是gas密集型的,会增加涉及这些流行代币的交易中使用的平均gas。再一次,在调查每个资金池时,交易gas使用之间最显着的差异可以分配给每笔交易进行的跳数。

分别是LINK/WET、USDC/WETH

和WBTC/WETH池分布

Uniswap V3

UniswapV3池分布

Uniswap协议第3版的最大担忧之一是交换交易可能会花费更多的gas。Uniswap V3交易受其造成的价格影响。相对于可用流动性的订单越高,它将越能推动价格跨分时,离散的价格区间代表0.0001%的价格上涨或下跌,其中流动性需要调整。由于大多数交易对价格的影响相对较小,因此交易成本中位数与之前的版本一致。但是,在处理适度的流动性池时,用户需要关注订单对价格的影响。

分别是LINK/WET、USDC/WETH

和WBTC/WETH池分布

比较协议

每个协议的gas成本

选择了Balancer V2和Uniswap V2和V3共有的三个相同数位池来进行详细比较——USDC/WETH、WBTC/WETH和LINK/WETH。由于Curve的方法不同,因此选择了它的一些资金池来融入图片,但不会参与比较。

可以观察到,3个DEX之间消耗的gas没有显着差异。观察到的差异可能与为研究选择的方法不精确有关。对于2跳交易,差异可归因于交易中涉及的其中一个代币合约中的转移函数的二阶效应。

此外,这里有一个表格,计算成本(以美元为单位)、当前ETH价格和DEX之间观察到的大致差异。从一个角度来看,在2000美元的ETH场景中,gas为50gWei,为WBTC/WETH 2跳交换选择Uniswap V2而不是V3的差异将节省3.12美元。如果订单金额超过1040美元,通常0.3%的LP费用要高于此差额。

不同场景的gas成本

结论

该研究表明,分析的DEX之间没有显着差异。对交易所使用的gas的最大影响是执行交换所必须进行的跳数。1跳和2跳交易之间的差异比DEX之间的差异更有意义。此外,根据交易的规模,交易成本的其他因素,如LP费用或滑点,可能会对总成本产生更显着的影响。

尽管Curve在gas支出方面有一些非常有竞争力的资金池,但其中一些资金池是用底层协议IOU设计的,包装和展开过程对它们的交易有显著影响。

关于分析的考虑

执行交易通常意味着调用参与的代币合约的转移函数——例外是由于Balancer的单一保险库模型或在Balancer保险库中使用内部用户余额,而在Balancer上进行多跳交易。一些代币在调用转移函数时可以执行的不仅仅是简单的记账,从而增加了交易的成本。尚未完全实现使用Dune排除这种影响的实用方法。当交易执行多跳以进行交换并且其中一个代币表现不佳时,这种行为尤其令人担忧。虽然,相信这个问题会系统地影响所有协议,并且很少会显着影响结果。将分析范围限制为每个代币池的单跳交易可以减轻这种影响。

由于某些协议从一开始就有数以千计的交易,在Dune/Internet 浏览器中处理如此大量的数据会大大降低仪表板的可用性。因此,在这些协议中,对分析的交易数量施加了限制。然而,数据人口的减少不会显着改变结果。对于单个池视图,仪表板的上限为1000笔交易。Uniswap V2仅限于上个月的交易。

发表评论 已发布 0

还可以输入 800 个字
 
 
评论 打印