通往 Layer-2 互操作性的道路
四句话总结
-
Layer-2 互操作性的意思使用户可以在 Layer-2 系统间迁移资金,并且在 Layer-1 上的摩擦力是尽可能小的。
-
本文所提及的 Layer-2 互操作性解决方案都基于我们之前建议使用的 “条件性交易密码学元件”。
-
StarkEx 2.0(预计在 2020 年 11 月推出)将使用 链上 的条件性交易来提供 Layer-2 to Layer-1 的互操作性(快速取款)。
-
StarkEx 3.0(预计在 2020 年 12 月推出)将使用 链下 的条件性交易来提供 Layer-2 to Layer-2 的互操作性(快速取款)。
背景
Layer-2 (L2)可扩展方案进步迅猛。以太坊主网上已经有很多个有效性证明系统了,也有不少欺诈证明系统已经推出测试网。L2 方案提供了可扩展性,但也有所牺牲:使用了 L2 方案,完全运行在 L1 上所能获得的一些好处就会被打破,或至少有所减损。我们不认为有某个 L2 解决方案能完美解决所有需要:不同应用对吞吐量扩展的需要大不相同。应用们自己会在丰富的 L2 设计库里面挑选自己合用的。
在进一步介绍以前,我们先对两个重要的术语下一个定义:
-
互操作性 (Interoperability):能让用户在应用1(初始环境)和应用 2(目标环境)之间高效转移资金
-
可组合性 (Composability):能在一笔交易中操作 app_1、app_2、···、app_n。(可组合性不是本文的主题。我们下次再专门聊。)
除了这些松散的定义,我们还需要一个增强版的条件性交易。这种重要的元件是产生互操作性的关键。
条件性交易(Conditional-Tx) :
这是一种密码学元件(此处是我们初次提出这种方案),可用来在免信任的区块链上实现互操作性。条件性交易,就是依赖于一些事件的发生或不发生(例如:某笔支付、某一次状态变更),来决定自身生不生效的交易。给个基本的概念就是,我们可以在初始环境中定义一笔条件性交易,然后等它指明的条件在另一个环境(也就是目标环境)中得到满足,它再生效。
循序渐进
在更好的解决方案缺位之时,至少,用户总能够把资金从初始 L2 迁回 L1 上,再转而投入目标 L2。这种粗暴的方式既慢又贵,而且随着需求量的增加会变得越来越慢、越来越贵。
所以我们要做得更好才行。实际上,我们计划按照下列步骤,循序渐进地实现更好的方案。
Phase I:StarkEx (L2) → Ethereum (L1) — 快速取款
“快速取款” 可以解决用户需要快速从 StarkEx 系统中取出资金到 L1 上的问题。它不仅仅能把资金发送到用户自己的 L1 地址上,也可以把资金发送到 L1 的任意目标地址上,比如 Compound、Aave,等等,都行。重要的是,用户取款的时延将以 “区块时间” 来衡量,与 StarkEx 为批交易生成证明的频率无关。
使用场景:Alice 希望把自己在 L2 的 dYdX 账户里的 1eth 发送到自己在 L1 的地址上。
参与者 :
-
Alice(一名在 L2 上有存款的用户)
-
LP(在 L1 上有资金的一名流动性提供者)
-
初始环境中的 StarkEx 运营者(在上述例子中就是 dYdX)
- 图 1:快速取款流程 -
流程:(1)用户向 LP 传递一笔条件性交易,承诺支付 1eth(加上 LP 的手续费),条件是 LP 在 L1 上把 1eth 打给 Alice 的 L1 地址;(2)等 LP 在 L1 上给 Alice 打钱之后,该笔条件性交易生效;(3)LP 把该笔条件性交易发送给运营者,等待它被打包到下一批待证明的交易中;(4)等下一笔证明被提交到 L1 并得到验证之后,该 LP 的 L2 余额增加,反映他从 Alice 处得到的资金。
定期再平衡:该 LP 需要定期拿自己在 L2 账户中(逐渐积累)的资金来补充自己 L1 账户中(逐渐消耗)的资金。
Phase II:StarkEx (L2) → StarkEx (L2)
最开始的 StarkEx 是每个实例托管一个应用。到了这个阶段,我们希望用户能够在这些不同的应用之间快速地迁移资金。很像快速取款,我们也希望能帮用户尽可能降低链上的开销,并且不用等待自己的取款交易在 L2 上打包和证明。
使用场景:Aliece 想把自己在 L2_1 的 dYdX 账户上的 1eth 转移到她在 L2_2 上的 DeversiFi 账户上。
参与者 :
-
Alice(一名在 L2_1 上有存款的用户)
-
LP(一名在 L2_2 上有资金的流动性提供者)
-
初始环境中的 StarkEx 运营者(在上述例子中就是 dYdX)
- 图 2:链下条件性交易流程 -
流程:(1)Alice 向 LP 传递一笔签过名的条件性交易,承诺在 L2_1 上支付支付 1eth(加上 LP 的手续费),条件是 LP 把 1eth 打到 Alice 的 L2_2 的账户上;(2)该 LP 在 L2_2 上给 Alice 支付;(3)该笔支付交易由 L2_2 的运营者打包进某个批次并提交证明,该证明在 L1 上验证;待该批次交易发布在 L1 上之后,该笔条件性交易就可以生效了;(4)该 LP 把该笔条件性交易提交给 L2_1 的运营者,由后者将它打包进自己要证明的下一个批次中;(5)等 L2_1 的下一批交易发布到 L1 上、且其证明经过了合约的验证之后,该 LP 在 L2_1 上的账户余额更新,反映 TA 从 Alice 处得到的数额。
定期再平衡:LP 需要定期平衡 L2_1 和 L2_2 中的资金,就看两个系统中的资金流向如何。
在此阶段,支持互操作性的主要成本将是 LP 的资金成本;要注意的是,他们的资金成本要经过一段时间才能回笼,也就是从向用户提供流动性、到运营者打包处理条件性交易这段时间。我们预计这个时间一开始会是几个小时(大部分时候是),然后随着(所有 StarkEx 应用中)吞吐量的增加而下降到证明的生成时间(几分钟)。
Phase III:L2→ L2
Phase II 基础上的延伸,让资金能够在任意 L2 之间迁移,无论是使用有效性证明的系统,还是使用欺诈证明的系统(Optimistic Rollup、Plasma)。这里要提醒的是,(相比于 zkRollup)Optimistic Rollup 在使用 LP 来实现互操作性时,资金效率会有一些劣势,这是不可避免的(见此处)( 中文译本 )
信任模型
现在我们来归纳一下所需的信任模型。
对用户来说
完全是免信任的。
对 LP 来说
LP 需要信任(初始环境中的)运营者,相信后者会处理他们的有效条件交易,也就是不会审查他们。这种信任需要可以用几种方式来消除。
如果 LP 的条件交易没有得到运营者的及时处理,LP 可以:
-
反审查:提交被审查的条件交易到链上的 “运营者” 智能合约中,让后者冻结运营者,使该运营者所提交的证明都不能得到处理。
-
安全押金:提交被审查的条件交易到链上的一个安全押金智能合约中,从该合约处直接接收资金。
计划
-
Phase I 将在 2020 年 11 月 登陆 以太坊 主网(即 StarkEx 2.0),而 Phase II 将在 2021 年第一季度 到来(即 StarkEx 3.0)。
-
Phase III 也将紧随其后。我们预计 L2 上的不同应用会有与其他 L2 上的应用互操作的需求,也渴望与其他 L2 方案提供者讨论解决方案。
原文链接:
https://medium.com/starkware/the-road-to-l2-interoperability-718ff69ec822
作者: Tom Brand & Uri Kolodny
翻译: 阿剑
Bitcoin 656% Cyclical Gain Highlights Deep Market Demand – Glassnode
The Bitcoin market continues to react negatively to rising geopolitical tensions between Israel and ...
Bitcoin Price Prediction: Bullish and Bearish Scenarios Explained
The post Bitcoin Price Prediction: Bullish and Bearish Scenarios Explained appeared first on Coinped...
Dormant Ethereum Wallet Moves After 10 Years as Spot ETH ETFs Record First Outflow in June
Ethereum genesis wallet moves after 10 years Spot ETH ETFs see $2.1 million outflow $ETH price falls...