以太坊推出zkSharding技术

进阶Jan 29, 2024
zkSharding旨在通过将多个分片整合到统一的执行层(Layer2)中,提供一种替代的扩容解决方案。本文介绍了其特点、架构以及未来计划。
以太坊推出zkSharding技术

长话短说

  • =nil; 是一个分片的zkRollup - 一种新的L2概念,通过在分片间协议级别的并行交易执行,实现以太坊的动态和安全扩容。
  • 配备了zkSharding技术的=nil; 提供了水平扩容,同时不损害单一执行层的好处,即统一的流动性和经济安全性。
  • =nil; 通过透明且可验证的以太坊数据访问,为应用程序提供与以太坊的完全组合性。
  • =nil; 引入了用zkLLVM编译的Type-1 zkEVM。
  • 通过=nil; Proof Market(一个无需许可的证明生成市场)的开放市场竞争,保证了快速的证明生成。

zkSharding简介

z如今,二层(L2)解决方案在可扩展性和状态碎片化之间进行权衡。我们介绍一种二层设计——=nil;,它在不损害统一执行环境的好处的前提下,拓展了以太坊的可扩展性极限。这一解决方案结合了动态分片机制和可验证地访问以太坊数据的功能,由零知识技术保障。关键要素包括:

  • zkRollup 和分片:=nil; 的核心是一个可验证的分片协议,实现了水平扩展而不牺牲安全性或效率。这种方法解决了目前垂直扩展(L3、L4 等)的某些局限性,尤其是数据和流动性碎片化问题。
  • 直接访问以太坊数据:从 L2 应用直接调用以太坊原始数据,使我们能够重用已部署的应用程序。从 L2 直接访问 L1 数据,确保了更统一、无缝的环境。

通过 zkSharding =nil; 获得了单体和模块化设计的双重优势,包括:

  • 可扩展性
  1. 没有可扩展性限制,因为执行是并行的。吞吐量预计可达每秒约 60k ERC-20 转账,大约 400 个节点。
  2. 通过 Proof Market 提供竞争性的证明生成,实现了最快的 L1-最终性和最低的证明生成成本。
  3. 统一执行环境
  4. 统一执行环境确保了没有安全性/流动性碎片化,因为每个分片都是整个集群的一部分。
  5. 减少了从以太坊迁移流动性的需求,因为 =nil; 通过要求每个验证器在部署时维护完整的以太坊状态,为应用程序提供了透明的数据访问,使应用程序能够直接从 =nil; 的 zkEVM 访问数据。
  • 安全
  1. 通过 zkLLVM 编译的 zkEVM 保障了状态转换的安全。它提供了可审计的安全性(例如约束安全性),因为代码易于检查,由于 zkEVM 电路是从高级语言中生产使用的 EVM 实现编译的,而不是手动编写的。
  2. 自第一天起就实现去中心化,得益于 =nil; Proof Market 启用的去中心化证明生成。
  • 功能性
  1. 1 型 zkEVM,完全与 EVM 字节码等效的 zkEVM,通过 zkLLVM 编译。
  2. 为那些对时间、内存和算法复杂性要求很高的应用量身定制的环境,通过提升单分片一致性和引入强制每分片应用程序共置,以减少延迟。示例包括去中心化交易所、证明市场、去中心化排序器/构建器、共享状态应用程序(如自治世界等)。

动态组合式扩展

在较低层级上,状态=nil; 被分割为主分片和几个次级分片。主分片的作用是同步并整合次级分片的数据。它使用以太坊作为其数据可用性层,并且作为状态转换证明的验证者,类似于典型的 zkRollups 操作。

次级分片作为“工作节点”,执行用户交易。这些分片通过跨分片消息协议维持统一的流动性和数据,消除它们之间的任何碎片化。

每个分片都由一个验证者委员会监督。这些验证者在分片间定期轮换。此外,对分片状态的更新通过 zkEVM 向主分片进行验证。

为了说明从用户发起到以太坊上确认的交易流程,请考虑以下步骤:

  • 用户签署交易(tx)并将其发送到网络。
  • 用户钱包所在的分片 S 中的验证器将 tx 放入内存池中。
  • 然后这些验证者创建一个新的区块 B(1/S)
  • B(1/S) 的哈希值记录在区块 B(1/M) 内的主分片上
  • B(1/S) 的状态转换证明由区块 B(2/M) 中的主分片生成并验证
  • B(2/M) 的状态转换证明被发送到以太坊进行验证,并附上必要的数据以确保数据可用性。
  • 一旦这个过程完成,tx 就会得到以太坊的确认。

这个概述假设用户的交易不会触发跨分片消息协议。然而,在这种情况下,交易流程保持不变,不同之处在于用户的交易可以触发在其他分片上创建新交易。

将所有账户分布在各个分片中,这似乎与特定应用程序卷展方法中发现的数据碎片化问题类似。然而,关键区别在于跨分片通信的处理方式:它直接集成到整体协议中,而不是由单独的外部桥梁管理。

