由于以太坊的gas费越来越高,各种DeFi协议已将其服务迁移到L2解决方案,或直接在以太坊兼容的链上启动,而不是以太坊本身。由于L2解决方案的出现,许多DeFi协议正在采用后一种方法。

然而,尽管将现有的以太坊dapp移植到兼容EVM的链(如xDai,BSC)很容易,但用户体验仍然很棘手。

在本文中,我们将深入研究用户在另一条链上使用dapp时所面临的问题,以及链间交易桥(简称“ITB”)如何解决这个问题,然后就应该进行案例研究了。

来自用户POV的问题

如果用户主要在自己的桌面上使用以太坊dapp,那么其很有可能安装了Metamask。为了第一次与非以太坊链上的dapp交互,用户需要更改Metamask中的一系列设置。这个过程是这样的:

大多数用户在这个过程中会中途退出,这并不奇怪。

在另一端,我们只有手机用户。对于这类用户,如果他们使用的移动钱包不支持dapp所在的链,则就根本不能使用它。例如,如果用户正在使用Argent,就不能使用Pancakeswap (在BSC上等同于Uniswap)或Venus(在BSC上等同于Compound)——仅仅是因为钱包不支持BSC。

此外,有时一个协议在另一个链上有不同的设置。例如,以太坊、Fantom、BSC链上的货币市场Cream Finance,每个链上都有单独的资产列表供用户借贷(Fantom上有19个资产,BSC上有33个资产,以太坊上有50多个资产)。因此,用户需要切换他们的网络设置,以查看每个链所支持的资产,从而创建一个UX噩梦。

对新用户来说,最麻烦的是,给定的代币可能在不同的链上有不同的变体。例如,xDai上的USDC和BSC上的USDC是完全不同的、不兼容的代币。

在Component Finance上将USDC交换到USDC (BSC)

最后一个问题是,您需要为每个链持有不同的gas代币——BSC链持有BNB, xDAI链持有xDAI, Fantom链持有FTM等等。每个链的gas费也相差很大:1 Gwei通常在xDai上是可以的,而BSC强制执行最低10 Gwei的规定。对许多用户来说,gas费已经很困难了,而添加多个基础代币到组合中只会让情况变得更糟。

在审阅本文时,Metamask实现了EIP-3085,以允许dapp开发人员在他们的网站上添加按钮。用户可以点击按钮,在他们的Metamask上添加一个新的链设置,然后切换到那个链——确实是一个显著的改进。

链间交易桥如何解决这些问题

ITB的目标是让用户访问一个非以太坊dapp网站,连接自己的钱包(Metamask和移动钱包),并开始使用dapp,就像该应用程序在以太坊上一样。就是这样。用户不需要知道dapp在哪条链上。只需访问该站点,即可像使用任何现代web应用程序一样使用它。

这个功能现在已经可以使用了。

在后台,当用户发送一个交易时,它会自动传递到智能合约所在的链上。这就是为什么这种技术被命名为“链间交易桥”的原因。“此外,使用这种技术,任何非以太坊链上的gas费都由dapp开发者承担,交易通常在几秒钟内被确认。

你可能会想,这听起来好得令人难以置信。

在下一节中,将在实际环境中查看一个示例。众所周知,我们是第一次在Perpetual Protocol中使用这种技术。

如果迫不及待想自己尝试一下,请登录https://perp.exchange。

链间交易桥是如何工作的

首先,在解释ITB如何工作之前,理解什么是永久协议将会有所帮助。

Perpetual Protocol是一种去中心化的交易所,用户可以在其中连接钱包,直接对资产的价格走势进行推测,如果需要的话还可以利用杠杆。要开立杠杆头寸,用户需要存入USDC并将其用作该头寸的抵押品。如果用户开了一个多头仓位,而标的资产的价格上涨了,这对用户来说是一笔有利可图的交易(反之就是亏损)。

