跳至内容
0%

什么是 ZKsync Era?面向 Ethereum 开发者的概述

Sankrit K headshot

作者 Sankrit K

发布于 2024年5月9日4 分钟阅读

ZK rollup作为区块链可扩展性的一种有前景的解决方案出现——它们通过零知识证明(ZKP)改善了隐私性,提高了交易速度,并大幅降低了费用。然而,它们缺乏采用度,因为ZK rollup与以太坊虚拟机(EVM)不兼容

EVM是Ethereum的核心,它让开发者能够使用Solidity构建和部署应用。由于传统的ZK rollup不兼容EVM,开发者必须为ZK rollup环境完全重写智能合约。因此,尽管这项技术潜力巨大,但它却成了该技术被采用的一大障碍。ZKsync旨在改变这一现状。

Matter Labs开发的ZKsync是Ethereum首创的layer 2扩容解决方案。在公布其愿景——即为Ethereum打造一个无需信任且注重隐私的扩容方案——仅六个月后,ZKsync便以实现了看似不可能的目标震惊了区块链领域:EVM兼容性

ZKsync后来发展为两个版本:ZKsync Lite和ZKsync Era。

本文将深入探讨ZKsync Era,它与ZKsync Lite的区别,以及它相较于其他ZK区块链的独特之处。

什么是zkSync era?

ZKsync是一个通用的layer 2 Ethereum解决方案,也是全球首个EVM兼容的ZK rollup。

它解决了以太坊主网长期存在的两个问题:可扩展性和高额交易费用。

zkSync Era TVL 图表
zkSync Era TVL

借助基于LLVM的编译器,通过ZKsync为Ethereum构建应用的开发者可以使用Solidity和Vyper等语言编写智能合约。大多数基于EVM的智能合约无需修改一行代码即可迁移,从而充分利用ZK rollup的全部潜力。

zkEVM入门

EVM是完全透明的——这是有原因的,即可验证性。只有通过透明性,基于EVM的区块链才能确保所有交易不仅可见,而且可被任何参与者验证。

这种开放程度保证了所有操作都遵循网络设定的共识规则,从而防止欺诈,并确保网络保持安全和去中心化。

但目标从来都不是透明性,而是无需信任。在ZK rollup出现之前,透明性只是通往无需信任的路径。

例如,一个诚实的行为者(比如普通用户)可能出于个人偏好,希望自己的交易和其他信息保持私密。传统上,区块链并不允许这样做。

但有了zkEVM,区块链上的任何交易都可以通过概率方式证明,而无需披露交易中的每一条信息。

zkEVM 交易示意图
zkEVM 交易示意图

什么是zkSync lite?

Matter Labs推出的第一代ZKsync是ZKsync 1.0——一个主要专注于在Ethereum上实现安全、低成本代币转账的layer 2解决方案。它后来更名为"ZKsync Lite"。

ZKsync Lite在链下打包交易以生成有效性证明,然后将其提交到以太坊主网进行验证。然而,它并不具备完整的EVM兼容性,因此支持的应用范围有限。

ZKsync Lite的局限性促成了第二代产品的诞生,即ZKsync 2.0,也就是我们现在所知的"ZKsync Era"。

zkSync lite与zkSync era对比

ZKsync Lite

ZKsync Era

侧重点

可扩展支付和代币转账

完全可编程的扩容解决方案

EVM兼容性

有限

完全

智能合约支持

基础功能(兑换、转账)

广泛支持(DeFi、NFT、DAO等)

架构

纯ZK rollup

混合架构(ZK rollup和zkPorter,提供更强的可扩展性)

集成速度

比ZKsync Lite慢

使用场景

支付、简单交易

支付、复杂应用、DeFi协议、NFT市场、游戏等

在文档中了解更多。

zkSync原生账户抽象概述

较早或传统的区块链难以在协议层原生实现账户抽象方面的创新。由于这些区块链更加成熟,在协议层集成AA技术栈会引发向后兼容性问题。

而ZKsync是一个相对较新的解决方案,它通过类似于ERC-4337的集成方式原生固化了AA功能。

以下是该协议原生实现AA的方式:

zkSync 账户抽象示意图。来源:Clave
zkSync 账户抽象示意图

交易发起

交易从EOA合约发送到内存池。这包括常规转账、合约交互以及其他类型的交易。

