

此外,Starkware研发的STARK、FOX研发的FOAKS都在FRI的过程中主要涉及哈希运算。
原文作者:Fox Tech CTO 林彦熹,Fox Tech CEO 康水跃
原文来源:PANews
零知识证明能够提供隐私保护、扩容、构建信任等关键作用,与Web3.0的精神相互契合,因此其应用场景如雨后春笋大量涌现。目前,ZK的小型应用开发难度小、成本低,有较多较成熟应用;ZK的中型应用初见雏型,现今的技术也足以满足其性能需求;而对于大型应用而言,目前仍处于较早期的阶段,仍存存在部分技术瓶颈,距离成为成熟的产品还需要一些时间。我们首先简单盘点各类的应用场景:
零知识证明无疑是 Web3 领域中最具创新性的技术之一,零知识证明也提供了构建Trustless产品的绝佳技术手段。然而像人工智能刚从学界走向业界一样,现今的各类应用场景仍有相当多的问题与挑战。庆幸的是,越来越多学界与业界的力量正投入这个领域。下面我们将深入探讨zk科技树的不同枝叶。
一套完整的零知识算法从研究走到应用需要经过理论研究、开发工具构建与具体应用开发等阶段。而其中效率问题是零知识证明应用进入下一个阶段最大的瓶颈之一,这其中包含算法的效率与开发的效率。
在算法效率方面,不同零知识证明使用不同的方法表达要证明的电路、且背后基于不同的数学困难问题,这些因素都会影响算法的各项效率。具体而言,一个零知识证明算法重要的效率指标包含证明大小、证明时间、验证时间等等,而在目前,大量的算法都能实现较短的验证时间,各式的聚合技术也可以压缩证明大小,而证明时间则是主要的瓶颈。
因此项目方的设计与选择对算法效率表现显得至关重要。不同零知识证明算法在复杂度方面会形成巨大的差异。复杂度的差异在输入的数量级大的时候会充分反映到具体的性能差异上。

图1: 各种零知识证明算法
预期未来将有更多团队在零知识证明的算法上投入更多研究精力以找到最符合项目需求特性的算法。例如FOX这样的Layer2项目坚持设计在证明时间这项关键指标上达到理论下界,线性复杂度O(C),且是对数验证时间、无需可信设制的算法。这种算法非常适合支持一个没有容量上限的扩容网络。
在开发方面,开发效率低下的主要原因是相关的开发栈缺失严重,将应用场景转换为电路语言最终付诸算法证明的过程相当复杂:需要将前述漫长过程中的某个(些)部份抽象化、形成模块化的开发工具或语言,并保持彼此之间的兼容性。完整、丰富的ZK开发栈便是破局的关键,这让开发者能只专注于各自关注的环节,一起合作完成一个完整的ZK应用。

表1: 零知识证明硬件加速面临的问题
硬件加速是使零知识证明效率进一步提高、让大型应用更接近成熟落地的关键。而这便涉及两个问题: 首先是哪些运算可以加速,其次是哪些硬件可以用来加速。
对于第一个问题,不同的零知识证明主要的差异在于多项式承诺的方法,Matter Labs采用的Plonk、Scroll采用的Ultra-Plonk等算法多项式承诺基于KZG,因此其中的Prover涉及大量的FFT计算和ECC点乘MSM的运算用以产生多项式和承诺,这两类计算都会带来大量计算负担。具体而言,MSM有通过在多个线程上运行来加速的可能,但是需要大量内存并且即使在高度并行化时仍然很慢,而 FFT 严重依赖算法运行时数据的频繁洗牌,这使得它们很难通过跨计算集群分配负载来加速。因此目前对这些运算加速都意味着高昂的成本。
此外,Starkware研发的STARK、FOX研发的FOAKS都在FRI的过程中主要涉及哈希运算。虽然也有FFT,但量不大。因此这两种算法可以使用硬件加速来提升运算的效率。
在硬件层面主要有GPU、FPGA、ASIC三种选择,各有不同的特性:
这三种硬件不同的特性也使其有不同的机会。短期看GPU,中期看FPGA,长期看ASIC。以太坊转为PoS后,GPU算力将会流向可以吸纳这些算力的网络,而没有大量FFT和MSM运算且对并行运算友好的网络将会成为他们的首选。FPGA的可编程性在中期具备一定的优势,尤其是在算法更迭快速、技术路线还不稳定的时期。ASIC路线意味着更高昂的成本,但能带来更高的效率提升。从长远看大型硬件厂商势必进入这个赛道并毫无疑问会选择ASIC作为其主打芯片类型。
最后,有了完整的软硬件,机制设计便是使其稳定运行与进步的最后一步。各个zkRollup项目在初期的Prover通常都会更接近传统的中心化服务:部署在云上,并由项目方独享这部分的收益。但是在Web3的叙事下,未来Prover的工作势必往去中心化的方向发展,而这样的发展也有以下的优点:
但是证明过程的去中心化有相当多的挑战,例如去中心化后各方该通过甚么样的共识合作、应该在证明过程中的哪个层面分配去中心化的任务、如何保持通信的效率与避免可能的攻击行为等等。
尽管如此,一些理想的可能解决方案已经被刻画在部分项目的愿景中,例如在FOX的设计中便包含了一个zkPOW的方案,这个方案能够达成以下目标:
FOX的zkPOW设计中,在第一个证明被提交随后的一个时间窗口内提交证明的参与者都可以获得不同比例的激励,同时,通过引入随机性使得每次证明的提交内容都不相同,这意味着每次证明的提交背后都必须经过完整的证明计算。而通过仔细设计的比例分配,将使得各个参与者的期望收益与其算力成比例,对各个参与者提高计算效率产生正向激励,最终使得项目的用户都将因此受惠,享受更安全、更快、成本更加低廉的zkRollup服务。