草根团队的扩容之路
作者:echo_z
随着 Optimism 发币、Arbitrum 开启 Odyssey 羊毛大战,2022 年下半年注定是 L2 百花齐放的阶段。此前,链茶馆已撰文详述过 L2 的背景及 ZK 系的 StarkWare 专项介绍,而作为 ZK 系的另一个代表项目,ZKSync 也值得关注。本文将在与 StarkWare 对比的框架下,深度解析 ZKSync 的产品架构及运营生态。
本文目录
1. 产品体系
- 证明系统:SNARK vs STARK
- 数据可用性模式:颗粒度不同的混合模式 Volition
- 开发语言:原生语言 Cairo vs Solidity 优先策略
- 整体架构:均以 Sequencer 和 Prover 为核心
- 小结
2. 运营生态
3. 团队及融资
4. 优势与挑战
5. 附录
产品体系
ZKSync 的产品早已有之,但在 1.0 阶段,仅仅支持支付等简单功能;到 2.0 产品实现了 EVM 兼容,开始发挥其真正实力。
ZKSync2.0 在去年 6 月上线测试网,但没有向开发者开放;去年 10 月上线第一款 zkEVM 产品 UniSync,也就是 Uniswap 在 ZKSync 的版本;直到今年 2 月,终于向开发者开放了 ZKSync2.0 开发工具,开始部署生态。目前 ZKSync 主网产品仍然在 1.0 阶段。本文将重点围绕 2.0 进行介绍。
1.1 证明系统:SNARK vs STARK
ZKSync 与 StarkWare 在最底层所选择的证明系统不同,ZKSync 选择的是较为成熟的 SNARK 技术,而 StarkWare 则是自研的 STARK 系统。底层技术的差异,也使得二者的性能潜力、产品路线图迥然。
业界对于这两种证明系统的共识是:在计算量较大的情况下,STARK 的可扩展性和速度会明显胜过 SNARK,而且 STARK 更安全[1]。
在可扩展性和速度方面,STARK 能够生成包含更多计算结果的证明。虽然 STARK 所需要的字节数更多、验证也需要更长的时间,但是更大的证明本身能够使得每笔交易所分摊的 gas 更低。
在安全性方面,SNARK 必须要有受信的初始化(Trusted Setup),有一定的信任前提,而 STARK 则不需要这个前提。
1.2 数据可用性模式:颗粒度不同的混合模式 Volition
数据可用性(Data Availability),简单解释其含义为,除了交易更新完的最终状态数据之外、用于复原交易历史的其他相关信息,是否能被获取。如果这些必要数据都放在链上,就是 Rollup 模式,安全级别更高、同时也因为消耗了更多链上存储空间而更昂贵;如果放在链下就是 Validium 模式。数据可用性模式的选择,本质上是安全性和效率之间的取舍。
在这一点上,StarkWare 和 ZKSync 都采取了「Volition」模式,即 Rollup 和 Validium 的混合,用户可以自主选择用哪种方式来存储数据。
Volition 的设想最早由 StarkWare 提出,上图出自其 2020 年发布的博客。不过到目前为止,StarkWare 和 ZKSync 都还没有将 Volition 落地。但是在 ZKSync 的路线图中,似乎对这一功能设计更为重视,专门命名为 ZKPorter,并且将 ZKPoter 和 zkEVM 并列为两大架构上的突破 [2]。
值得注意的是,StarkWare 和 ZKSync 对于用户可选择的「颗粒度」设定是不同的。StarkWare 选择的颗粒度更细,实现难度也更大。
StarkWare 的设想中,用户将会以 「每笔交易」为单位,自主选择数据可用性模式。但这样可能会带来一个问题:当用户的同一个账户,同时选择这两种模式时,如果安全级别更低的 Validium 交易出现了问题,那在这笔交易之后出现的 Rollup 交易是否也会受到影响?按照 StarkWare 的早期设想,为了防止数据不可用性的攻击,设计了最小回滚机制,即如果检测到有数据不可用,就会将交易历史回滚至上一个数据可用的区块状态。在最坏的情况下,最小回滚机制可能会要求所有数据都发布在链上,其实又回到了 Rollup 模式 [3]。相关细节还未公布,但可以想见难题不少。
而在 ZKSync 的设计中,用户将以 「账户」为单位,选择数据可用性模式。也就是说,Rollup 账户的交易都将以 Rollupo 模式进行,ZKPoter 账户的冗余数据则都会放在链下。如此一来,两种模式下的交易其实是隔离的,各有各的交易历史,不会相互影响。不过,ZKSync 也会允许 zkRollup 和 ZKPoter 的账户之间进行互操作,猜测这样的交易会同时记录在 zkRollup 和 zkPorter 中,保证安全性。
1.3 开发语言:原生语言 Cairo vs Solidity 优先策略
StarkWare 在很长一段时间内都以原生语言 Cairo 作为唯一的开发语言。Cairo 也是 StarkWare 团队自研的语言,能够很好地适配 STARK 证明系统,但由于要求开发者学习新的语言,造成了进入门槛高的问题。
在兼容 EVM 方面,StarkWare 的解决方案是由第三方团队 Nethermind 开发 Solidity 到 Cairo 的编译器 Warp。Warp1.0 版本由于生成的 Cairo 文件过大,普及率并不高,但 Warp2.0 版本借助了 Yul(一种 Solidity 的中间代码),大幅提升了效率 [4]。就在本月,Warp2.0 开始进入审计,即将投入使用。
ZKSync 则在更早以前就采取了 Solidity 优先的策略,ZKSync2.0 上线时就允许开发者用 Solidity 编写合约。其实现方式如下图所示:以 LLVM 作为编译器后台,通过 Yul 将 Solidity 编译到 LLVM,再编译到 zkEVM。这样做的好处在于,未来其他语言也可通过类似的方式(即先编译到 LLVM)来实现兼容。ZKSync 目前的开发和维护集中在 Solidity 语言上,未来将开发自研的语言 Zinc、开放 Rust 等语言的兼容。
ZKSync 的策略对开发者来说无疑降低了进入门槛,通过 EVM 兼容来快速吸引生态项目、沉淀 TVL 是其核心目标。但是鉴于 StarkWare 的编译器 Warp2.0 即将上线,预期同样能够吸引 Solidity 开发者(但不确定功能上有多少差异),ZKSync 的发展很有可能会受到影响。
1.4 整体架构:均以 Sequencer 和 Prover 为核心
整条网络的核心架构,将会决定网络以怎样的方式来实现去中心化。整体上,二者都将以 Sequencer 和 Prover 作为架构的核心。Sequencer 的核心作用包括:挑选有效交易并执行计算,而 Prover 则将为计算结果生成证明。
StarkWare 还未明确 Sequencer 和 Prover 的角色会分开还是合并,而 ZKSync 则已经将 Sequencer 的角色称为「全节点」,推测和 Prover 将会是独立的实体 [5]。此外,ZKSync 的架构中还增加了交互器(Interactor)以辅助 L2 和 L1 的交互、计算手续费等,以及偏执监视器(Paranoid Monitor)来做健康监控。
如何实现去中心化,从长远来看非常重要,但这一课题对于发展较为初期的 ZK Rollups 来说,还是下一步的问题,目前 StarkWare 和 ZKSync 都还没有非常明确的答案。
1.5 小结
本节从证明系统、数据可用性模式、开发语言和整体架构对比了 StarkWare 和 ZKSync。除了整体架构方面,二者的核心角色类似、细节尚不明确外,其他方面都有不小的差异。
在证明系统方面,StarkWare 采取的 STARK 比 ZKSync 采取的 SNARK 具有更强的可扩展性和安全性;在数据可用性模式方面,二者都提供了用户可自主选择的 Volition,但 ZKSync 将以账户为单位,而 StarkWare 以每笔交易为单位,ZKSync 的颗粒度更粗、路径也更简单;在开发语言方面,StarkWare 优先开发了原生语言 Cairo,随后通过第三方公司开发的编译器实现 EVM 兼容,而 ZKSync 则在最开始就采取了 Solidity 优先的策略,对开发者门槛更低,但现在依然面临 StarkWare 的强力竞争。
总体而言,ZKSync 的路线更「亲民」,产品也更类似苹果的组装模式,核心技术如 SNARK、LLVM 等均来自业界或学界的已有成果;相对来看,StarkWare 则更硬核,不论在技术还是产品层面,都选择了更难的原创路线。
运营生态
ZKSync 的生态项目集中在 Defi 和基础设施方面。
在 ZKSync 的官网,可以看到正在迁移到 ZKSync2.0 的成熟项目(部分如下图),Defi 类包括 1inch、FRAX、Zigzag 等;基础设施类包括 Gnosis Safe、Snapshot 等、跨链桥如 Orbit、中心化交易所如 Banxa。
在其 notion 页面则罗列了即将或已经部署在 ZKSync2.0 的新兴项目。其中,Trustless Currency Protocol 是一个类似 Maker 的抵押借贷项目,SyncSwap 是一个类似 Uniswap 的代币兑换 DEX。Mint Square 是一个基于 ZK Rollups 建立的 NFT 市场,也在 StarkNet 测试网上进行了部署,tofuNFT 则是一个多链 NFT 市场,在 BNB、ETH、Arb 等多条链上均已部署。
整体而言,ZKSync2.0 的生态主要来源于成熟 Defi 及基础设施项目的迁移、多链 NFT 市场的部署,除此之外似乎还没有令人眼前一亮的项目。对比来看,StarkNet 测试网上有诸多游戏项目、以及 StarkNet 原生的 Defi 项目,从品类上比 ZKSync 要更丰富且独立。
团队及融资
Matter Labs 联创及 CEO Alex Gluchowski 来自德国,2011 年毕业于柏林工业大学(Technische Universität Berlin),获得硕士学位。其后,曾在多家公司担任研发/CTO 等职位。2013 年开始创业,联合创办过健身平台 Somuchmore GmbH(2013.12~2015.9)、野营车租赁平台 PaulCamper(2015.10~2017.8)。2017 年 9 月,进入香港的 Entropy Labs 担任研发,从此开始进入区块链行业。2018 年年末,联合创办 Matter Labs。
另一位联创 Alexandr Vlasov 的经历相对简单,2006~2012 年就读于莫斯科国立大学,专业为核与粒子物理学,2013~2018 年就读于加拿大的麦吉尔大学,获得电子工程博士学位,随后就加入了 Matter Labs 主管研发。
截止目前 Matter Labs 总融资额度 5,800 万美元,其中 5,000 万美元均来自 2021 年 11 月的 B 轮融资,由 a16z 领投。a16z 也投资了 Optimism,同时押注 OP 系和 ZK 系。
对比来看,StarkWare 曾有过 ZCash 的加密行业成功经验、团队以教授领头,且已经获得~2.8 亿美元融资,ZKSync 的团队和融资相对草根。
优势及挑战
ZKSync 的风格有些类似苹果,善于将成熟技术组装成用户可用的新产品,以 Solidity 为优先的策略也对开发者非常友好。对于 ZKSync 来说,现有的 zkEVM 能否迅速吸引 L1 上的已有成熟应用、将 TVL 做高,会是一个关键。这或许也是 ZKSync 希望在 L2 之争中占有一席之地的捷径之路。
然而在这一方面,ZKSync 面临多方面竞争:OP 系的 Optimism 已经发币,能够通过代币激励来吸引用户,而 Arbitrum 近日也已经开启 Odyssey 活动,通过营销活动来吸引用户和资金;一直以来基于原生语言 Cairo、生态较为独立的 StarkWare,也即将上线升级版的 Solidity 编译器,降低了开发者进入门槛。在这一场 L2 之争中,ZKSync 的速度将至关重要。
附录
[1]zkSNARKs vs. zkSTARKs:https://www.numio.one/zksnarks-vs-zkstarks/
[2]zkSync 2.0: Hello Ethereum:https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179
[3]MVR - Minimally Viable Rollback:https://ethresear.ch/t/mvr-minimally-viable-rollback/7538
[4]https://twitter.com/odin_free/status/1505127342431252482 [5]zkSync 2.0: Hello Ethereum:https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。