关于跨链的简单想法
我们都只不过是在一个伟大的行业中尝试着推动行业的进步。推动着泡沫的出现,推动着泡沫的破裂,然后再出现在破灭直到沉淀在行业底层的技术、思想、哲学理念等内容越来越多,多到可以改变许多东西。
跨链从很久之前便是一个非常大的话题,并且诸多人相信未来是一个极大的赛道。随着行业的发展,Layer1 的公链愈来愈多,除了以太坊以为逐渐出现了有人使用,并且存有大量资产公链。因而对于链上资产转移的需求逐渐增加,跨链自然而然也受到了更多关注。
目前对于跨链资产转移的需求主要包含但不限于以下几类:
搬砖套利,类似于在不同交易所之间的套利。部分项目通常会选择在多条链上部署协议,而对于部分流动性较差(登陆中心化交易所较少或没有,同一条链上的交易量/流动性也较小)的项目,在刚开始部署其他链的时候,通常会出现较大的价差。比如 Flux 借贷协议,在 Conflux,HECO,BSC,OKExChain 都进行了部署,在 OKExChain 刚刚部署的时候,价格最高达到了 $70+(现已回归 $13),而在其他链的价格仅仅接近 $3。
DeFi 挖矿资金转移。这部分跨链转移的资产主要是相对主流的资产,比如比特币,以太坊,以及各类稳定币等。首先是比特币被各类跨链协议从比特币的链转移到以太坊链上,从而可以释放流动性,参与 DeFi 活动;而随着以太坊的 DeFi “暴利期” 消失,包括比特币,以太坊等资产的收益率逐渐降低(从年化几百个点到(稳健的挖矿收益)现在普遍在十个点一下)。而其他新兴的链(BSC)这些资产的挖矿收益还比较高,因而催生了将这些资产跨到其他链参与 DeFi 挖矿的需求。
以太坊 Gas 费用过高,小资金放弃以太坊上的活动,转移到更便宜的链上进行操作。
其他。如补仓、参加各类打新活动等。
综合来说,各类需求本质上都是资金在追求更高的利用率,更大的收益。
如何跨链?
目前跨链的方式主要包含两种,本文可能更多的是介绍探讨第二种,而第三种比较特殊不做过多讨论。
通过中心化交易所转移
通过交易所的转移方式相对较为简单,而且不需要懂得过多关于 DeFi 的知识。由于这种方式涉及到多次充值提现的过程,因而速度可能较慢,成本较高,可能还会遇到不同交易所的不同规则与限制(甚至暂停提现的情况);此外,还需要用户在多个交易所都有注册账号。
通过去中心化的跨链协议转移
跨链协议可能是 Crytpo 领域最为推崇的方式。这种方式不需要拥有任何中心化交易所的账号,完全使用用户自己的钱包进行。需要了解基础的 DeFi 知识,速度比第一种速度更快(因为操作的交易笔数少,而且没有审核过程),成本则取决于链上的拥堵程度。
OTC/P2P
为了解释第一种方式,假设下面的场景:
假设阿矿想要把 1000 USDT(存在 ETH 链),从 ETH 链转移到 BSC 链上
将 1000 USDT 通过 ETH 充值地址,充值到 Binance 交易所(支付 ETH Gas 费);
等待到账;
发起提现申请选择 BSC 链(支付 Binance 收取的提现费用);
等待 BSC 钱包到账
若一段时间后,阿矿发现在 Solana 链上的挖矿收益更高,想把 BSC 的 1010 USDT(挖矿赚到了10)再转移到 Solana 上,则:
通过 BSC 钱包充值到 Binance 交易所(支付 BNB Gas 费);
等待 Binance 账户到账;
到账后发起提现申请,地址填写 FTX 的 USDT 充值地址,选择网络(支付提现费用);
等到 FTX 到账;
从 FTX 交易所提现,选择 SPL(Solana 链的 Token 类型),输入自己的 Solana 钱包地址发起提现;
等待 FTX 交易所提现成功;
到账 Solana 钱包
在这个过程中还涉及到不同链的选择,不同交易所的提现费用/折扣也有不同,提现需要的审核时间也不同,最终还要上链,链上处理。具体情况还需要根据具体的交易所而定。
而第二种方式则操作的复杂度上要少许多,选择好资产、链与地址即可。
跨链协议
目前着重于实现跨链的项目有很多,这些项目也是参差不齐,这里只是挑选了一些用过/仔细看过的一些项目进行。
这些跨链协议目前实现跨链的方式都是利用在不同链上部署流动性,然后用户发起跨链申请时先后触发不同链的流动性变化,最终实现用户在一条链上的资产减少和另一条链上的资产增加。
比较简单的理解目前跨链协议的方式是:在某银行的 A 城市的网点存钱,后在某银行的 B 城市 取钱。实现在不同城市(链)的资产跨越。只是 DeFi 领域的跨链是一套完整的操作,如果更加贴切的比喻,则可以将上述例子细节成:
用户在某银行的 A 城市网点存钱,并且同时马上想在 B 城市的网点取钱(假设用户在该银行之前并没有任何存款,B 城市取钱的人不重要,忽略)
用户存入(假设)100 元后,A 城市的网点确认存入 --- 存入交易;
A 城市网点的工作人员/系统通知 B 城市网点的工作人员/系统有该笔存款; --- 跨链交易
B 城市网点向取钱的用户发出存入的 100 元;--- 取出交易
所以目前跨链协议的实现都还是上述的方式,用户向 A 链的合约存入资产,并触发合约,B 链的合约接收到之后触发合约,向 B 链的该用户指定地址打(约)同样数量的资产。
而且目前大部分协议实现的功能都是同类资产的跨链,比如 USDT 换成另外一条链的 USDT;目前还没有协议支持不同资产的跨链交易,比如在用户一次操作中实现以太坊上的 ETH 直接跨链兑换成 BSC 上的 BNB。
这个原因主要是兑换比例的问题,但是已经有协议能够实现不同稳定币之间的跨链:BSC 上的 BUSD 直接跨链兑换成 HECO 上的 HUSD。
Anyswap
Anyswap 是其中一个广为人知的跨链项目,目前市值在 1.1 亿美元左右。并且 Anyswap 也是许多跨链项目的底层协议,有部分跨链协议的实现方式其实都是通过借助 Anyswap 实现。
Anyswap 目前支持八个网络(包括 Layer1 和 Layer2),分别是 ETH,Fusion,BSC,Fantom,HECO,Polygon,xDAI,Avalanche。Anyswap 的操作相对比较简单,选择好资产所在的网络,然后选择目标转移的网络即可。
Anyswap 目前支持的资产种类有限(其实这不是 Anyswap 的问题,而是大部分跨链协议都有的问题)。因而 Anyswap 开放了 “上币” 的功能,用户/项目可以自行申请将资产纳入支持的范畴,由 Anyswap 团队审核。
除了上币的功能外,Anyswap 也有 DEX 都有的交易、添加流动性,以及部分有的挖矿模块。Anyswap 在 Fusion 公链搭建,同时在不同的链都有所部署。
Multichain(multichain.xyz)
Multichain 也是类似于 Anyswap 的跨链协议,只是其功能更加简单,仅仅支持资产跨链。操作和使用都更加友好方便。(个人推荐如果需求仅仅是跨链则可以尝试使用。)
实际上 Multichain 使用的正是 Anyswap 作为底层,两者基本一致。(BSC 上的 Anyswap 合约中的 ETH 叫做 anyETH,而同样 BSC 上的 Anyswap 合约中的 USDC 则叫做,Multichain USDC(我记得之前是叫 anyUSDC))。
Nerve Finance
Nerve 同样利用 Anyswap 作为底层,具体操作上有些许区别。但是 Nerve 暂时只支持了 BTC、ETH 和 BSC 三条公链。
O3 Swap
O3 Swap 也是一个跨链项目,同时也是目前唯一一个可以实现不同资产之间兑换的协议,由 O3 Labs 开发。O3 并没有使用 Anyswap 作为底层,这意味着 O3 需要在不同的链上构建一个庞大的资金网络。但是 O3 的思路可能有些不同(我的猜测),不用支持大量资产的跨链,只要有一个庞大且流动性极好的稳定币池即可。
首先稳定币本身可以互相兑换,目前 O3 支持 ETH 上的 USDT,BSC 上的 BUSD 和 HECO 上的 HUSD 三者之间的两两任意兑换,价格浮动。兑换时只要一方有以太坊,则交易费用会陡增。
除了稳定币的池子外,O3 支持用一条链的稳定币购买另外一条链的资产,并且提供最优的价格路由。
比如下图便是把以太坊上的 WETH 卖成 BSC 上的 BUSD,实现不同资产的跨链交易。
其实现的逻辑是,现将 WETH 在 ETH 上卖成 USDT,在将 ETH 上的 USDT 利用上面的稳定币池子兑换成 BSC 上的 BUSD 给用户。就上面的这个过程,O3 会尝试不同的路由方式,推荐最优方式,具体如下图所示:
其实从这一步:稳定币与任意资产的兑换,到下一步:任意资产到任意资产的跨链兑换就很简单了。只需要在跨链路由加一步:把任意一端的稳定币兑换成目标资产/或相反的操作。比如把 ETH 上的 AAVE 兑换成 BSC 上的 CAKE:
跨链协议通过连接以太坊上的 DEX(如 1inch),找到最优价格把 AAVE 兑换成 USDT;
利用跨链资金池把 以太坊上得到的 USDT 兑换成 BSC 上的 BUSD;
在 BSC 上利用 DEX(如 PancakeSwap)兑换成 CAKE;
把 CAKE 给用户;
这样就实现了任意资产的跨链交易。并且不需要跨链协议支持任意资产,只需要有一个流动性极好的稳定币池子即可,并且这个稳定币的池子由于都是稳定币,用户在提供流动性时,不需要像其他资产一样那么的担心无常损失。
Polynetwork
Polynetwork 实际上是 O3 Swap 利用的协议。从用户层面的感受,Polynetwork 支持的链与 Anyswap 不同,具体包括 NEO,ONT,BSC,SWITCHEO,HECO,ETH,CURVE,并且正在计划支持 OKExChain。
此外,Polynetwork 目前还支持 NFT 的跨链,具体支持 ETH、BSC 和 HECO 三条链的 NFT。
Chainswap
Chainswap 协议采用的是 “质押” - “铸币” 方式。目前支持以太坊,BSC 和 HECO 三条公链。此外,Chainswap 还计划支持 Solana 公链。
Chainswap 的方式是,用户首先向智能合约抵押资产,Chainswap 节点验证抵押资产,完成后便通知侧链的智能合约铸造(Mint)相同数量的资产;
反过来也是类似,用户向侧链的智能合约质押资产(后销毁),得到节点的验证后,再把之前质押的资产还给用户。
问题
流动性和资金利用率的问题
已经大规模使用的协议(如 Anyswap)对于跨链资产的流动性有着非常强烈的需求,这意味着在跨链协议的生态内部,所有支持的资产需要在不同地方要有足够的存量以满足用户的需求。当资金的流向为单向时,可能会出现某端(某个链)的流动性枯竭的情况。而用户感受到的便是存入资产成功,但是在另外一条链上无法获得资产以为是资产丢失,这种情况在之前 Famtom 链上发生过一次。
Fantom 网络中的 FTM 被提光,跨链的用户需要等待 Fantom 端的合约中流动性得到补充后才能获得跨链的资产。
大量资产才能够获得流动性意味着大量资金的使用效率比较低,这一点在 DeFi 行业对于资金需求极大的情况下显得尤为重要。可能暂时市场还没有感受到这个问题,但是一旦规模扩张,必然是一个非常棘手的问题:大量类别和数量的资金需要乖乖的在合约里等待,防止用户有流动性的需求。
依赖于一个强大的稳定币池子有助于解决这个问题。即除了稳定币以外的的资产只需要在原来的位置(DEX),只要各个链上的 DEX 流动性足够,那么依靠着稳定币在不同 DEX 之间的兑换,就能够解决对于除了 DEX 之外的资产需求问题。而稳定币在池子里自然而言要有足够大的存量。
多说一句,一旦这种情况出现,一定又会有项目来试图解决跨链协议的大量资金沉淀的流动性问题。其实就是把存在跨链协议中的资产凭证拿出来作为资产进入 DeFi 活动,若是稳定币则还好,若是其他资产则必然会加大风险。
跨链是否真的有需求?
以上所有的内容都建立在跨链是否真的有需求的基础之上,正如前文所说,很多人认为跨链是一个极大的赛道。但是同样也有不少人认为以太坊作为一切的开始(不说比特币),只要解决了交易拥堵的问题,其他链上的功能在以太坊上都能够实现,以太坊最终会统一所有的公链,可能到最终只需要一条公链就够了。
这个问题暂时其实没有答案,至于最终结果是如何,我们都只不过是在一个伟大的行业中尝试着推动行业的进步。推动着泡沫的出现,推动着泡沫的破裂,然后再出现在破灭直到沉淀在行业底层的技术、思想、哲学理念等内容越来越多,多到可以改变许多东西。
目前还没有协议支持不同资产的跨链交易,比如在用户一次操作中实现以太坊上的 ETH 直接跨链兑换成 BSC 上的 BNB。
这句话稍微有点问题,thorchain 目前就可以实现跨链资产的互换,目前支持 btc, eth, 和币安链等。但是产品还不算太稳定吧。