详解Polygon全栈zk扩容方案:Hermez、Nightfall、Miden和 Zero
长期以来,以太坊L2之争的焦点都被ZK Rollup和Optimistic rollup两者占据。因为OP的EVM兼容性和技术较为成熟等特性,更容易被项目开发者采用,因此,OP在当下更为通用和主流。据L2BAET的数据,仅Arbitrum、Optimism、Metis三个采用OP方案的项目,就占据了L2市场份额的70.8%。而ZK rollup因开发难度较高、技术进展较慢,目前采用率和市场份额占比都比较低。
作为目前总锁仓量最高的以太坊扩容方案,Polygon则坚定地将扩容的未来押注到了zk技术上。去年,Polygon大手笔收购了Hermez、Mir,并为zk扩容做出了10亿美元的重金承诺。
现在,Polygon拥有了“一整套”zk扩容方案,分别是Hermez、Nightfall、Miden和 Zero。四种扩容方案虽都建立在zk技术之上,但各有千秋,策略不同。那么,这四种方案具体技术特性与开发进度如何?哪个更有希望先杀出来?
在这篇文章中,我们将详细讨论这四种zk解决方案,包括其开发历史、运作机制和开发进度等。以下内容整理自Polygon DAO专栏作者Pedro关于Polygon研究的Medium系列文章,链捕手在原文基础上进行了适当的精简和便于理解的增补。
Polygon Zero
Polygon Zero是一个 ZK L2 解决方案,由最快速、最高效的递归证明系统 Plonky2提供支持。前身为Mir协议,是由Brendan Farmer和Daniel Lubarov 创办的Predicate Labs于2019年构建。Mir协议的特色是,执行程序过程中会生成递归的 ZKP(zk-proof)验证。简而言之,递归证明就像生成证明的证明。用于验证一组交易证明是否有效。
递归证明是一项非常年轻的技术,于2014年首次在理论上被引入。2019年,Mir能够在 2 分钟内生成递归证明,显然,这时间不算短,也缺乏扩展性。
2020年,由于Aztec团队的探索,Mir 取得了巨大突破,实现了在60秒内生成递归证明。在此基础上,Mir 团队开发了 Plonky,允许 Mir 协议在15秒内生成递归证明。
2021年12月,Polygon以4亿美元收购了Mir,协议更名为 Polygon Zero。最初Mir正在构建的启用zk技术的独立L1链的设想,变为在Polygon之上构建一个分布式的 zk-rollup。
今年1月,Polygon Zero发布了Plonky2,这一技术能在Mac-Book Pro上以小于170毫秒的速度生成递归证明。这是有史以来最快的递归证明。而递归证明这项技术的突破,也将为Polygon Zero服务——Plonky2将支持最具可扩展性的 zkEVM。
1、Plonky2
Plonky2是Plonky1的迭代,前面也提到它建立在2020年Aztec构建的验证系统之上。

这三者之间的一个共同点是Plonk,所以我们需要先弄明白Plonk是什么。
ZKP是指在不透露相关信息的同时生成某个计算的有效性证明。所以没有信息并不会被泄露,只是生成证据。
两个主要的 ZKP分别是SNARK和STARK(由于下文会反复提到这两种证明系统,所以链捕手在此处增加了对二者的详细对比)。二者主要区别包括:SNARK依赖椭圆曲线来保证安全性,而STARK依赖散列函数来保证安全,使用散列函数意味着量子抗性。

SNARK 和 STARK 对比,来源: Consensys 官网
SNARK的证明规模更小,这意味着链上数据存储更少,最终用户支付的gas更少。尽管SNARK对开发人员更加友好,但STARK提供了一些独特的优势,例如会更加透明,不需要受信任的设置,而且是“量子安全”的,在未来会有更大的潜力。这些优势也曾让Vitalik称STARK其实是“更新、更耀眼”的技术。
但因为SNARK早在2012年就被提出并投入使用,而STARK则在2018年才被提出。所以,SNARK在采用方面具有很大的先发优势,目前Z-Cash、路印协议和摩根大通都采用了SNARK 技术,而且因为被广泛采用,SNARK 拥有更多已发布的代码、开发人员库、项目和开发人员。但STARK作为新星,因其独特的优势,也在被更多项目采用。
Plonk是证明系统的名称,它属于SNARK证明系统的一种。
接下来,我会分析几种与Plonk结合的不同类型的方案:

Aztec 使用 Plonk + KZG的递归证明时间为60秒;
Plonky1使用 Plonk + Halo,递归证明时间为15秒。Halo于2019年由 Zcash 首次推出,是第一个不需要可信设置的递归证明方案。但Halo的缺点是不兼容以太坊,这就是为什么Mir 会在最初想建立独立的L1链;
Plonky2使用Plonk + FRI,递归证明时间为170毫秒。2021年,Polygon Zero负责人Daniel Lubarov提出将 FRI与Plonk结合。
FRI是用于STARK的方案,这意味着通过使用FRI,Plonk就变成STARK(Plonk最初是SNARK的一种),也意味着增加系统的透明度。当时,只有一个项目(Fractal)实现了递归FRI证明,该协议的证明时间约为10分钟且不可扩展。
为了保证快速,Polygon Zero采用了Plonky的第一个版本,并用FRI替换了Halo。上文图表可看出,FRI 的证明速度是“可变的”,提交的数据越少,获得的证明就越快。但数据越少,安全性就越低。
Plonky2正在构建什么?
如前所述,Polygon Zero最终要建设由Plonky2提供支持的最具可扩展性的zkEVM。
即,每个zk-rollup都需要一个zkEVM才能真正处理计算。用于Polygon Zero的zk-rollup 的zkEVM将由Plonky2提供支持,这是目前最高效、最快的zk证明系统。
开发人员将能够在Polygon Zero