交易聚合

Bundler(操作员排序器)从内存池中获取交易,并将它们打包成一个批次。

这一过程包括由**入口点(BootLoader)**生成加密证明(很可能是零知识证明),用以证明批次中所有交易的有效性,而不披露底层交易数据。

证明提交与交易最终确认

打包后的交易及其证明会被提交到以太坊L1上的Rollup合约

Rollup合约验证这些证明,验证成功后,最终确认这些交易。

这一步骤实际上是将Layer 2计算的结果写回以太坊主链。

最终确认

一旦交易被Rollup合约确认,它们就被视为已最终确定。

以太坊上区块的最终性确保了所有已包含的交易是不可篡改的,并正式成为以太坊账本的一部分。

ZKsync使用了哪种类型的ZK技术?

"ZK技术是扩容的圣杯。而这也正是Ethereum及所有区块链最终实现扩容的方式。"

——Alex Gluchowski_ | Matter Labs联合创始人兼CEO_

零知识证明,特别是递归ZK-SNARK,是ZKsync所用技术的核心。

SNARK是一种特定类型的零知识证明,具有简洁性(即体积小、验证速度快)和非交互性(证明者与验证者之间无需来回通信)的特点。

递归SNARK在此基础上进行了扩展,允许一个SNARK证明验证另一个SNARK。这使得构建"证明金字塔"成为可能,其中每一层都依赖于前一层的有效性,从而能够对数量庞大的计算或交易进行可扩展且高效的验证。

因此,即使是计算能力相对较低的设备,比如智能手机,也能够以极少的资源验证大量交易。

由 Matter Labs 制作的 zkSync 区块验证示意图
zkSync 区块验证示意图。来源:Matter Labs

支撑ZKsync技术的是其框架ZK Stack

用ZK stack构建:驱动zkSync的框架

ZK Stack是一个基于ZK Credo原则构建的模块化开源框架,用于构建由ZK技术驱动的Hyperchain。

这些Hyperchain类似于独立的区块链,能够在ZK Sync生态系统内实现无缝互操作性。

ZK 驱动的 hyperchain 结构示意图
ZK hyperchain 示意图。来源:Matter Labs

ZK Stack的模块化特性为开发者提供了对以下方面的精细控制:

  • **数据可用性:**在rollup、validium或volition配置之间进行选择,以在隐私性和可扩展性之间取得最佳平衡。
  • **代币经济学:**设计Hyperchain时可以选择以Ether作为基础代币、使用自定义代币,甚至支持多种代币。
  • **排序:**实施不同的排序器配置,以满足中心化效率(高频交易)或去中心化无需许可安全性的需求。

zkSync与其他ZK区块链的对比

几年前,社区还在为Ethereum的可扩展性寻求侧链和plasma方案。而如今,rollup已成为有效扩容Ethereum的核心技术。

自2018年推出以来,ZK rollup尤其获得了广泛的关注和采用,Polygon等大型项目已采用该技术,Vitalik Buterin等思想领袖也在为其倡导。

ZK 证明与扩容示意图
ZK 证明与扩容示意图。来源:Linea

根据L2 beat的数据,截至本文撰写时,已有11个基于ZK rollup的layer 2扩容解决方案处于活跃状态,另有14个即将上线。面对如此众多的选择,开发团队该如何做出选择合适rollup进行构建的合理决策?

基于 ZK rollup 的二层扩容方案列表
基于 ZK rollup 的二层扩容方案。来源:L2Beat

构建应用时需要考虑以下三个因素:

  1. **选择合适的链:**评估可扩展性、安全性和开发者支持情况。选择在这些方面与项目需求相匹配的区块链。
  2. **考虑多链策略:**权衡多链方案带来的更广泛市场覆盖和风险分散,与随之增加的复杂性和成本之间的关系。
  3. **评估工程开销:**考虑集成难易程度、运维成本以及所需的开发者技能。估算所涉及的总成本和时间投入。

接下来我们看看ZKsync Era与Starknet和Polygon zkEVM有何不同。

zkSync era与StarkNet对比

Starknet是(按TVL衡量)领先的ZK rollup扩容解决方案,与ZKsync Era有着相似的目标——扩容Ethereum并推动大规模采用。

ZKsync Era专注于向后兼容性,让开发者能够轻松迁移项目,或凭借已有的Solidity和Vyper知识进行开发。

