ETH2

通往L2互操作性的道路

来源 | StarkWare

 

摘要

  • L2互操作性意味着用户可以以尽可能小的L1摩擦在L2系统之间转移资金。
  • 本文所提议的L2互操作性解决方案基于我们此前建议使用的条件式交易密码学基元
  • StarkEx 2.0(于2020年11月推出)将使用链上条件式交易,提供L2-L1之间的互操作性(即快速提款)。
  • StarkEx 3.0 (于2021年2月推出),将使用链下条件式交易,提供在StarkEx系统之间的L2-L2互操作性。

 

背景

Layer-2扩容解决方案发展迅速。以太坊主网上已经有多种有效性证明系统,还有一些欺诈证明系统也推出了测试网。L2解决方案虽然提供扩容性,但会带来一定的代价:我们完全在L1上操作所具有的一些优势可能会遭受损害。

我们并不希望某个L2解决方案一家独大:不同的App对扩容性的需求各不同,因此可以根据自身需求选择适合的L2解决方案。接下来,让我们给大家解释两个重要的术语:

  • 互操作性 (Interoperability)允许用户在app1 (初始环境) 和app2 (目标环境)之间高效地转移资金。
  • 可组合性 (Composability):能够将app1…appn包含的操作组合成一次交易以发送。
    注意:可组合性将在之后的一篇文章中详细讨论。

除了上面所提到的定义之外,我们还需要着重解释什么是“条件式交易 (Conditional-Tx)”,这一重要基元让互操作性成为可能。

条件式交易

条件式交易是一个由密码构建成的区块 (我们在某篇文章中首次讨论过这一概念),旨在为无需许可的区块链实现互操作性。条件式交易指某笔交易生效与否,取决于某些事件是否发生 (如支付有无发生,状态有无改变)。从概念上来讲,我们首先在初始环境设定一个条件式交易,一旦特定的条件在另一个环境 (即目标环境) 中得到满足,该交易便生效。

 

循序渐进

尽管目前没有一个更好的方案,用户总是能够将资金从初始L2上转移至L1上,再从L1上转移至目标L2上。这个简单粗暴的方法既慢又贵,并且随着用户对互操作性的需求增加会越来越慢,越来越贵。

我们需要做得更好,为此,我们特地做了以下计划,循序渐进地实现L2互操作性。

阶段I StarkEx (L2) → Ethereum (L1) — 快速提款

快速提款”(Fast Withdrawals) 可以解决用户需要快速地从L2系统StarkEx中提款至L1的问题。通过快速提款,用户不仅可以将资金转到自己的L1地址上,还可以转到L1的任意目标地址中,比如Compound、Aave等。重要的是,这允许用户在进行提款时以“区块时间”来衡量,而与StarkEx对批量交易进行证明的频率无关。

用例:Alice想要从她在L2上的 dYdX账户转移1个ETH至她的L1地址上。

参与者:

  • Alice (在L2上持有ETH的用户)
  • LP (在L1上持有资金的流动性提供者)
  • 在初始环境中的StarkEx运营者 (在上述的例子中即dYdX)

图1:快速提款流程

流程:(1) Alice给LP发送一笔价值为1 ETH的条件式交易 (还要加上给LP的手续费),条件为LP需向Alice的L1地址上转1 ETH;(2) LP在L1上转了给Alice之后,条件式交易生效,然后 (3) LP将该条件式交易提交给运营者,随后被打包进下一批等待被证明的交易中; (4) 等到这些证明被提交至L1并得到验证后,LP在L2的账户便收到了Alice的转款。

定期再平衡:LP需要定期地拿出他们在L2账户中逐渐积累的资金,补充他们在L1账户中逐渐消耗的资金。

阶段II: StarkEx (L2) → StarkEx (L2)

最初的StarkEx部署将各自托管一个应用程序。在本阶段,我们希望用户能够在这些不同的应用程序之间快速地转移资金。这很像快速提款,我们希望最小化用户的链上成本,以及省去他们等待下一批交易打包证明的时间。

用例:Alice想要从她的dYdX账户 (L2_1) 向她的DeversiFi账户 (L2_2) 转1个ETH。

参与者:

  • Alice (在L2_1上持有ETH的用户)
  • LP (在L2_2上持有资金的流动性提供者)
  • 初始环境上的StarkEx运营者 (在上述的例子中即dYdX)

图2:链下条件式交易流程

流程:(1) Alice在L2_1上给LP发送一笔已签名的价值为1 ETH的条件式交易 (还要加上给LP的手续费),条件为LP需向Alice的L2_2账号转1 ETH;(2) LP向Alice的L2_2账号上转钱之后;(3) 该笔支付被打包进一批交易中,随后被L2_2的运营者证明,并在L1上被验证。这批交易发布在L1上并被接受后,Alice发送的条件式交易便生效;(4) LP将该笔条件式交易提交至L2_1的运营者中,打包进下一批等待被证明的交易中;(5) 一旦这批在L2_1上交易被证明且提交至L1得到验证之后,该LP在L2_1上的账户便收到了Alice的转款。

定期再平衡:LP需要根据L2_1和L2_2这两个系统之间的资金流向,定期地再平衡两者之间的资金。

在这一阶段,支持互操作性的主要成本将是给LP们支付的资本成本;需要注意的是,他们的资本成本经过非常有限的一段时间便回笼,也就是从向用户提供流动性到运营者打包处理下一批交易这个时间。我们预测这个时间开始时需要几个小时 (大部分时候),然后随着(所有StarkEx应用中的)吞吐量不断增加,这个时间会减少至证明生成时间 (几分钟)。

阶段 III: L2 → L2

在阶段2的基础上进行扩展,允许资金在任意的L2解决方案之间转移,无论是有效证明系统还是欺诈证明系统 (如Optimistic Rollup、Plasma)。这里需要提醒的是,Optimistic Rollup在使用LP来支持互操作性时,会面临其本身固有的资本效率低下的劣势(参考此处)。

 

信任模式

现在归纳一下我们所依赖的信任模式。

对用户来说
完全去信任的。

对LP来说
LP需要信任运营者 (初始环境中的),即相信其会打包他们的有效条件式交易,也就是说在处理过程中不会审查他们。这种信任可以通过几种方式进行消除。

如果运营者没有及时处理LP的条件式交易,LP可以:

  • 抗审查:提交被审查的条件式交易到链上的运营者的智能合约中,这会冻结运营者,使其之后提交的证明都无法得到处理。
  • 安全抵押:提交被审查的条件式交易到链上的一个安全抵押智能合约中,从该合约中直接接收资金。

 

发展路线图

  • 阶段1将在2020年11月发布于以太坊主网 (即StarkEx2.0),阶段2将于2021年第一季度发布 (即StarkEx 3.0)。已经有一批LP排着队等待提供服务了。
  • 阶段3将紧随其后。我们预测不同的L2解决方案上的应用之间也会有进行互操作的需求,并且渴望与其他L2解决方案讨论互操作性的实现。

 

声明:ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系ethereumcn@gmail.com进行授权。