SOLVE:Cobo 安全团队:1inch 升级功能 Fusion Swap 体验分享

前段时间,著名的链上聚合器1inch发布了最新功能FusionSwap,该功能旨在让客户在交易过程中免除手续费,零滑点并减少用户被MEV的风险。根据描述,该功能似乎是Limitorder和PrivateTx的结合体。从这方面来看,该功能大大增强了用户体验。为了探究其中的原理与研究其中是否存在一些文档中没提到的用户交互过程中需要注意的地方,本文结合实际体验和官方文档,对这个新功能做一次较为全面的解析。原理分析

根据1inch官方文档对Fusion功能的介绍,Fusion功能实现上是基于1inchV5聚合器合约。不同的是这次1inch在此基础上引入了新的概念,名为resolver。我们首先来看看官方对resolver的定义:

从描述上看,不难发现resolver是专门用于处理FusionSwap订单的,也就是说针对FusionSwap类型的订单,只有注册的resolver才可以处理。为此,1inch也提供了一份关于如何成为resolver的流程:

俄罗斯计划设立新机构来开采加密货币和结算国际支付:金色财经报道,俄罗斯监管机构负责人Elvira Naiullina周一表示,俄罗斯央行正在制定一项法案,该法案将引入一种“实验性法律制度”,允许加密货币专门用于进出口交易。Naiullina补充说,俄罗斯境内的加密交易和支付仍将被禁止。作为监管的一部分,将为矿工引入新的税法。

央行的计划包括建立专门的组织,负责加密货币开采和处理跨境贸易协议的支付。根据2020年通过的当地法律,在俄罗斯境内发行的数字资产也可以与全球分散的加密货币一样用于此类跨境交易。[2023/4/20 14:14:54]

从指引上来看,成为resolver的条件是抵押1inch代币,不过这里最关键的信息在第一条:成为resolver的条件是需要抵押额在所有抵押中的前5才能获得处理FusionSwap订单的资格,并且这个订单只能由resolver来处理。

DappRadar报告:Web3游戏项目在2023年Q1吸引了7.39亿美元的投资:4月6日消息,据DappRadar和区块链游戏联盟的最新报告,Web3 游戏项目在2023 年第一季度吸引了7.39亿美元的投资。这些资金中有将近60%(4.34 亿美元)是在2023年3月筹集的。2.14亿美元投资于游戏和元宇宙公司。另外还有1.59亿美元用于基础设施公司。相比之下,投资于NFT公司的1000万美元只占总资金的一小部分。(Venture Beat)[2023/4/7 13:49:08]

除了resolver之外,描述中同时也提到了另外一个名词——DutchAuction,从描述上来看,就是一个兑换率会随着时间不断减少的限价订单。这里似乎有点矛盾。为什么已经是限价订单了,还可以兑换率不断变化?为了弄清楚这个问题,Cobo安全团队专门去体验了一下。找到了一些关键的信息:

摩根大通:将Coinbase目标价从52美元上调至57美元,但维持中性评级:2月22日消息,周二,摩根大通在一份研究报告中表示,Coinbase(COIN)第四季度调整后每股亏损(EPS)2.46美元,超过摩根大通预计的每股亏损2.85美元,但低于彭博社普遍预期的每股亏损2.17美元。该银行将Coinbase的目标价从52美元上调至57美元,但维持中性评级。截至发稿时,Coinbase股价在盘前交易中下跌1.5%,至61.16美元。

Kenneth B. Worthington为首的分析师写道,到目前为止,2023年加密货币整体交易量显著改善,加上2023年第一季度的成本削减略好于预期,Coinbase在当前费用水平下实现了EBITDA(税息折旧及摊销前利润)的显著同比改善。(CoinDesk)[2023/2/22 12:23:13]

以上是Cobo安全团队其中的一笔兑换交易的细节。从调用的函数中来看,FusionSwap功能其实就是调用了最新的V5Aggreation合约的fillOrderTo函数,该函数确实是一个只用于处理限价单的函数,通过makingAmount/takingAmount来确定对应的兑换比率,并在函数逻辑中把交易最后返回的amount和takingAmount进行对比,检查是否满足限价条件,交易中的兑换率是需要用户签名的,无法更改。所以这里无论怎么看都是纯纯的限价订单。那动态的兑换率又是如何实现的呢?我们一起来看看1inch官方针对DutchAuction的描述,如下:

Memeland船长NFT“CaptainZ”12分钟内完成发售,团队收入约为9801枚ETH:1月5日消息,Memeland船长NFT项目“The CaptainZ”发文称,开启铸造后669秒收到超过9,999笔存款,并因此停止了Waitlist资格的铸造。“The CaptainZ”已于北京时间今日00:00开启铸造,铸造时间48小时,铸造价格1.069ETH,拥有铸造资格的用户包括:Memelist、PotatoZ或者Waitlist持有者。截止发稿,已有14546名用户参与。

“The CaptainZ”是Memeland生态体系中的第三个项目。根据项目官网信息,实际仅有9169个船长NFT可供铸造,其余未被铸造的CaptainZ将被归入Memeland Treasury,预计团队收入为9801.661枚ETH。[2023/1/5 9:54:05]

多签钱包Gnosis Safe已完成第二次回溯空投快照:金色财经消息,Gnosis团队产品经理Lukas Schor在推特上表示,多签钱包Gnosis Safe已完成面向用户的第二次回溯空投快照,但并未透露快照的具体区块高度。