而Starknet则采取了另一种策略,力图吸引那些不熟悉任何主流区块链开发语言的新人,让他们可以使用被认为更简单的Cairo语言继续开发。

下表阐明了ZKsync Era与Starknet之间的区别。

ZKsync Era

Starknet

证明生成

ZK-SNARK

ZK-STARK

证明大小

无需信任程度

较低

较高

验证成本

每批约460,000 gas

多对数级(EIP-4844后更低)

EVM兼容性

开发者体验

对Ethereum开发者更简单

对Ethereum开发者存在学习曲线

编程语言

Solidity、Vyper

Cairo

编译器

LLVM

Warp

zkSync era与Polygon zkEVM对比

ZKsync Era和Polygon zkEVM发布时间相差不到一周,两者基于相似的技术,但存在一些细微差别。具体来说,Polygon zkEVM是一个EVM等效的rollup,而ZKsync Era是一个EVM兼容的rollup。

"EVM兼容"意味着其底层虚拟机能够理解并执行为以太坊虚拟机(EVM)编写的代码。开发者可以轻松地将现有的Ethereum智能合约移植到ZKsync Era,只需极少的修改。

"EVM等效"意味着它在功能上与EVM相似,但底层使用了不同的虚拟机。开发者可能需要调整现有的Ethereum智能合约,才能使其在Polygon zkEVM上正常运行。

下方的对比表格突出展示了ZKsync Era与Polygon zkEVM之间的关键差异。

ZKsync Era

Polygon zkEVM

证明生成

ZK-SNARK

ZK-SNARK和zk-STARK

证明大小

无需信任程度

较低

较高

EVM兼容性

兼容

等效

开发者体验


Ethereum智能合约易于迁移

可能需要一定的代码调整

编程语言

Solidity、Vyper

Solidity

编译器

LLVM

未使用编译器

使用Alchemy进行构建

ZKsync现已在Alchemy上线。

这一集成免去了运行和维护ZKsync节点的负担,让你可以专注于打造应用独有的价值主张。

通过Alchemy的超级节点访问ZKsync Era的主网和测试网RPC端点。借助Alchemy的API,开发者可以获得高可靠性和简化的开发体验。

三步开始使用

  1. **注册免费账户:**访问Alchemy并创建你的账户。
  2. **获取ZKsync Era RPC端点:**在你的Alchemy仪表盘中查找ZKsync Era(主网和测试网)端点。
  3. **开始构建:**将这些端点集成到你的dApp中。

更多信息请查看ZKsync Era API快速入门文档

常见问题

什么是zkSync era?

zkSync Era是一个layer 2 Ethereum扩容解决方案,也是全球首个EVM兼容的ZK rollup,它解决了Ethereum的可扩展性问题和高额交易费用问题,同时与现有的Ethereum智能合约保持完全兼容。

zkSync era与zkSync lite有何不同?

zkSync Lite专注于可扩展支付和代币转账,EVM兼容性有限,而zkSync Era是一个完全可编程的扩容解决方案,具备完整的EVM兼容性,支持DeFi协议、NFT市场和游戏等广泛的应用。

在zkSync era上构建应用,开发者需要学习新的编程语言吗?

不需要,开发者可以使用熟悉的Ethereum编程语言,如Solidity和Vyper,大多数基于EVM的智能合约无需重写一行代码即可迁移。

zkSync era使用了哪种类型的零知识技术?

zkSync Era使用递归ZK-SNARK,这是一种简洁且非交互式的零知识证明,能够以极少的计算资源高效验证大量交易。

zkSync era上的原生账户抽象是什么?

zkSync Era在协议层原生固化了账户抽象功能,从而实现高级钱包功能和用户体验的提升,而不会遇到老旧区块链所面临的向后兼容性问题。

zkSync era与Starknet等其他ZK rollup相比如何?

zkSync Era优先考虑使用Solidity和Vyper实现EVM兼容性,以便于迁移,而Starknet使用自有的Cairo编程语言,虽然要求开发者学习新工具,但对新人而言可能提供了更简单的开发体验。

什么是ZK stack,它与zkSync era有何关系?

ZK Stack是驱动zkSync Era的模块化开源框架,它支持构建由ZK技术驱动的Hyperchain,并对数据可用性、代币经济学和排序配置提供精细控制。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。