为什么说ZK挖矿是下一个值得布局的赛道?

SA(Sybil Attack)热度: 34668

如果你以前并不了解ZK Rollup,同时对“ZK挖矿”这个名词感到耳目一新,那么本文将是值得你阅读并转发的好材料!

原文标题:Thread:为什么说ZK挖矿是下一个值得布局的赛道?

原文作者:SA(Sybil Attack)

原文来源:Twitter

如果你以前并不了解ZK Rollup,同时对“ZK挖矿”这个名词感到耳目一新,那么这条Thread将是值得你阅读并转发的好材料!

1.ZK Rollup中的两大核心角色

主流的ZK Rollup如StarkWare等,其架构包含两大角色:Sequencer(执行交易)、Prover(生成ZK证明)

Sequencer(排序器)负责执行Layer2网络内的交易,将这些交易事件排序,打包成交易批次(Batch)。我们可以将Batch理解为压缩版的Layer2区块数据。

Sequencer会定期将生成的Batch发布出去,Prover(证明者)会自动读取Batch,为其生成一个ZK Proof,交由Layer1上的指定智能合约进行验证。

ZK Rollup

2.在现在的ZK Rollup方案中,Sequencer与Prover的工作速度相差甚远。在目前的家用电脑上,每秒可执行约4000笔交易,但为每笔交易生成Proof却需要约1.5秒~2.5秒,相当于每秒仅能为0.6笔交易生成Proof。这样算来,Sequencer和Prover的工作效率相差至少5000倍,两者之间始终存在延迟。

ZK Rollup

如果无法解决ZK Proof生成时间过长的问题,就会对Layer2的可用性产生负面影响。最直接的影响就是跨链转账。

通常情况下,用户在Layer2发起一笔向Layer1的转账,会先被Sequencer节点处理,随后包含跨链转账的Tx Batch会发布到Layer1上。但此时,这个Batch尚未生成对应的Proof,无法通过验证。

在这种情况下,跨链桥不会为这笔跨链转账放行。只有对应的ZK Proof提交到了Layer1的指定合约,并经过验证,跨链转账才会得到跨链桥的确认并通过。

此外,ZK Proof生成过程太慢,也不利于实现Sequencer的去中心化。

3.所以,如何提高ZK Proof的生成速度将是决定ZK Rollup未来发展的重大问题。目前看来,定制高性能的ZK加速芯片、推出激励机制促使Prover节点间展开竞争,将是缩短ZK Proof生成时间的最有效方式。

我初步阅读了Scroll、Hermez、Taiko等ZK Rollup的文档,了解到POE(Proof Of Efficiency)机制。

我认为Scroll和Hermez可能是最值得关注的ZK Rollup。如果项目方能够将其设想充分实现,那么这两者将是最适合ZK挖矿的理想乡。在下面的陈述中,我将针对我的论点展开一些论述。

4.ZK加速方案的必要性:由于ZK Rollup需要先将传统编程语言转换为对ZK证明友好的形式。同时,常用的SHA256或Keccak函数对ZK也很不友好,要生成对应的ZK Proof会产生很长的耗时。这些复杂操作会大幅延长证明生成时间。

Scroll的联创Zhang Ye的一篇论文曾提及,目前的ZK-SNARK证明虽然验证速度快,但其生成过程仍然十分困难。通常情况下,为一段程序生成对应的ZK Proof,首先要将程序转化为一个约束系统,其尺寸大小通常可以达到原始程序的几倍,最高可达几百万倍。随后,证明程序要在一个大的有限域上执行一系列数学运算

其中产生的操作量与对应的程序相关,但与约束系统中的约束数量相比,其操作量总是超线性的。大多数情况下,生成zk-SNARK的时间要比验证它的时间长得多,有时两者的差距可达到几百倍,比如仅仅是为一次支付事务生成Proof就可能长达几分钟,其执行过程却仅需要几十毫秒而已。

ZK Rollup

5.对此,Scroll提出了名为PipeZK的ZK加速解决方案,该方案可以在普通消费级硬件上将ZK Proof的生成过程提高接近200倍。如果未来再结合FPGA和ASIC等专用硬件,加速效果或将进一步提升。

同时,Scroll表示将于未来实现Layer2节点的去中心化,允许用户运行Prover节点参与到ZK Rollup网络运行。按照其愿景,如果普通用户可以自由的运行Prover节点,通过生成和提交Proof来获得奖励,其实质就构成了“挖矿”行为;