因为所有的事情都发生在Perpetual Protocol的链上,所以交易会在区块链上消耗大量的gas(即计算能力)。为了提供给用户一些背景信息,如果在以太坊上交易,每笔交易将花费大约100美元的gas费。因此,我们将智能合约迁移到xDai链,这是一个与以太坊兼容的链,每笔交易平均成本为0.005美元。

不幸的是,当2020年12月协议推出时,并没有多少人知道xDai Chain。前面提到的问题(设置Metamask;用户需要原生代币来支付另一条链上的gas费),这肯定会给采用带来很大挑战性。

为了克服这个问题,Perpetual Protocol的开发人员提出了ITB的想法,使用户甚至无需意识到就可以在另一条链上进行交易。正如AggroTrader在Twitter上所说:

有两个组成部分使ITB成为可能-元交易和入匝道/出匝道流程。

元交易

通常,当我们发送交易时,钱包会将签名的交易提交到区块链,如下图所示。

然而,对于元交易,钱包将把签名消息和其他参数传递给自动中继器。然后,中继器将事务提交给其他区块链。用户无需做任何事情就能从更便宜、更快的链中受益。

入匝道/出匝道流程

下一步是入匝道/出匝道流程,用户依靠此流程向xDai链存入和提取他们的资金。

单程有三个步骤:

1.授予在以太坊上移动USDC的权限

入匝道流程的最终目标是将用户的USDC迁移到xDai链,因此第一步是要求用户允许我们的智能合约代表他们移动USDC。

2.将代币转移到xDai桥

接下来,用户需要将他们想要存入的USDC金额转移到xDai桥的以太坊侧。网桥将保护已存入的USDC,直到用户要求从xDai链中提取资金。

完成此步骤后,用户无需支付gas费。

3.授予在xDai链上移动USDC的权限

一旦存入的USDC金额计入用户在xDai链上的地址,用户需要授予我们在xDai链上的智能合约权限,以便在xDai链上使用其USDC。从现在开始,我们使用元交易来执行用户对xDai链的交易。

现在,用户可以开始使用Perpetual Protocol进行交易,而无需支付gas费(他们只需要在钱包上签名,就像下面这样)!

出匝道过程大致相同,只是方向相反。用户批准USDC移动到xDai桥的xDai一侧。反过来,xDai桥的以太坊侧将在以太坊上的USDC释放回用户的钱包。

链间交易桥的缺点

每个设计都需要权衡,ITB也不例外。

ITB有两个缺点:

1)硬件钱包支持有限

由于技术限制,Trezor用户不能使用ITB,Ledger功能非常有限。当连接到Metamask时,这些流行的硬件钱包都不能与ITB一起工作。但是开发者可以使用上述新的Metamask功能(EIP-3085)来切换网络设置,这样硬件钱包用户在将资金发送到二级链后就可以使用dapp(由于元交易,仍然没有gas费)。

2)有限的适用范围

只有特定类型的dapp可以采用ITB,如合成资产交易、衍生品交易或保证金交易。对于其他服务,如现货交易,用户希望交易结束后在同一链上接收交换资产,所以ITB不会工作,除非所有交换资产已经在二级链上。

结语

我们相信ITB是在这个多链世界中创造无缝UX时缺失掉的关键。它允许用户与dapp交互,就像dapp驻留在以太坊上一样。此外,通过结合Metamask的最新功能,这项技术可以覆盖几乎所有类型的钱包。

关于

ChinaDeFi -  ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。如果您是从业者希望获得更多海外最新技术方案及项目信息,可以查看Gavin的“每日文章”笔记 https://day.chinadefi.com(内容可能比较生涩,但是相信可以带来帮助)。同时欢迎加入ChineDeFi社区,敬请关注我们的微信公众号 “去中心化金融社区”。

UBI.city - 关于未来组织结构的协议,我们将与近日陆续发布更多关于UBI.city的构想与设计机制,欢迎感兴趣的区块链技术爱好者、社区发起者、研究分析人与Gavin(微信: chinadefi)、Iris(微信: aris1132)联系,共同探讨UBI未来的可能性。