为什么说ZK挖矿是下一个值得布局的赛道?
如果你以前并不了解ZK Rollup,同时对“ZK挖矿”这个名词感到耳目一新,那么这篇文章将是值得你阅读并转发的好材料!
ZK Rollup中的两大核心角色
主流的ZK Rollup如StarkWare等,其架构包含两大角色:
Sequencer(执行交易)
Prover(生成ZK证明)
Sequencer(排序器)负责执行Layer2网络内的交易,将这些交易事件排序,打包成交易批次(Batch)。
我们可以将Batch理解为压缩版的Layer2区块数据。 Sequencer会定期将生成的Batch发布出去,Prover(证明者)会自动读取Batch,为其生成一个ZK Proof,交由Layer1上的指定智能合约进行验证。
在现在的ZK Rollup方案中,Sequencer与Prover的工作速度相差甚远。在目前的家用电脑上,每秒可执行约4000笔交易,但为每笔交易生成Proof却需要约1.5秒~2.5秒,相当于每秒仅能为0.6笔交易生成Proof。这样算来,Sequencer和Prover的工作效率相差至少5000倍,两者之间始终存在延迟。
如果无法解决ZK Proof生成时间过长的问题,就会对Layer2的可用性产生负面影响。最直接的影响就是跨链转账。
通常情况下,用户在Layer2发起一笔向Layer1的转账,会先被Sequencer节点处理,随后包含跨链转账的Tx Batch会发布到Layer1上。 但此时,这个Batch尚未生成对应的Proof,无法通过验证。
在这种情况下,跨链桥不会为这笔跨链转账放行。只有对应的ZK Proof提交到了Layer1的指定合约,并经过验证,跨链转账才会得到跨链桥的确认并通过。 此外,ZK Proof生成过程太慢,也不利于实现Sequencer的去中心化。
所以,如何提高ZK Proof的生成速度将是决定ZK Rollup未来发展的重大问题。目前看来,定制高性能的ZK加速芯片、推出激励机制促使Prover节点间展开竞争,将是缩短ZK Proof生成时间的最有效方式。 初步阅读了Scroll、Hermez、Taiko等ZK Rollup的文档,了解到POE(Proof Of Efficiency)机制。
Scroll和Hermez可能是最值得关注的ZK Rollup。如果项目方能够将其设想充分实现,那么这两者将是最适合ZK挖矿的理想乡。下面的陈述中,将针对论点展开一些论述。
ZK加速方案的必要性:由于ZK Rollup需要先将传统编程语言转换为对ZK证明友好的形式。同时,常用的SHA256或Keccak函数对ZK也很不友好,要生成对应的ZK Proof会产生很长的耗时。这些复杂操作会大幅延长证明生成时间。
Scroll的联创Zhang Ye的一篇论文曾提及,目前的ZK-SNARK证明虽然验证速度快,但其生成过程仍然十分困难。通常情况下,为一段程序生成对应的ZK Proof,首先要将程序转化为一个约束系统,其尺寸大小通常可以达到原始程序的几倍,最高可达几百万倍。随后,证明程序要在一个大的有限域上执行一系列数学运算
其中产生的操作量与对应的程序相关,但与约束系统中的约束数量相比,其操作量总是超线性的。大多数情况下,生成zk-SNARK的时间要比验证它的时间长得多,有时两者的差距可达到几百倍,比如仅仅是为一次支付事务生成Proof就可能长达几分钟,其执行过程却仅需要几十毫秒而已。
对此,Scroll提出了名为PipeZK的ZK加速解决方案,该方案可以在普通消费级硬件上将ZK Proof的生成过程提高接近200倍。如果未来再结合FPGA和ASIC等专用硬件,加速效果或将进一步提升。
同时,Scroll表示将于未来实现Layer2节点的去中心化,允许用户运行Prover节点参与到ZK Rollup网络运行。按照其愿景,如果普通用户可以自由的运行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生成时间
这将有助于提高ZK Rollup的可用性,也可以扩大Prover节点的规模,进而为ZK加速芯片打开市场需求空间。
同为ZK EVM解决方案的Taiko则在并行化的基础上提出了窗口期的设定。对此,Taiko在其文档中有明确的解释:当一个待证明的Layer2区块被生成时,会发布到Layer1上,等待Prover节点为其生成对应的Proof证明。但Taiko设置了窗口期,如果一个待证明的交易批次在规定时间内没有被证明,就可以被抛弃或被替换
这就会敦促Layer2区块生产者Sequencer自行寻找具有更高性能的Prover节点,与其合作在更短的时间内生成Proof。这种方法可以在一定程度上排除掉“不作为”的Prover节点运行者,但如果窗口期设置的过长,仍然无法高效刺激Prover节点提高其效率。
为此,Polygon的Hermez项目组提出了一个很有意思的构想,名为Proof Of Efficiency(POE),它允许多个Prover无需许可的参与到ZK Proof生成过程,并让这些Prover节点展开竞争,最终的Proof奖励只会分配给第一个成功的节点。
在POE机制下,Prover(Aggregator)以无许可的方式参与到Proof的生成过程中,虽然Hermez并未对此处的“无许可”做出明确解释,但我个人分析认为,“无许可”可能意味着Prover节点无需质押代币也无需事先注册,可以直接读取Sequencer发布到Layer1上的交易批次(Layer2区块),并为其生成对应的Proof。
Hermez在其POE方案中称,允许多个Prover节点以竞赛的方式提交Proof并获得奖励,如果某个Prover是第一个生成正确Proof的节点,它将获得全部的Proof生成奖励,该笔奖励由Sequencer以悬赏的形式进行支付。
结合上文中提到,Taiko曾提出“窗口期”概念,如果Sequencer提交到Layer1的交易批次长时间未生成对应的Proof,就会被废弃,Sequencer一般会有很强的动力去提高Proof悬赏金额,刺激Prover群体高效工作。
这样一来,Sequencer或ZK rollup项目方相当于把ZK Proof加速策略委托给Prover节点运行者去研发,通过悬赏市的竞赛机制,可以很大程度上调动广大矿工的积极性,不失为一种共赢策略。
对于POE方案存在的问题,提出者本人也曾指出,仅将全部的Proof生成奖励分配给一个Prover可能不太公平,因为网络延迟或者交易审查会影响Proof的提交时间,所以更好的优化方法是将奖励分配给Proof提交时间相近的几个Prover节点,这样可以更好的激励Prover群体,也能保留住更大规模的Prover节点群。
如果Prover节点顺利去中心化,并且全部的Proof奖励分配给性能最优越的几个Prover运营方,类似比特币矿池的组织形式极有可能出现,这些Prover矿池由许多散户矿工贡献的设备连接而成,按照每个人贡献的算力分配奖励。
同时,由于ZK Proof生成任务可以并行化,可切分,拥有的加速芯片越多、使用的生成策略越优秀,获得的奖励就会越多。照此看来,ZK 挖矿很有可能复制比特币挖矿的老路,挖矿设备会不断的更新迭代,组织形式将以矿池为主,而ZK Rollup本身也将大幅受益于这种变迁。
希望这篇文章对大家有一定的帮助。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum