弹性网络(Elastic Network)中原生互操作的工作原理

弹性网络原生互操作性层, 允许弹性网络内的 ZK 链在协议层面直接进行交易和通信, 提供顺畅的原生跨链体验

今年早些时候,我们介绍了我们对 弹性网络 的愿景——一个不断扩展的 ZK 链生态系统,由数学保障安全。其核心是一个原生互操作性层,使整个网络感觉像一个统一的链。

去中心化问题

当今的区块链生态系统是分散的。用户、应用和流动性分散在众多链上,常常导致:

  • 有限的可扩展性

  • 分散的流动性

  • 较差的用户体验

我们行业的解决方案是依赖第三方桥接,这在最好的情况下强迫信任假设,而在最坏的情况下被黑客攻击 。即使有额外的安全风险,资本仍然是分散的,用户体验也很差。

为什么选择原生互操作性

ZKSync 的互操作性通过允许弹性网络内的 ZK 链在协议层面直接进行交易和通信,改变了游戏规则——无需第三方桥接,无需复杂的用户体验——只有顺畅的原生跨链体验。与其他跨链社区方法相比,这降低了安全风险,提高了透明度,并且成本更低。

ZKsync 上的原生互操作性之所以有效,是因为共享桥接和 ZK 网关 。共享桥接将以太坊连接到 ZK 链,并持有弹性网络中的所有资金。ZK 网关是不同 ZK 链可以有效相互通信的地方。通过充当共享的会议点,网关在链之间提供快速且成本高效的消息,同时保持强大的安全措施。

弹性网络中的四个互操作性层级

有几种类型的跨链交易,复杂性各不相同。要理解 ZKsync 的原生互操作性如何工作,我们需要从四个层级进行探讨。

层级 1:InteropMessage

InteropMessage 是互操作性栈的最低层级——所有其他互操作性层的基础接口。它提供了链之间最简单的通信形式,使一个 L2 能够向另一个发送消息(有效载荷)。可以将其视为广播数据的一种方式,就像在说“嘿,这里发生了某事!

工作原理:

当你创建一个互操作消息时,系统会添加重要的细节,例如:

  • 你的 L2 地址

  • 源链的 ID

  • 一个唯一的消息编号以保持其独特性

结果是一个唯一的“消息哈希”,作为此消息的 ID。

使用默克尔证明来确认消息已发送和接收。该证明来自网关。网关是以太坊和 ZK 链之间的中间件,通过收集来自所有链的消息并将其组织成一个加密树(默克尔树),以确保每条链与相同的数据保持同步,从而促进 ZK 链之间的完全互操作性。

ZK 链不需要使用 ZK 网关;它们可以随时在使用 ZK 网关和直接结算到以太坊之间切换,而不会影响其链的安全性。但使用 ZK 网关更具成本效益和性能。

层级 2:InteropCall

互操作调用超越了简单的消息传递。它们允许你在其他链上调用合约并触发操作,使跨链操作像在自己链上调用函数一样简单。

如何工作?

当进行调用时,它包括重放保护。重放保护确保每个调用都是唯一的,不能被执行多次。这防止了重复操作,并确保系统保持安全。

在目标链上,调用看起来像是来自本地账户。系统将发送者的地址和源链 ID 映射到一个别名账户,以简化权限管理,保持交互的安全性。

层级 3:Interop Call Bundle

捆绑将多个调用组合成一个原子交易。这些指令(调用)必须按特定顺序执行,并且都共享相同的命运——要么全部成功,要么全部失败。这使得捆绑在复杂的跨链任务中强大且可靠。

它们如何工作?

捆绑中的每一步都与其他步骤相关联并按顺序执行。捆绑中的操作不能独立运行,确保一切按计划进行。

如果捆绑失败(例如,耗尽 gas),你可以重试或取消。请注意,失败不会立即通知源链。捆绑仍然可以在目标链上进行重试或取消。调用者可以通过查询网关来确定其捆绑的状态。网关跟踪所有捆绑的状态,记录它们是成功、失败还是未处理。

重试或取消可以直接在目标链上处理:

  • 重试: 调用者或授权实体可以使用更新的参数(例如更高的 gas 限制或价格)重新运行捆绑。

  • 取消: 捆绑中指定的 cancellationAddress 可以将捆绑标记为已取消,以防止进一步的执行尝试。

层级 4:Interop Transactions

在互操作性栈的顶层是互操作交易,它们作为互操作捆绑的交付机制。它们处理捆绑的选择、管理 gas,并在目标链上运行,所有这些都来自源链。

工作原理

一个 InteropTransaction 包含两个指向捆绑的指针:

  • 执行捆绑(你想要做的事情)

  • 费用捆绑(如何支付 gas)

如果交易失败,你可以在不重新开始的情况下重试。

这简化了跨链的复杂工作流程,如代币交换,并消除了手动执行、gas 管理或切换 RPC 的需要。

互操作性为弹性网络解锁的功能

  • 共享流动性: 网络内的 ZK 链可以在不引入额外信任假设的情况下访问跨链流动性。

  • 可组合应用: 一条链上的智能合约可以与另一条链上的合约进行交互,为去中心化应用解锁新的可能性。

  • 统一用户体验: 用户可以通过单一的钱包确认在链之间进行交易,享受快速、低成本和简化的流程。

原生互操作性演示

我们正在发布第一个公共原生互操作性演示,使用 ZKsync SSO 提供友好的钱包体验。该演示展示了在链 A 上将 \$AA 交换为 \$BB 的跨链交换,该交换通过链 B 路由。交换可能通过链 B 路由,因为链 B 具有更深的流动性、更快的结算或更低的成本。

自己试试

你可以从 ZKsync 核心书籍中的 互操作文档 中了解更多信息。

我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ZKsync 中文
ZKsync 中文
江湖只有他的大名,没有他的介绍。