要点:
1.在侧链和 L2之间转移资金的需求不断增长
2.当前方法:通过 L1(以太坊)——缓慢、昂贵但不可信;或通过 App(或 LP)——需要信任,但又快又便宜
3.我们提出了一种无需信任、安全且廉价的侧链到 StarkEx 桥,它依赖于以太坊的安全性
4.通过在 StarkEx 和多个侧链之间扩展这样的桥梁,我们创建了一条连接这些侧链的高效桥梁
1.介绍
虽然以太坊仍然是 DeFi 的“资本”区块链,具有高吸引力和安全性,并与多个链连接,但它越来越拥挤,并饱受交易成本高昂且不稳定问题的折磨。这促使用户使用其他平台,例如侧链(例如 Polygon、BSC、Solana)和 L2(Optimistic Rollups 或 ZK-Rollups)。这些平台在成本、安全性、性能和可用应用方面各不相同——加剧了碎片化。
因此,越来越多的用户需要在多个平台之间转移资金。
在侧链之间提供无信任跨链桥的解决方案即将上线(例如,Hop 或 MovR)。然而,L2(特别是:rollups)和侧链之间的去信任互操作性还没有得到解决。
与 Optimistic Rollups 的互操作性在设计上是有问题的,因为较长的最终确定时间转化为运营跨链桥的高资本要求,这转化为昂贵的转账成本。
ZK-Rollups 怎么样?跨 L1 和 ZK-Rollup 的去信任存款和取款已经在实时系统中可用(例如,dYdX、DeversiFi、Loopring)。并且,它们通过有条件的转账来提供较短的最终确定时间。
但是,ZK-Rollups 目前与侧链互操作性不兼容。原因是技术上的:目前部署在 L1 上的 ZK-Rollups 证明了特定计算语句的有效性(即使它们背后的工具,例如Cairo语言,支持图灵完整性)。这使得它们与 Rollup 中需要“互操作性智能合约”的方案不兼容。
StarkNet,一种去中心化、无需许可的 ZK-Rollup,将改变这一点。现在无信任可扩展引擎 StarkEx 可以做什么?我们在下面演示 StarkEx 如何支持与侧链的互操作性。
StarkEx 自 2020 年 6 月在主网上线以来,促成了数百万笔总计价值十数亿美元的交易。我们将展示 StarkEx 系统和方案,以展示如何支持廉价且快速的资金进出侧链——为在 ZK-Rollups 和侧链上运行的 dApp 之间更好的互操作性铺平道路。但首先,是什么定义了良好的互操作性系统。
侧链和 L2 之间良好的互操作性解决方案应该应用最少的信任并提供简化的用户体验。
准确地说:
1.最小信任:应该要求用户信任尽可能少的实体。
2.快速最终性:资金应快速可用。
3.低成本:廉价的解决方案必须在各自的平台上提供低交易价格和高资本效率(因为流动性提供者承担的成本将抵消给用户)。
到目前为止,想要在侧链和 L2 之间转移资金的用户必须在两个幼稚的选项之间进行选择:无需信任但成本昂贵且速度缓慢的选择(图 1)或廉价且快速但需要信任的选择(图 2)。
图1:由L1推动的侧链与L2之间的转账
图 2:侧链和 L2 之间应用程序促进的转账
我们展示了(图 3)我们提出的解决方案,其中 StarkEx 促进了 L2 和侧链之间的互操作性,同时满足了有效互操作性解决方案的三个品质。请注意,这也适用于侧链之间的互操作性,使用 StarkEx 作为通道。
图 3:由 StarkEx 驱动的以太坊安全侧链桥
对于那些不熟悉 StarkEx 的人,我们将介绍其基本概念。您可以在此处找到 StarkEx 的完整文档。但是,要遵循这些计划,以下背景就足够了:
由于 StarkEx 依赖于 STARK 证明,如果没有证明该状态确实有效,则 L1 上不会发生状态更新。这意味着资金只能根据在Cairo实施的逻辑在 StarkEx 内部易手,该逻辑强制执行以下操作:
没有用户在相关转账请求上的有效签名,不能从用户那里转账资金
L1 上已提交的 StarkEx 状态反映了 L2 环境中发生的所有转账
StarkEx 不能两次执行同一个转账
结果是运营商(例如交易所)无法窃取用户的资金。强制交易、逃生舱口和专门的升级机制完善了这一流程,使 StarkEx 完全自我监管。
一旦进入 StarkEx 交易队列,运营商可能会认为交易已结算。这意味着用户可以即时提交随后的交易; 无需等待链上交易的实际结算!
在StarkEx上,即使是复杂的永续交易,其成本也低至ZK Rollups模式的1100 gas,这是比L1执行相同逻辑便宜200倍。成本甚至比在Validium模式还少。此外,StarkEx具有资本效率,一旦包含它们的执行的证明被发布在链上,交易就可以获得最终性——通常是在交易后仅几个小时内。
图 4:StarkEx-侧链互操作性——提款
步骤1:用户向应用发送链下请求,指定他们想要提取的资产数量和类型。该应用验证用户在他们的 StarkEx Vault 中是否有足够的资金。
步骤2:该应用在侧链上找到的互操作性合约中锁定指定的资产价值和类型。该应用将这些资金与(未签名的)StarkEx 的转移请求相结合,该请求命令 StarkEx 将相关资产从用户的 Vault 转移到应用程序的 Vault 中。
步骤3:用户签署图 4 步骤 2 中指定的转移请求,激活侧链上的互操作性合约。该交易立即解锁用户的资金以在侧链上使用。
回退流程:如果用户未能在有限的时间范围内签名,则从互操作性合同中获得资金。
步骤4:该应用现在可以在 StarkEx 上执行转账请求并在那里接收用户的资金。
1. 无需信任:用户在给运营商资金之前在 StarkEx 上获得侧链上的资金(如果没有前者,后者就不可能发生):
StarkEx 强制要求,为了从用户那里获取资金,应用程序必须知道他们的签名。
提供签名可以解锁用户在侧链中的资金。
2.速度快;在侧链最终性时间的两倍之后,用户可以获得资金。
3.价廉; 不涉及L1交易,App可以立即在StarkEx上取款,几个小时后在L1上取款。
图 5:StarkEx-侧链互操作性 — 存款
步骤1:用户在互操作合约中将其资金锁定在侧链账户中。这些资金与 StarkEx 上的特定转账请求参数相关联,后者会将资金转账到用户的金库。
步骤2:运营商在 StarkEx 中执行图 5 步骤1 中的转账请求,将资金释放到用户的 StarkEx金库。用户可以立即开始交易这些资金。
步骤3:第 2 步的转账与其他交易一起批处理(图 5 步骤 3.1)。StarkEx 向 L1 证明这些交易发生了(步骤 3.2),并相应地更新链上状态(步骤 3.3)。
步骤4:以太坊上的专用合约将新的 L1 状态传输到侧链中的互操作性合约。该状态,即 StarkEx 上所有交易的 Merkle 根,确认用户已按要求收到 StarkEx 上的资金。
步骤5:该App 打开 Merkle Tree 承诺,向侧链证明用户确实在图 5 第 2 步中的 StarkEx 上收到了资金,为该App 解锁了互操作性合约中的资金。
回退流程:如果App 未能在有限的时间内完成图 5 的步骤5,用户可以从互操作性合约中收回侧链上的资金。
1.这个方案是无需信任的:用户在应用可以在侧链上认领资金之前在 StarkEx 上收到资金。StarkEx 的逻辑和证明表明,如果没有前者,后者就不会发生:
要在侧链上接收资金,运营商必须通过 StarkEx 向用户展示相关转账记录。
StarkEx 强制要求只有在用户收到资金时才能找到这样的记录。
2.速度快:一旦在侧链上确认了一笔交易,App 就可以立即将 StarEx 上的资金交给用户。
3.成本低廉:侧链或 StarkEx 上的交易成本低廉,并且步骤4的 L1 交易的大笔成本由许多存款请求分摊。
此外,该应用可以在几个小时后在侧链上获得资金。
StarkEx 的客户很快就会享受到上面介绍的去信任互操作性方案。
至于 StarkNet,我们无需许可的去中心化 ZK-Rollup:StarkNet Planets Alpha 1 已经在 Ropsten测试网络上运行——我们计划支持与其他生态系统(如侧链)的互操作性。由于 StarkNet 证明了任何任意逻辑,它可以支持与此处描述的机制类似的机制或部署现有的互操作性解决方案。
无论如何,StarkNet 促进了高度的互操作性,并将成为许多寻求扩展到以太坊之外的 DeFi 应用程序的互操作性的中心。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。