为什么说ZK Rollup是下一个值得布局的赛道?_GATE:THE

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

ZKRollup中的两大核心角色

主流的ZKRollup如StarkWare等,其架构包含两大角色:

Sequencer

Prover

Sequencer负责执行Layer2网络内的交易,将这些交易事件排序,打包成交易批次。

我们可以将Batch理解为压缩版的Layer2区块数据。Sequencer会定期将生成的Batch发布出去,Prover会自动读取Batch,为其生成一个ZKProof,交由Layer1上的指定智能合约进行验证。

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

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

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

在这种情况下,跨链桥不会为这笔跨链转账放行。只有对应的ZKProof提交到了Layer1的指定合约,并经过验证,跨链转账才会得到跨链桥的确认并通过。此外,ZKProof生成过程太慢,也不利于实现Sequencer的去中心化。

所以,如何提高ZKProof的生成速度将是决定ZKRollup未来发展的重大问题。目前看来,定制高性能的ZK加速芯片、推出激励机制促使Prover节点间展开竞争,将是缩短ZKProof生成时间的最有效方式。初步阅读了Scroll、Hermez、Taiko等ZKRollup的文档,了解到POE机制。

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

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

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

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

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

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

此外,可以让多个Prover节点同时参与Proof生成。由于Sequencer可以在短时间内执行大量交易,将其打包为多个Batch,这N个Batch就可以交给至少N个Prover节点来生成Proof。同时,N个Proof还可以被聚合到一起,这样就可以让聚合版Proof覆盖的交易数量更多,进而节约在Layer1上发布Proof产生的Gas成本。

这相当于采用并行计算的方式完成Proof生成。由于多个Proof可以被聚合为单

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

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

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

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

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

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

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

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

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

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

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

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

希望这篇文章对大家有一定的帮助。

在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。

有疑惑的,或者要一起做家人的。欢迎加入!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-4:659ms