本文详细介绍了ZKsync Era,作为第三代以太坊可扩展解决方案的特点及其与ZKsync Lite的对比。文章深入探讨了ZKsync Era的技术背景,EVM兼容性,账户抽象以及如何利用ZK技术提升以太坊的可扩展性和隐私性。
ZK rollups 作为区块链可扩展性的有前景的解决方案应运而生 — 它们通过零知识证明(ZKPs)改善了隐私,提升了交易速度,并大幅降低了费用。然而,由于 ZK rollups 与以太坊虚拟机(EVM)不兼容,它们缺乏广泛的采用。
EVM 是以太坊的核心,允许开发者使用 Solidity 构建和部署 dapps。由于传统的 ZK rollups 不兼容 EVM,开发者不得不为 ZK rollup 环境完全重写智能合约。因此,尽管存在潜在的好处,但这成为了技术采用的障碍。ZKsync 旨在改变这一现状。
ZKsync 由 Matter Labs 开发,是一种首创的以太坊二层扩展解决方案。仅在发布其去信任和以隐私为中心的扩展解决方案的愿景后的六个月内,ZKsync 震惊了区块链领域,达成了看似不可能的目标: EVM 兼容性。
最终,ZKsync 分化为两个版本:ZKsync Lite 和 ZKsync Era。
本文深入探讨 ZKsync Era,分析它与 ZKsync Lite 的不同之处,以及它相较于其他 ZK 区块链的优势。
ZKsync 是一个通用的以太坊二层解决方案,也是全球首个 EVM 兼容的 ZK rollup 。
它解决了以太坊主网的两个长期存在的问题:可扩展性和高交易费用。
ZKsync Era 总锁仓
借助其基于 LLVM 的编译器,使用 ZKsync 为以太坊构建的开发者可以使用 Solidity 和 Vyper 等语言编写智能合约。大多数基于 EVM 的智能合约可以在不重写一行代码的情况下迁移,以利用 ZK rollups 的全部潜力。
EVM 完全透明——这是有原因的,即可验证性。只有通过透明性,EVM 基础的区块链才能确保所有交易不仅可见,而且能够被任何参与者验证。
这种程度的开放性保证了所有操作都遵循网络设定的共识规则,从而防止欺诈并确保网络保持安全和去中心化。
但目标从来不是透明性,而是不信任。透明性只是实现不信任的途径,尤其是在 ZK rollups 出现之前。
例如,一个诚实的参与者(例如,普通用户)可能希望他们的交易和其他信息保持私密,作为个人偏好。传统区块链并不允许这样。
但使用 zkEVM,区块链上的任何交易都可以以概率的方式进行证明,而不是暴露交易中的所有信息。
zkEVM 交易示意图
Matter Labs 的第一版 ZKsync 是 ZKsync 1.0 — 一个主要集中于以太坊上安全和成本效益的代币转账的二层解决方案。它后来被重新命名为“ZKsync Lite”。
ZKsync Lite 将交易在链下打包以生成有效性证明,然后再提交到以太坊主网进行验证。然而,它并没有完全的 EVM 兼容性,因此支持的 dApps 数量受到限制。
ZKsync Lite 的局限性促使出现了第二个迭代,即我们现在所知的“ZKsync Era”。
链 | ## ZKsync Lite | ## ZKsync Era |
关注点 | 可扩展支付和代币转账 | 完全可编程的扩展解决方案 |
EVM 兼容性 | 有限 | 完全 |
智能合约支持 | 基础(交换,转移) | 广泛(DeFi,NFT,DAO 等) |
架构 | 纯 ZK rollup | 混合(ZK rollup 和 zkPorter 以提高可扩展性) |
集成速度 | 快 | 比 ZKsync Lite 慢 |
用例 | 支付,简单交易 | 支付,复杂的 dApps,DeFi 协议,NFT 市场,游戏等。 |
较旧或传统的区块链在协议层面上难以本地实施 账户抽象 创新。由于它们已经成熟,集成 AA 技术栈往往会导致向后兼容的问题。
而 ZKsync 是一个相对较新的解决方案,通过类似于 ERC-4337 的集成巩固了 AA。
以下是协议如何本地实施 AA 的方法:
zkSync 账户抽象示意图
交易由 EOAs 和 合约发送到 mempool。这包括常规转移、合约交互和其他交易类型。
Bundler(操作员排序器) 从 mempool 中获取交易,并将它们打包成一个批次。
这个过程包括由 Entrypoint(BootLoader) 生成的密码学证明(可能是零知识证明),以证明批次中所有交易的有效性,而不暴露底层交易数据。
打包后的交易及其证明提交到以太坊 L1 的 Rollup Contract。
Rollup Contract 验证这些证明,并在成功验证后,最终确定交易。
这一步实质上将第2层计算的结果写回主以太坊区块链。
一旦交易被 Rollup Contract 确认,它们就被视为已最终化。
以太坊区块的最终性确保所有包含的交易是不可更改的,并正式成为以太坊账本的一部分。
“ZK 技术是可扩展性的圣杯。这就是最终以太坊和所有区块链将会扩展的方法。”
— Alex Gluchowski | Matter Labs 的联合创始人兼首席执行官
零知识证明,尤其是递归 ZK-SNARKs,构成了 ZKsync 中使用的技术的核心。
SNARKs 是一种特定类型的零知识证明,既简洁(意味着它们在大小上较小且验证速度快),又是非交互式的(无需证明者和验证者之间往复通信)。
递归 SNARKs 在此基础上扩展,允许一个 SNARK 证明验证另一个 SNARK。这使得构建“证明金字塔”成为可能,其中每个层级依赖于前一个层级的有效性,从而实现对可能大量计算或交易的可扩展和高效验证。
因此,即使是一对相对计算能力较低的设备,如智能手机,也能以最小的资源验证大量交易。
zkSync 区块验证示意图,来源:Matter Labs
支持 ZKsync 技术的是它的框架 ZK Stack。
ZK Stack 是一个模块化的开源框架,基于构建 ZK 驱动的 Hyperchains 的原则 ZK Credo。
这些 Hyperchains 类似于独立的区块链,受益于 ZK Sync 生态系统中无缝的互操作性。
ZK Hyperchain 示意图,来源:Matter Labs
ZK Stack 的模块化为开发者提供了细粒度控制:
数据可用性: 针对最佳隐私和可扩展性权衡选择 rollup、validium 或 volition 配置。
经济模型: 设计你的 Hyperchain,以以太币作为基础代币,或使用自定义代币,甚至支持多种代币。
排序: 实现不同的排序器设置,以获得集中效率(高频交易)或去中心化的无权限安全。
直到几年前,社区寻求以太坊可扩展性的侧链和 Plasma。而如今,rollups 已成为有效扩展以太坊的主要技术。
自2018年引入以来,特别是 ZK rollups ,已获得显著的关注和采用,大型项目如 Polygon 纷纷采用它们,思想领袖如 Vitalik Buterin 也在为其代言。
ZK 证明与可扩展性示意图,来源:Linea
根据 L2 beat,目前已经有 11 个活跃的基于 ZK rollup 的二层扩展解决方案,且还有 14 个即将推出。面对如此众多的选择,开发团队如何做出明智的决策 选择合适的 rollup 进行构建?
基于 ZK rollup 的二层扩展解决方案列表,来源:L2Beat
构建 dApps 时需要考虑三个因素:
选择正确的链: 评估可扩展性、安全性和开发者支持。选择与项目需求相符的区块链。
考虑多链策略: 权衡多链方法所带来的更广泛市场准入和风险缓解与增加的复杂性和成本之间的关系。
评估工程开销: 考虑集成的便利性、运营维护以及所需的开发者技能。估算相关的总成本和时间承诺。
让我们看看 ZKsync Era 与 Starknet 和 Polygon zkEVM 的不同之处。
Starknet 是以太坊领先的 ZK rollup 扩展解决方案(按总锁仓量计算),与 ZKsync Era 有着相似的目标——扩展以太坊并促进大规模采用。
ZKsync Era 专注于向后兼容,以便开发者可以轻松迁移其项目或凭借既有的 Solidity 和 Vyper 知识进行构建。
而 Starknet 则优先考虑能够吸引不熟悉任何主流区块链开发语言的新用户的途径,并继续使用所谓的更简单语言 Cairo。
以下是表格,阐明 ZKsync Era 与 Starknet 之间的差异。
链 | ## ZKsync Era | ## Starknet |
证明生成 | ZK-SNARK | ZK-STARK |
证明大小 | 小 | 大 |
去信任性 | 较少 | 较多 |
验证成本 | 每批次约460,000 gas | 多项对数(使用 EIP-4844 时降低) |
EVM 兼容性 | 是 | 否 |
开发者体验 | 对以太坊开发者更友好 | 对以太坊开发者有学习曲线 |
编程语言 | Solidity, Vyper | Cairo |
编译器 | LLVM | Warp |
ZKsync Era 和 Polygon zkEVM 的发布间隔不到一周,且两者基于类似的技术,但存在细微的差异。特别是,Polygon zkEVM 是一种 EVM 等效卷,而 ZKsync Era 是一种 EVM 兼容卷。
“EVM 兼容”意味着其基础虚拟机可以理解和执行为以太坊虚拟机(EVM)编写的代码。开发者可以 轻松将现有的以太坊智能合约 移植到 ZKsync Era,而无需进行重大修改。
“EVM 等效”意味着它实现了类似于 EVM 的功能,但在底层使用不同的虚拟机。开发者可能需要 调整现有的以太坊智能合约,以便在 Polygon zkEVM 上顺利运行。
下面的比较表突出 ZKsync Era 与 Polygon zkEVM 之间的关键差异。
链 | ## ZKsync Era | ## Polygon zkEVM |
证明生成 | ZK-SNARK | ZK-SNARK 和 zk-STARK |
证明大小 | 小 | 大 |
去信任性 | 较少 | 较多 |
EVM 兼容性 | 兼容 | 等效 |
开发者体验 | 方便地迁移以太坊智能合约 | 可能需要一些代码调整 |
编程语言 | Solidity, Vyper | Solidity |
编译器 | LLVM | 不使用编译器 |
此集成消除了运行和维护 ZKsync 节点的负担,让你专注于应用程序独特的价值主张。
通过 Alchemy 的超级节点,访问 ZKsync Era 的主网和测试网 RPC 端点。借助 Alchemy 的 API,开发者可以获得高可靠性和流畅的开发体验。
注册一个免费账户: 访问 Alchemy 并创建你的账户。
获取 ZKsync Era RPC 端点: 在你的 Alchemy 仪表盘上查找 ZKsync Era(主网和测试网)端点。
开始构建: 将这些端点集成到你的 dApp 中。
查看 ZKsync Era API 快速入门文档 以获取更多信息。
开始在 ZKsync 上构建 获取你的 API 密钥
- 原文链接: alchemy.com/overviews/wh...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!