GAT:Ethport:Loopring 与 L1/L2/CEX 的双向航线

4月23日,imToken联合togETHer在杭州共同策划了一场以太坊L2扩容主题的线下Meetup。Looping的CTOSteveGuo分享了Looping新推出的ZKRollup桥接方案-Ethport。

Loopring分享现场视频

以下内容来源于Loopring官方博客对Ethport方案的介绍,由Ethfans社区翻译和整理。

概述

LoopringZKRollup用户可以利用批处理交易和零知识证明,在L2直接与L1DApp交互,便宜快捷Loopring现已支持便宜且资本高效的L2-L2双向转账中心化交易所可以使用标准的L1功能来将款项直接取出到Loopring的ZKRollup上,而且代价也能保持L2交易的低水平。用户从Loopring把资金直接存入中心化交易所也会变得更简单、更便宜Ethport将作为Loopring3.7版本的一部分,在2021年5月推出?

问题描述

我们当前的ZKRollup在降低转账和订单簿/AMM交易的交易代价上已经做得很好了。但是,虽然转账和操作是用户经常做的事,但有时候,他们也想做一些更复杂的事,需要与L1交互的事。而在以太坊上发交易的Gas费又是很贵的。

从中心化交易所中取款也一样,再加上,每种L2都有自己的特点,所以CEX并不那么容易支持直接取款到L2上。如果有一个标准化的L1接口,可以隐藏起所有的实现细节,同时还能保持像L2交易那样的低成本,想必是皆大欢喜。

如今,每天都有许多L2推出,用户也希望不需要经过L1就能在L2之间转账,否则极为繁琐。

即使未来会有更多功能直接做在L2上,要是这些问题没有解决,那也够呛。一部分流动性仍会留在L1上,直到更通用的L2变得更成熟。我们需要某些东西来开路架“桥”,跨过这个转型期。

解决方案

尽可能把工作都交给L2来完成,是降低用户成本的关键。通常来说我们可以把许多交易捆绑在一起然后上链,这样L1的Gas成本就能在这许多笔交易之间分摊。L2的交易用来执行实际功能,而且这样只需一笔L1交易就能满足所有用户的需要,这就大幅降低了Gas开销。

ZKRollup非常非常适合用来解决这个问题,因为L2的状态是随着相关的计算有效性证明提交到L1而立即获得终局性的。这不仅意味着像取款这样的操作可以一触即达,而且L1的交易可以立即使用L2上的数据,而无需担心无效的状态转换掺杂其中、需要回滚L2状态。

通常情况下,理想的解决方案都基于具体的问题以及我们想要的用户体验。我们先来仔细看看Loopring的工具箱里都有些什么家伙,各自都能解决什么问题,然后再来解释如何把它们呈给用户。

流动性提供者

这也是Loopring当前实现的阶段。我们依赖于专门的流动性提供者为L2提供流动性。当然,有时候这些流动性会用来在用户内部完成撮合。比如,某个人想把钱存入某个金库合约,而另一个人希望把钱从该合约中取出,那就直接让他们成为交易对手,这样至少有一个用户能实现自己的目标。最理想的情形是用户都能在彼此之间撮合交易,但用户的需求是无法预测的,并不总是能在够短的等待时间内完成。

这种办法的缺点在于,流动性提供者仅能利用自己手中的很少一部分资金。而且也需要全时段保证资金可用。ZKRollup已经非常适合这类流动性提供者了,因为资本不需要锁定很长时间,即使是小额的资金也能很快回收重用。但是,这还不是资金效率最优的形式,我们还可以做得更好。

单相变电站

要解决资本效率的问题,我们可以利用L2上的闪电铸币。如果在L2上每种token都能闪电铸币,我们就能获得任意所需数量:

闪电铸造出所有用户撮合之后所需的token数量,因此所有币币交易都能在L2上完成以可预测的汇率完成L2上的所有交易一次性取出所有用户集体卖出的token使用这些token来做L1交易,获得L2用户想要买入的真实token用这些token来偿还闪电贷如果在L2上的币币交易的汇率是完全确定的、而且L1交易绝对不会失败,那这种方法是完美的。但如果:

汇率大幅波动,无法预测需要执行的L1交易可能会失败这都是使闪电铸币无法偿还的风险。如果闪电铸币无法偿还,那就没法把这个块发到主链上因为它是无效的。这就意味着我们必须回滚L2上的所有交易、用新的交易创建一个新的区块、生成新的零知识证明……虽然在理论上可以接受,但实践中我们肯定希望避免这种情形。

双相变电站

要解决预测问题,我们可以分两个步骤来完成交易。在第一个阶段,我们先把所有用户的资金都收集起来,安排到一个币币互换专用的金库合约里。我们不是直接交付用户希望买入的token,而是给用户一种代表他在金库中的份额的token。然后就可以等待L1交易完成了,实际的汇率也能观察到。在第二个阶段,变电站收到的token可以在下一个区块中按比例分发给所有用户。

桥接器

桥接器是一个比变电站更强大的设计,但用户的单笔交易成本也会更高,因为有额外的L1费用。桥接器不仅能像变电站那样支持批量的币币互换,它还支持那些没有办法被抽象成一笔币币互换交易的L1操作。

桥接器也使高效的Loopring用户引导操作成为可能,办法就是批量存入。用户不必单个单个地把钱存到ZKRollup里面,批量存入功能可以直接在L1上使用一个标准的智能合约来实现,用户可以成批地进入L2的世界。如此一来,昂贵的L1代币转账可以简化为每种代币一笔转账交易,然后用便宜得多的L2转账在L2上完成分发。这也使得中心化交易所更容易使用标准的L1基础设施来支持Loopring。

桥接器也使得用户可以在L2上发起L1交易。首先,把所有这些交易的资金都收集到一个L2上的桥接器账户中;然后,在L1的桥接器合约我们运行所有发送给桥接器的转账。让用户在签名转账时添加额外的数据,桥接器就知道用户想用提供的资金做哪些L1操作。桥接器把用户的交易按照L1交易的类型分类成批,然后把成批的交易发送给对应类型的连接器。这些链接器都是简单的合约,在所有用户的交易和批交易做转换。桥接器提供了一个通用的接口,可以让用户连接到任意连接器合约,即使你并不知道连接器到底是干什么的,也无所谓!

每个用户都可以为连接器提供定制化的数据,也就是虽然用户的交易是以批次为单位处理的,但操作都是可以定制的。举个例子,如果一批用户想在Uniswap上做币币交换,每个用户都可以设置自己愿意接受的滑点。连接器可以只为那些滑点要求得到了满足的用户执行操作,但其他用户则只返回,不做操作。另一个例子是跨L2转账:用户可以设定TA的资金想要去往的另一个L2上的地址。

有些交易会需要给L2上的用户返回资金,另一些交易则不需要。连接器会使用同样的批存入功能来实现这一切,只要有需要。

?Ethport

Ethport是一个建立在上述设计上的、对用户友好的产品。

尽可能使用L2上可用的流动性如果存在最优化的变电站并且可用,那它就会走变电站,批量处理所有相似的L1以尽可能降低费用如都不可用,就使用通用的桥接器通常来说,用户会需要等待一段时间,直至有足够多的用户想做类似的操作,或者另一个用户/流动性提供者表示他们可以帮助这笔交易更快完成。我们把通用的DApp集成模块叫做“终端”,一个终端内每个单独的、可批处理的操作叫做“门”。

举个例子,如果用户想把ETH存入YearnETH金库,TA需要跑到Yearn终端,等待TA的交易在ETH门启动。

我们会根据用户的需要逐渐地添加终端和门。

---

其他几场分享的文字版也已整理完毕,会在后续分享给大家,敬请期待。

风险提示:本文内容均不构成任何形式的投资意见或建议。imToken对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。

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

链链资讯

[0:0ms0-3:757ms