风险提示
风险提示: 律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。或联系律动tousu@theblockbeats.com。
举报
简体中文 繁体中文
English(Google translation)
登录/注册
热门排行
热门搜索
没有找到搜索内容
查看更多
二层扩容的互操作性
科普 2020年10月25日 23:00
Layer-2 互操作性的意思使用户可以在 Layer-2 系统间迁移资金,并且在 Layer-1 上的摩擦力是尽可能小的

原文标题:《引介 | 通往 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 的地址上。



- 图 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 方案提供者讨论解决方案。


原文链接

Layer 2

科普

学习,从这里开始

扫码下载律动APP

专业区块链研究机构 与资讯平台