此前消息,GnosisDAO关于分拆Gnosis Safe并推出SAFE代币的提案已通过,SAFE代币将用来管理Gnosis Safe生态系统和基础设施。同时,GnosisDAO将在瑞士设立独立的Safe基金会,以保护战略性的链下资产(IP、Github存储库、战略投资)。根据该提案,Safe基金会将铸造10亿枚SAFE代币。[2022/5/21 3:31:36]

Cobo安全团队从中摘取了一些关键信息:

1、这个限价订单是存在等待时间的。2、限价订单最开始的兑换比率是用用户理想情况能兑换出的代币数量来计算得出的。3、随着订单等待时间的推移,兑换比率会逐渐下降,也就是说用户能得到的代币数量会越来越少。

明白了这些信息后,结合实际体验过程中的所调用的函数和resolver的作用,不难推断出其实FusionSwap功能就是利用限价订单的模式,把兑换率设置为用户可以获得的最低数量的代币反向计算出来的兑换率,然后剩余的浮动部分,也就是用户额外能得到的交给resolver来决定。随着时间的推移,用户能得到的部分会越来越少,但是这个“少”仅仅是resolver决定的少,而并不体现在链上,毕竟用户签名的订单信息,已经设置了最低的兑换率。

在1inch的文档中,有对这部分做了一个详细的图表,我们拿其中一个来进行分析:

通过这个图,其实不难发现,在等待的过程中,订单发布给resolver后,兑换率是随着区块推移分成3段不同的斜率下降的,并不是一个匀速的过程。在这个过程中,等待10个区块后的斜率最大,最后跌到用户设置的最低兑换率中。整个过程中,用户最大损失为0.1%左右。按目前以太坊12秒一个区块来看,15个区块就是3分钟的的时间,也就是说如果用户的订单发布了3分钟之后如果没有任何resolver愿意成交,那么作为用户,就需要承担0.1%左右的损失。而这个图只是其中一个例子。根据不同的兑换交易对和市场情况,曲线可能会存在不同的形态,即用户最低代币返回数量也会有所不同。通过上面的简单分析,其实我们已经可以对FusionSwap这个功能下一些简单的定义,方便我们后续的一些分析:

1、用户签名一笔限价订单,兑换率设置为当前价格的99.9%。2、交易本身只会由resolver进行处理,类似进了交易隐私池,别人无法抢跑用户的交易。3、resolver有权选择是否处理这笔订单,并调整用户设置的最低代币返回数量部分以外的数量,这个浮动部分最低可以是0。4、订单最长的等待时间为3分钟。

产品优缺点分析

通过上面的分析同时结合Cobo安全团队的体验来看,FusionSwap这个功能的优缺点如下:

优点——手续费

FusionSwap本身的订单直接交给resolver进行处理,用户本身只需要负责签名,该过程特别适合一些刚好就没了手续费或者以太坊网络突然繁忙导致预留手续费不够的情况,特别是网络繁忙的时候——一般都是市场出现下跌的情况,这种场景下可以零手续费快速交易的场景显然是非常重要的。

优点——MEVProtect

延续resolver的话题,由于resolver本身来处理交易,在交易超大额(100万美金以上),用户可以不考虑可能的被抢跑的风险,相当于交易放进了一个隐私池中,会有resolver专门去处理你的交易。

缺点——时间成本

一笔完成的交易需要最长等待3分钟的时间来完成,在市场瞬间下跌或者波动比较大的情况,由于resolver无法找到合适的兑换率导致用户无法快速成交订单。最终在10个区块之后承担大斜率的兑换率下降,严重影响收益。如果同样的兑换场景下,Gasfee多给一点,只需12s就成交了。

缺点——隐含的滑点损耗

通过上面的分析,我们知道FusionSwap这个功能并不是描述所说的零滑点,而是兑换的过程的滑点,即等待的过程中滑点已经产生了。以上面1inch给出的图为例,这个滑点最大是0.1%,50,000USDC最差的情况下会损失50USDC左右。但是结合Cobo安全团队的多次体验,这个滑点的部分并不能由用户来签名在进行前端交互时决定,用户在签名交易订单的过程中,只能签名设置交易返回的最小值。所以理论上,resolver可以无视市场真实价格,直接按照用户签名的最低返回数量来撮合用户的交易订单。由于算法本身并不透明,用户无法预估真实的返回额,导致用户需要自行承担这部分的风险。相比之下,使用1inch传统的兑换,在网络繁忙的时候交易费也仅为40美元,远低于用户需要承受的损失50美元。

为了真实还原,Cobo安全团队也做了适当的模拟,如下:

通过真实的交易过程,可以发现用户实际的兑换滑点在0.6%左右,而签名中的takingAmount也是只指定了最低返回数量。

总结

结合使用体验上,1inch的FusionSwap功能,除了官方提到的优点之外,用户还需结合自身的场景和使用情况来使用这个功能。在行情波动较大的时候,由于无法预知兑换率的斜率,可能会导致等待时间中用户需要承担较大的损失。从分析来看,等待时间是FusionSwap最大的不可控因素。但是总体来看,该功能适合价格波动较小的时候进行兑换或者进行稳定币之间的兑换,这种情况下就不需要担心因为时间流逝而导致兑换率下降。在市场行情波动较大的情况下,尝试使用1inch的传统兑换会是一个较好的选择。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-1:442ms