您的位置 主页 > 区块链热点 >

tokenpocket|Vitalik提及的ZK实时证明,可依靠ZK硬件加速实现?

原创 | 星球日报

作者 | 夫如何

Vitalik提及的ZK实时证明,可依靠ZK硬件加速实现?

2024香港 Web3 嘉年华期间,以太坊联合创始人 Vitalik Buterin 发表演讲《Reaching the Limits of Protocol Design》。在本次演讲中,Vitalik就如何提高zk-snark的效率展开阐述。

在演讲中,Vitalik指出目前区块链的发展是以牺牲隐私性和可扩展性为前提的,zk-snark所具备的属性能够对牺牲的隐私性和可扩展性进行补救。但目前zk-snark效率较低,在以太坊中,以太坊节点验证一个区块所需时间,约为400毫秒,而zk-snark验证一个以太坊区块的时间约为20分钟,这导致网络虽然具备隐私性和可扩展性,但运行时间却延长3000倍。所以想将zk-snark运行到现有区块链网络中,需要提供一种“实时证明”,如果证明生成时间降低,那么在保证区块链运行速度的同时,也能提升隐私性和可扩展性。

什么方法能够实现“实时证明”?为此星球日报将根据Vitalik在演讲中所提供的思路进行解析,并对相应方案的项目进行简短介绍。

zk-snark实现“实时证明”的三个方向

在此之前,先科普一下zk-snark,zk-snark全称为简洁的非交互式零知识证明,为了更好的理解,我们分开解释:

  • 零知识证明:即证明者(Prover)能够在不向验证者(Verifier)提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

  • 简洁的:指交易验证过程不涉及大量数据传输,且验证算法简单。

  • 非交互的:证明者与验证者之间无需进行交互。

以下是zk-snark的运作流程图。从图中对zk-snark进行简单解读:

  • 利用Setup,使用随机数生成置信参数 F,生成证明密钥 pk 和验证密钥 v

  • 证明者输入隐私输入 W 和公开输入 x,生成证明 π,并用私钥 pk 签名。π 通过椭圆曲线加密,隐藏了 W

  • 验证者验证证明: 验证者持有 v,输入 x 和 π,确认证明者知道 W。验证者无法得知 W

  • 结果返回: 如果验证成功,则返回 TRUE;否则返回 FALSE。

  • Vitalik提及的ZK实时证明,可依靠ZK硬件加速实现?

    通过上述以Zcash的zk-snark相关流程介绍,不难发现,zk-snark在验证证明时,所产生的步骤别不多,同时根据zk-snark的特性来看,验证所耗时间并不多,根据相应的zk-snark相关统计,验证证明时间一般不超过80毫秒,那么影响zk-snark成为公链的运行阻碍的原因在于证明者提供的证明。

    Vitalik提及的ZK实时证明,可依靠ZK硬件加速实现?

    上图为目前比较主流的zk-snark相关技术的汇总,从中不难发现,证明的大小、证明生成时间,验证时间是衡量有关zk-snark技术的标准。抛开验证时间来看,大多数zk-snark的证明无论从证明大小和生成时间来看,都与本文起始部分,Vitalik用以太坊为例的标准不符,值得注意的是,上述大多数技术的所在公链并不具备智能合约的功能,也无法与以太坊区块大小相提并论,所需证明尺寸和证明生成时间要求更高。

    为此,Vitalik在本次演讲中对zk-snark“实时证明”的实现,提供三个解决优化方向。

    • 并行化和聚合:通过并行计算和证明聚合,提高验证大块区块的效率。每个计算步骤都可以进行独立证明,然后将这些证明进行聚合,减少验证过程中的计算时间和资源消耗。这可以通过利用并行计算和分布式系统的特性来实现,以加速大规模区块的验证过程。

    • 硬件设计改进:设计专门用于 SNARK 计算的 ASIC,以提高计算效率。类似于挖矿中使用的 ASIC,SNARK ASIC 可以通过定制化的硬件结构和优化的算法来加速 SNARK 计算过程,从而实现更快的验证速度和更低的成本。

    • 算法改进:进一步优化 snark 算法,包括 Groth16、查找表、64位 snark、32位 stark 等,以提高算法的效率和可扩展性。此外,还可以研究开发更加高效的哈希函数和签名算法,使其更适合于 snark 的计算,进一步提高验证速度和资源利用率。

    Vitalik提倡第一个解决方向——并行计算和证明聚合,需要对相关公链和zk-snark运作流程进行优化,例如此前zk-snark算法中Plonk算法的递归属性,不过并行计算和证明聚合目前并未有更好的解决方案可以解决相应问题。

    至于算法改进,目前在zk-snark领域,从性能上来看,主流依旧是Groth16算法,随后出现的zk-snark算法多是为解决可信设置问题,在运行速度和证明生成时间上并无更多进展,并且zk-snark算法中,可信设置约简单,运行速度越快,但安全性也越差。为此以安全性为前提,zk-snark提升速度还需持续建设。

    上述两个解决方向主要以理论为支撑,这需要很长时间才能有所突破,那抛开理论,能否通过其他方式快速实现“实时证明”吗?硬件设计改进或许是达成目标的最佳捷径。

    ZK 硬件加速或能尽快实现“实时证明”

    从前文关于zk-snark性能的内容中,不难发现,真正限制zk-snark性能在于证明的生成,其中证明大小和电路规模决定证明生成时间。目前,大多数项目的复杂度越来越高,其证明大小和电路规模也在不断提升,生成证明的算力也在不断增加,为此ZK硬件加速项目应运而生。

    ZK硬件加速主要在证明生成中的多项式类型NTT任务和椭圆曲线MSM任务提供算力支持,主要这两项任务的运行逻辑简单,且大部分计算逻辑重复,并且可以进行可并行计算。

    ZK硬件和挖矿硬件相差不大,依旧是GPU、FPGA以及ASIC三种。不过ZK 硬件加速领域目前比较常见的是GPU/FPGA方案,该方案比较容易实现,相关配件更易获取,不过相比于前两者,ASIC潜力更大,也是ZK硬件加速领域目前增长点之一。

    目前ZK硬件加速项目采用两种方式为相关ZK项目提供算力服务,包括硬件出售和SaaS算力服务。硬件出售顾名思义,和比特大陆一样出售矿机;SaaS算力服务,更像提供一个算力市场,ZK项目可以在市场上购买算力来帮助项目生成ZK证明。

    目前ZK硬件加速领域比较小众,若不是Vitalik在演讲中提到,想必大多数人并不太清楚有哪些项目存在。为此星球日报对该板块项目进行整理,板块项目较少,其中Cysic、Ingopedia、Supranational、Ulvantanna以及Auradine为目前较为知名的项目。

    其中Cysic目前关注度较高,其推出FPGA/ASIC硬件加速在算力性能上较为突出,同时还有算力市场为客户提供算力支持服务;Auradine比较综合,其主推的是比特币矿机,同时提供相应ZK 算力硬件,不过ZK 硬件并不是其主打产品;Ulvantanna主打利用FPGA集群为ZK项目提供算力支持,值得一提的是,Web3知名资本Paradigm是其投资者;Supranational项目比较奇特,推特和官网的更新截止在去年5月,不确定目前是否运行;Ingopedia提供基于GPU和FPGA两种硬件加速服务。

    ",

    热门文章