原文标题:《引介|DEX聚合器性能全面分析》撰文:Fulvia翻译&校对:闵敏&阿剑
太长不看
在70%的情况下,0xAPI所提供的调整后价格优于1inch、DexAg、Paraswap和Uniswap。所谓的调整后价格,就是支付完交易费后的价格。
0xAPI1.0在gas效率上处于市场领先地位。0xAPI提供一个经过高度优化的自定义架构。因此,用户通过该API访问Uniswap流动性的成本与直接访问Uniswap一样低,甚至更低。
聚合器通过承诺让用户获得整个生态的最佳报价,来消除用户在选择交易平台时的心理障碍。然而,并非所有聚合器都相同:它们在定价、报价准确性、gas使用量、回滚率和响应时间方面有不同程度的区别。
最佳报价并不一定是最佳调整后价格。就像买机票一样,可能还有一堆后续费用/成本。虽然基础票价可能很便宜,但是当你把所有附加费用算进来后,实际费用可能会很高。
0xAPI和Matcha是0xLabs推出的两款产品,可以让DeFi开发者和交易者轻而易举地以所有DEX流动性来源中的最佳价格买卖资产。
DEX流动性之战和聚合器的崛起
过去几周涌现出了大量新的流动性来源。有超过40亿美元的资金分布在15个来源上,而且每周还会有新的来源出现。因此,DEX流动性变得比以往更加分散,让DeFi用户更难为特定交易找到最佳价格。
这就推动了聚合器的崛起。过去12个月以来,聚合器取得了巨大发展,其交易量在第三季度占总交易量的9.6%左右。但是,人们对聚合器有点误解。例如,虽然报价通常被当作是比较聚合器性能的唯一指标,但是人们时常会遇到一些聚合器报价100美元却以90美元结算的情况。报价并非实际的结算价格。这就引出了一个问题:究竟什么才是衡量聚合器性能的正确指标?
本文旨在揭示聚合器行业的现状以及如何客观衡量并比较聚合器的性能。
调整后价格——比较聚合器的黄金指标
我们认为要构建一个高性能的专业级聚合器,必须遵循以下原则:
1.准确性:聚合器应该具备准确性,即,结算价格应等于报价。轻微的差异是可以接受的,因为交易提交的时间与交易在链上确认的时间之间往往存在市场波动。然而,在其它所有条件不变的情况下,报价越准确的聚合器越好。所见即所得。
2.低成本:链上执行的操作越多,gas使用量即越多,进而导致gas成本越高。聚合器的目标应该是尽可能降低成本,以确保用户获得最佳成交价格。聚合器应该适应当前gas价格市场,并相应调整路径。在gas上花的每一分钱都应该为用户带来更多价值。
3.低回滚率:为了保护用户,聚合器必须将任意大小交易的回滚率控制在较低范围内。如果遇上交易失败的情况,用户会感到非常沮丧,因为gas费已经付过了。
最后,我们将上述原则总结成一个黄金指标:调整后价格。
虽然我们单独分析了上述指标,但是本文主要聚焦于调整后价格。调整后价格指的是当交易在链上完成时,用户支付完交易成本后的价格。其计算公式如下所示:
调整后价格=已卖出资产的美元价值/(已买入资产的美元价值-交易成本的美元价值)
我相信,这个指标更适合用来比较聚合器,因为这是用户最终影响用户收益的价格。让我们来看一个例子:
某用户想要花100DAI来买入USDC。聚合器1的报价是100USDC,交易成本为5美元。根据上述公式,我们可以得出调整后价格=100/=1.05美元。
再看另一个聚合器。同样的100DAI,聚合器2的报价是104USDC,但是交易成本为10美元。在这种情况下,调整后价格=100/=1.06美元。
在上述例子中,聚合器1找出了一个更便宜的价格。虽然聚合器2的报价更高,但是我们可以看出交易成本对调整后价格的影响。总而言之,多花5美元买入4USDC显然略贵一些。
我们模拟了59,975个交易,并计算了不同交易所的调整后价格,得出了以下结论:
_0xAPI、1inch、DexAg、Paraswap和Uniswap的调整后价格胜率。0xAPI提供的调整后价格在72%的情况下优于其它聚合_
平均来看,0xAPI在70%的情况下表现优于其它交易所。也就是说,使用0xAPI聚合器的交易者获得所有DEX最佳价格的概率是70%。
就调整后价格而言,我们发现随着交易额增加,交易所的获胜率会发生变化。就小型交易而言,Uniswap的表现较好,因为其交易成本相比大多数聚合器更低。随着交易额增加,聚合器将履行其职能,开始将交易拆分给不同的来源。就任意大小的交易而言,0xAPI都表现良好。随着交易额增加,聚合器开始显露竞争力。例如,就大型交易而言,1inch相比0xAPI更具竞争力,因为它的来源更多。
方法论
这一节中分享的数据来自我们0xLabs构建的模拟工具。面对不同的代币对、交易额和确认延迟,我们都可以通过该工具持续进行报价并执行交易。如果你懂技术,我一说你们就懂了:这种模拟是在Geth节点上执行eth_call调用,并使用状态覆写来为交易提供资金并对其进行追踪,包括买卖数量和gas使用量等指标。
ASS正式上线HECO及MDEX去中心化交易所:据官方消息,ASS正式上线HECO及MDEX去中心化交易所,ASS(驴币)是HECO首个动物社区自治币,已通过灵踪安全审计,并上线MDEX白名单。
ASS总量1万亿,无私募无预挖,将于2021年5月11日20:30正式开始流动性挖矿。[2021/5/11 21:49:34]
我们追踪的交易所包括0xAPI、1inch、DexAg、Paraswap和Uniswap。在这次研究中,我们选择了这些DEX上最常见的20个交易对,并通过公开API平均每个交易所取11,995个交易作为样本。交易额范围在100美元至100万美元之间,结算延迟在0至180秒之间。这次模拟持续大约78小时,gas价格在47至194gwei之间波动,这样可以保证我们的研究反映市场情况。
在本报告内的图表中,绿色条形和Matcha代表的都是0xAPI。只有调整后价格超出其它交易所0.005%的交易所才会被视为最终赢家。如果差距在0.005%以内,则视为平局。「包括Metcha在内的平局」指的是,0xAPI和另外一家或多家交易所打平。「不包括Metcha在内的平局」指的是,除了0xAPI以外的两家或多家交易所打平。所有图表采用的颜色都是统一的。
准确性、gas使用量、回滚率和响应时间
在本研究中,我们分析了三个不同的价格。因此,我们给出以下定义:
报价:针对特定交易的初始广告价格——用户在UI中看到的标价。
实际价格:延迟后的实际结算价格。从交易提交到链上确认之间通常需要0至180秒。
调整后价格:当一笔交易完成时,用户支付完交易成本后的价格。换言之,就是实际价格减去成本。
我们先来看看报价和实际价格。
0xAPI、1inch、DexAg、Paraswap和Uniswap的报价和实际价格胜率。许多聚合器似乎针对报价进行了优化,但是最佳报价并不一定意味着最佳调整后价格
在上图中,我们可以看出,Uniswap的整体表现并不突出。上图与调整后价格胜率图表形成鲜明对比。换言之,虽然Uniswap无法提供最佳报价,但是就5000美元以下的交易而言,它有时能提供最佳的调整后价格,因为交易费低。正如上文所述,随着交易额增加,Uniswap的胜率会大幅降低,因为聚合器能够将交易拆分给不同的来源,从而找到最佳价格。
以太坊上Dex交易量环比下降14%:据欧科云链OKLink数据显示,截至今日14时,以太坊上Dex的24小时交易量约合17.8 亿美元,环比下降14%。
其中交易量排名前三的Dex协议分别是UniSwap 7.32亿美元,SushiSwap 3.42亿美元以及Curve 1.62亿美元。Uniswap的交易量占到近24小时Dex交易总量的41.09%。[2021/1/29 14:19:25]
从这些图表中,我们还可以看出,0xAPI在报价和实际价格上的胜率远远低于它在调整后价格上的胜率——相差幅度平均为19%,如果考虑到平局情况,报价和实际价格的胜率分别为57%和63%。0xAPI在调整后价格的平均胜率约为72%。0xAPI在报价和实际价格上的胜率之所以如此低,是因为我们在设计智能合约路由逻辑时作了明确的权衡,在计算订单的交易路径时考虑了gas成本。通过在0xAPI的智能订单路由中考虑gas成本,我们可保证价格优势超过从不同来源获取流动性的成本。
遗憾的是,许多聚合器似乎仅为在报价竞争中胜利做了优化,因为这能为他们吸引更多用户。然而,正如上文的聚合器2例子所示,不考虑交易成本的聚合器能提供更好的报价,因为他们愿意支付更多钱,但是这实际上对用户来说不是最优惠的方案。因此,最佳报价并不一定会带来最佳调整后价格。
一个很贴切的比喻是订机票。你有没有因为某个航空公司的航班看似比其它公司的航班便宜而订它的机票,最后却发现需要为选座位支付额外的费用,行李托运的收费也贵一点?虽然基础票价可能更便宜,但是加上杂七杂八的费用后反而支付了更多的钱。某些聚合器也是同样的道理:看似报价比其它聚合器高,但是一旦交易完成,实际到手的钱却低于预期。
但是,为什么会出现这种情况?
以1inch为例,因为它在报价和实际价格上的胜率最高。从报价到实际价格再到调整后价格,1inch的胜率呈阶梯式下降,从22%降至19%再降至14%。这意味着,1inch看似有20%的可能达成最佳交易。然而,一旦交易完成后扣除成本,事实往往并非如此。
通常来说,报价和实际价格之间产生差异的原因是,报价不准确,或者在报价到链上结算这段时间内市场价格发生变化,从而导致报价失效。实际价格和调整后价格之间的差异就是使用聚合器而产生的额外成本。
我们来看看所有交易所的准确性。交易所按照报价结算的概率是多少?
Paydex执行离线账户保护制度:据官方消息,Paydex已开始执行离线账户保护制度。此制度会将其用户账户的私密种子离线保存——它可以位于没有联网的计算机上,也可以在离线计算机上创建和签署事务,然后将其保存到 U 盘(或其它介质)并传输到具有联网权限的计算机上,该计算机将事务发送到服务器上。[2020/3/27]
准确性很重要,因为它可以建立用户信任,并反映聚合器的报价是否与终端用户实际支付的价格相符。如果有足够多的时间和样本,差异会趋于0。
正如上图所示,0xAPI和Uniswap始终存在正偏差,也就是说交易的报价至链上结算之间的价格波动对用户有利。也就是所谓的正向滑点。一旦发生这种情况,0xAPI总是会将正偏差传导给用户。
有趣的是,1inch的偏差始终小于零,也就是说无论市场价格如何波动,用户都得不到更有利的价格。偏差小于零也表明,聚合器正在使用过时信息报价,或者响应速度不够快。这些问题可能会导致交易回滚概率变高。如果发生交易回滚,虽然没有发生代币买卖,但是用户依然需要支付交易费。后文会给出详细解释。
现在,我们再说回成本,在以太坊上是以gas使用量衡量的。在下图中,我们可以看出这些交易所的gas使用量之间存在很大差异。
就聚合器而言,正应了那句老话「少即是美」。如果聚合器能给用户带来更多价值,那么成本高一点也无妨,但是正如我们之前在调整后价格胜率图中所显示的那样,大多数聚合器都无法做到这点。优化代码来降低gas使用量会提高聚合器将交易分割给更多来源以获取更多价值的可能性。
Uniswap是gas使用量最低的交易所之一,因此这是所有聚合商都应该追求的目标,尤其是对于那些小型交易来说。一笔价值100美元的交易根本不可能分割到多个交易所上,即使gas价格只有1gwei也是如此。
通常情况下,0xAPI的成本比Uniswap高。但是,正如调整后价格胜率图所示,虽然0xAPI在gas使用量上略高一些,但是它有70%的概率让用户获得最佳调整后价格。其它所有聚合器的成本至少是0xAPI的两倍,也就是说,为用户带来了双倍的成本,但是几乎没有创造额外价值。1inch和Paraswap是gas使用量最高的交易所,从它们在调整后价格上的低胜率也可看出这点。
为便于客观比较,以下是所有价值500至1000美元的模拟交易的平均成本:
paydex宣布自我数字钱包的场景功能:据官方消息,未来数字钱包的场景功能将越来越重要。paydex将重点发展三个方面:
一是保证钱包服务的安全、开放和便捷。
二是围绕资产增值需求,搭建数字资产管理平台,为用户提供丰富的金融产品。
三是打通数字资产与现实世界的连接,丰富数字资产应用场景。[2020/3/5]
0xAPI—$6.43
1inch—$13.58
DexAg—$13.41
Paraswap—$18.59
Uniswap—$3.93
过去8个月来,减少gas使用量一直是我们团队的重点。我们最初的目标是将交易成本降低50%。然而,在0xAPI1.0中,我们成功将平均交易成本降低了76%左右。就一笔5万美元的交易而言,0xAPI1.0的gas使用量约为46万gwei,0xAPI0.0的gas使用量约为150万gwei。这些优化已经将0xAPI变成了最高效的聚合器,无论交易大小如何。
事实上,gas价格在上个月已经远高于100gwei。我们想向你展示0xAPI在这种情况下的调整后价格胜率。我们进行了第二次模拟,手动抬高了gas价格,结果发现在gas价格较高的情况下,0xAPI的表现依然优于其它竞争者——在gas价格高于400gwei的情况下,提供最优调整后价格的概率为80%。
现在,再回到0xAPI和Uniswap的gas使用量上。通常情况下,0xAPI在gas使用量上高于Uniswap。然而,在70%的情况下,0xAPI提供比Uniswap更高的调整后价格。0xAPI是如何做到这点的?我们的0xLabs团队构建了一个高度优化的合约,可以让0xAPI通过比默认Uniswap合约更节省gas的方式获得100%来自Uniswap的流动性。这对于路由至单个来源的小型交易来说尤为有利。
以下图两个交易为例:
图左是直接路由至Uniswap的ETH<>UNI交易。图右是通过0xAPI100%路由至Uniswap的ETH<>UNI交易。正如图中的“交易的gas使用量”字段所示,Uniswap的交易成本约为11.4万gwei,0xAPI的交易成本约为11万gwei,后者比前者低了3.7%。某些链上状态和条件可能会改变结果,但是通常来说,通过0xAPI将交易路由至Uniswap的成本只会比直接在Uniswap上交易更低。
至此,我们已经讨论过了准确性和gas使用量,接下来该谈谈交易回滚了。当用户在这些交易所上交易时,交易失败的可能性有多大?
聚合器应该尽可能将回滚率维持在较低水平,因为在交易失败后还要支付gas对用户来说体验感很差。导致交易回滚的常见原因有:报价至链上结算这段时间内市场出现波动,以及报价不准确。
我们的模拟工具始终在完美条件下执行交易,即,资金充足、不限量gas和无抢跑交易。我们排除了由这些原因以及现实生活中用户行为导致的交易回滚。因此,对于所有交易所来说,模拟回滚率都低于实际回滚率。尽管如此,模拟回滚率可以很好地反映交易所的表现。
在上图中,0至10秒的延迟是最有趣的。延迟低于10秒则意味着交易立即执行,或交易刚提交后就被打包进了下一个区块。因此,在该延迟时段内,高回滚率意味着报价不准确。
一般而言,我们发现Paraswap的回滚率相比其它交易所是最高的,之后是DexAg和1inch。在人类行为不会导致交易回滚的模拟环境中,发生回滚的可能原因之一是报价过时或报价不准确。如果你还记得,DexAg和Paraswap的准确率最低。
接着来看回滚率对终端用户的影响。如果用户在每个交易所上进行100笔价值500至1000美元的交易,交易失败所造成的平均损失为:
0xAPI—$6.89
1inch—$62.52
DexAg—$3.47
Paraswap—$119.22
Uniswap—$0.21
在现实世界中,我们看到Uniswap的日回滚率高达30%,然而在我们的模拟环境下,较长延迟情况下的最高回滚率为1.3%左右。实际回滚率和模拟回滚率之间的差异意味着所有DEX的用户体验都有很大的改进空间,不过这是另一个话题了。
模拟实验的结果是,我们的0xAPI的模拟回滚率在不同延迟情况下都是最低的。0xAPI的模拟回滚率范围在0.6%至1.8%之间。在现实世界中,我们发现Matcha等集成0xAPI的应用的周均回滚率范围在3%至4%之间。
现在,还有一个我们尚未提及的重要指标:响应时间。Matcha等应用的终端用户可能对这一指标没有很深的感受。然而,当你在第三方基础设施上构建产品时,必须尽可能保证该产品是可靠且快速的。速度更快的聚合器可以让用户更快完成交易,减低滑点率和回滚率,并改善用户体验。
由于我们的0xAPI要从超过13个来源取样,保持较低的响应时间是一项技术挑战。然而,我们的目标是让0xAPI成为最专业的流动性聚合API。目前,0xAPI的响应时间约为1.5秒,对此我们深感自豪。
在本研究涉及的所有交易所中,1inch的响应时间是最长的,比0xAPI的响应时间高了2.7倍。1inch的响应时间为4秒,大约是挖出一个新区块所需时间的1/3,可能会导致时效性强的交易发生回滚,例如,在市场情况不断变化的高波动时期。
鉴于上述所有信息,如何选择最佳聚合器?我们可以计算各种交易场景下进行转移的平均收益或损失,从而得出从一个交易所转向另一个交易所产生的预期收益值。这就是用户的预期收益。
对于那些从其他聚合器转向Matcha之类集成0xAPI的应用的用户来说,低于1万美元的交易的平均预期收益为:
1inch—$7.17
DexAg—$10.36
Paraswap—$14.89
Uniswap—$17.14
总的来说,如果在1inch上交易的用户转向Matcha之类整合0xAPI的应用,平均每笔交易预期可获得7.17美元的收益。如果他们是从Uniswap转向0xAPI的,则平均每笔交易预期可获得17.14美元的收益。
总结
首先,很高兴你们能看到这里!
我们的目标是分享我们在构建0xAPI方面的收获,并阐明聚合器之间并不明显的关键差异。正如我们在上文提到的那样,我们想要让这个行业变得更加透明,并引起关于如何客观衡量和比较不同聚合器的性能的讨论,让DeFi开发者和交易者可以做出明智的决定。
通过公开我们的数据,我们希望推进DEX聚合器行业,并继续为DeFi开发者和用户构建最佳应用。
如果你是交易者,不妨来Matcha体验一下!
如果你是DeFi开发者,可以阅读我们的0xAPI1.0公告和0xAPI文档。如果你已经将0xAPI0.0整合进了你的项目中,转向1.0的迁移过程非常简单。为以防万一,我们写了这份指南。
非常感谢Ben、Jacob、Kroeger、Lawrence和Michael对本文的贡献和反馈。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。