ZK Rollup

此外,可以让多个Prover节点同时参与Proof生成。由于Sequencer可以在短时间内执行大量交易,将其打包为多个Batch,这N个Batch就可以交给至少N个Prover节点来生成Proof。

同时,N个Proof还可以被聚合到一起,这样就可以让聚合版Proof覆盖的交易数量更多,进而节约在Layer1上发布Proof产生的Gas成本。

ZK Rollup

6.这相当于采用并行计算的方式完成Proof生成。由于多个Proof可以被聚合为单个Proof,最后的聚合版Proof可以一次性覆盖N个交易Batch,如果将每个交易批次包含的交易数量适当缩减,调动更多Prover参与到并行生成Proof的工作中,相当于在同一时刻运行更多的Prover线程,理论上可以进一步缩短Proof生成时间

这将有助于提高ZK Rollup的可用性,也可以扩大Prover节点的规模,进而为ZK加速芯片打开市场需求空间。

7.同为ZK EVM解决方案的Taiko则在并行化的基础上提出了窗口期的设定。对此,Taiko在其文档中有明确的解释:当一个待证明的Layer2区块被生成时,会发布到Layer1上,等待Prover节点为其生成对应的Proof证明。但Taiko设置了窗口期,如果一个待证明的交易批次在规定时间内没有被证明,就可以被抛弃或被替换

ZK Rollup

这就会敦促Layer2区块生产者Sequencer自行寻找具有更高性能的Prover节点,与其合作在更短的时间内生成Proof。这种方法可以在一定程度上排除掉“不作为”的Prover节点运行者,但如果窗口期设置的过长,仍然无法高效刺激Prover节点提高其效率。

8.为此,Polygon的Hermez项目组提出了一个很有意思的构想,名为Proof Of Efficiency(POE),它允许多个Prover无需许可的参与到ZK Proof生成过程,并让这些Prover节点展开竞争,最终的Proof奖励只会分配给第一个成功的节点。

ZK Rollup

在POE机制下,Prover(Aggregator)以无许可的方式参与到Proof的生成过程中,虽然Hermez并未对此处的“无许可”做出明确解释,但我个人分析认为,“无许可”可能意味着Prover节点无需质押代币也无需事先注册,可以直接读取Sequencer发布到Layer1上的交易批次(Layer2区块),并为其生成对应的Proof。

ZK Rollup

Hermez在其POE方案中称,允许多个Prover节点以竞赛的方式提交Proof并获得奖励,如果某个Prover是第一个生成正确Proof的节点,它将获得全部的Proof生成奖励,该笔奖励由Sequencer以悬赏的形式进行支付。

结合上文中提到,Taiko曾提出“窗口期”概念,如果Sequencer提交到Layer1的交易批次长时间未生成对应的Proof,就会被废弃,Sequencer一般会有很强的动力去提高Proof悬赏金额,刺激Prover群体高效工作。

这样一来,Sequencer或ZK rollup项目方相当于把ZK Proof加速策略委托给Prover节点运行者去研发,通过悬赏市的竞赛机制,可以很大程度上调动广大矿工的积极性,不失为一种共赢策略。

9.对于POE方案存在的问题,提出者本人也曾指出,仅将全部的Proof生成奖励分配给一个Prover可能不太公平,因为网络延迟或者交易审查会影响Proof的提交时间,所以更好的优化方法是将奖励分配给Proof提交时间相近的几个Prover节点,这样可以更好的激励Prover群体,也能保留住更大规模的Prover节点群。

ZK Rollup

10.如果Prover节点顺利去中心化,并且全部的Proof奖励分配给性能最优越的几个Prover运营方,类似比特币矿池的组织形式极有可能出现,这些Prover矿池由许多散户矿工贡献的设备连接而成,按照每个人贡献的算力分配奖励。

同时,由于ZK Proof生成任务可以并行化,可切分,拥有的加速芯片越多、使用的生成策略越优秀,获得的奖励就会越多。照此看来,ZK 挖矿很有可能复制比特币挖矿的老路,挖矿设备会不断的更新迭代,组织形式将以矿池为主,而ZK Rollup本身也将大幅受益于这种变迁。

责任编辑:Kate

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:ZK Rollup