为了保证每个次级分片的安全性,其验证者委员会有责任向主分片证明其状态转换,以确保在较小的验证者群体中没有发生欺诈。每个分片的验证者委员会除了分片维护之外还有额外任务。验证者负责跟踪特定类型的事件,即在“邻近分片”中的跨分片消息。邻近分片是基于分片标识符中的汉明距离确定的。

zkEVM 通过 zkLLVM:Type-1 安全、可审计且高性能 zkEVM

=nil; 的zkEVM是用zkLLVM编译的类型1 zkEVM。为了理解更传统的zkEVM和=nil;的zkEVM之间的区别,我们需要讨论与zkEVM底层电路定义过程相关的限制。zkEVM电路是一个关键部分,负责状态转换证明被认为是正确的,通常使用一些自定义的zkDSL或简单的库来定义。这种电路定义方式带来的问题与以下方面相关:

  • 安全性:由于电路的大小和手动复制EVM逻辑而导致的问题。
  • 可审计性:由于使用的zkDSL复杂性和不明确性,可审计性和可检查性有限。
  • 可升级性:由于手动约束定义要求,维护和可升级性复杂。如果发生任何EVM变更 - 大多数zkEVM电路将需要重新完成并从头开始重新审核。
  • 兼容性:实际字节码兼容(即类型1)zkEVM电路的实现复杂性通常导致应用程序的局限性,因为zkEVM和实际EVM行为之间的差异。
  • =nil; zkEVM通过以下方式有效地应对所有这些挑战:
  • 安全:电路应该从在实际运行的以太坊节点中使用的相同高级代码自动生成,以确保不存在算法差异。
  • 可审计:电路应该用高级编程语言(即C++或Rust)表示,这种语言应该以易于普通开发者阅读的方式编写。
  • 可升级:电路的定义方式应该使EVM内的任何更改都可以轻松地翻译/编译为证明/定义完全相同行为的zkEVM电路。这样的升级不应该需要全面重新编译或重新审核。
  • 字节码兼容(即类型1):从高级语言编译电路带来完全的字节码和EVM行为兼容性,极大地缩短了EVM应用程序上市时间和实现此类兼容性所需的开发时间/努力。

通过zkLLVM编译的zkEVM在设计上是安全的,利用evmone来确保与以太坊生产环境中使用的EVM完全一致。zkLLVM(C++或Rust)自动编译成电路,意味着人为错误从电路定义过程中被移除。

此外,由于=nil; zkEVM是通过zkLLVM编译的,它比手动定义的电路自然更灵活(因此,更具未来证明性),因为它容易调整且电路生成是自动的。它也更易于审计,这意味着它的安全性不会以牺牲包含以太坊最新EIP为代价。

zkRollup 与以太坊的安全性和数据可用性

由于主分片和辅助分片在其专门任务方面的不同 - 辅助分片专注于交易处理,而主分片专注于数据同步 - 它们对数据可用性(DA)的处理方式也不同,这有助于在紧急情况下恢复状态数据。这意味着:

主分片采用以太坊作为其DA。

辅助分片可以选择使用以太坊,或者选择不采用独立的DA。

这种安排是通过在开始时启动两种类型的分片来建立的:具有独立的外部DA解决方案的分片和没有的分片。在后续阶段,只能合并相同DA类别的分片。这意味着在创建时,每个账户必须映射到特定的DA类别。

此外,这个框架可以扩展以包括其他类型的DA。

透明的以太坊数据访问

我们的主要目标之一是优化应用程序组合性并防止流动性碎片化,因此自然地,zkSharding方法如果没有对以太坊状态的无信任访问是不完整的。这意味着 =nil; 提供完全的可组合性和透明的与以太坊集成,通过数据提供者模块。

数据提供者模块独立于分片的数据存储运行,将其信息与外部数据库同步,并将以太坊对最后监控的数据库状态的指纹(由以太坊的区块哈希表示)注入到分片的区块中。这个数据库的最新状态通过确认模块获得验证,该模块使用与以太坊的Casper FFG共识证明的zkBridge。

下一步是什么:

=nil; 和 zkSharding 是=nil; 基金会在过去四年中开发的产品的高潮。其目标是成为第一个可组合、可扩展且通用的以太坊L2 zkRollup解决方案。我们很高兴在接下来的几个月内分享更多的实施细节。请确保关注我们的Twitter,以了解我们的进展!

对于技术倾向的人,我们开发了一本单独的、全面的入门书,深入探讨=nil; 和 zkSharding 的细节。这本入门书是理解这种方法背后复杂性的入口,配备了您所需的所有技术细节和预备知识。

立即深入我们的技术入门书,并在Discord和Telegram上加入讨论。让我们一起探索zkSharding的无限可能!

声明:

  1. 本文转载自[nil.foundation],著作权归属原作者[nil.foundation],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
立即注册