跳至内容
0%

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

Sankrit K headshot

作者 Sankrit K

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

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

EVM是以太坊的核心,它让开发者可以使用Solidity构建和部署应用。由于传统的ZK rollup与EVM不兼容,开发者不得不为ZK rollup环境完全重写智能合约。因此,尽管这项技术具有潜在的优势,它却成了该技术被采用的一大障碍。ZKsync的目标正是改变这一点。

由Matter Labs开发的ZKsync是一种首创的以太坊layer 2扩容方案。在公布其愿景——为以太坊打造一个无需信任且注重隐私的扩容方案——短短六个月内,ZKsync就以实现了看似不可能的事情震惊了区块链领域:EVM兼容性。

后来,ZKsync演变为两个版本:ZKsync Lite和ZKsync Era。

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

什么是zkSync era?

ZKsync是一种通用型layer 2以太坊解决方案,也是全球第一个兼容EVM的ZK rollup。

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

zkSync Era TVL 图表
zkSync Era TVL

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

zkEVM入门

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

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

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

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

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

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

什么是zkSync lite?

Matter Labs开发的ZKsync第一个版本是ZKsync 1.0——一种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和合约发送到内存池(mempool)。这包括常规转账、合约交互和其他类型的交易。

交易聚合

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

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

证明提交和交易最终确认

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

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

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

最终确认

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

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

ZKsync使用了哪种ZK技术?

"ZK技术是扩容的圣杯。最终,以太坊和所有区块链都将以这种方式实现扩容。"

——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就像是独立的区块链,能够在ZKsync生态系统内享受无缝的互操作性。

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

ZK Stack的模块化特性让开发者可以对以下方面进行精细控制:

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

zkSync对比其他ZK区块链

直到几年前,社区还在寻求侧链和plasma作为以太坊扩容方案。然而如今,rollup已经成为有效扩容以太坊的核心技术。

自2018年推出以来,ZK rollup尤其获得了大量关注和采用,Polygon等大型项目已经采用了这项技术,Vitalik Buterin等思想领袖也在为其摇旗呐喊。

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

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

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

在构建应用时,有三个因素需要考虑:

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

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

zkSync era对比StarkNet

Starknet是以太坊领先的ZK rollup扩容方案(以TVL计算),与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

ZKsync Era和Polygon zkEVM在不到一周的时间内相继推出,两者都基于相似的技术,但存在细微差异。具体来说,Polygon zkEVM是一种EVM等效型rollup,而ZKsync Era是一种EVM兼容型rollup。

"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

未使用编译器

使用Alchemy构建

ZKsync现已在Alchemy上线。

这项集成消除了运行和维护ZKsync节点的负担,让你能够专注于应用独特的价值主张。

通过Alchemy的Node API访问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以太坊扩容方案,也是全球首个兼容EVM的ZK rollup,它解决了以太坊的可扩展性问题和高交易费用问题,同时保持与现有以太坊智能合约的完全兼容。

zkSync era与zkSync lite有何不同?

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

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

不需要,开发者可以使用熟悉的以太坊编程语言,如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 开发者产品和工具与资源、社区及专业支持结合在一起。