原文:《CriticismonZK》bymsfew
*注:首先,这是一个用一个小时写的草稿。主要是为了快速收集信息,所以可能存在非常多的潜在错误和不完整的信息。
对ZK的主要批评包括两个:
一是证明时间长(因此有各种benchmark、各种新的ZK协议和各种硬件优化);
一是系统和应用程序安全性仍然需要测试。
?证明生成性能
零知识证明是区块链领域非常流行的技术。由于链上计算资源稀缺且昂贵,零知识证明允许这些计算在链下进行,虽然链下证明生成的总时间消耗非常高,但它仍然压缩了最终证明和相关的计算验证,从而允许计算“在链上”。
ZK证明生成时间过长的问题往往被研究者和开发者所忽视,因为这本质上是ZK需要做出的权衡。
SushiSwap CEO:从技术上讲我看好加密货币:金色财经报道,SushiSwap CEO Jared Grey在社交媒体上表示,监管的唯一好处是创造一个公平的竞争环境。坦率地说,这通常是失败的。盲目的贪婪通常会获胜,而在位者则会通过阴险的利益冲突为自己开路。从技术上讲,我看好加密货币,因为它阻碍了人类最恶劣的滥用特性。[2023/7/24 15:54:17]
虽然他们没有直接批评ZK的这个缺点,但是他们有很多从对面解决这个缺点的方法和讨论。
也就是说,他们通过提出各种解决方案并进行大量基准测试来隐含地谈论ZK的极长证明时间。
a)Benchmark
在衡量ZK应用之前,我们首先要测试ZK协议底层commitment的性能。
因为比如,FRI导致STARK,KZG导致常规SNARK,IPA导致Bulletproof。底层承诺的性能测试对于ZK应用的性能并不直观,但对于理解ZK证明时间长的问题很有帮助。
火币论坛对话汪弘彬:从技术层面来说,区块链将在金融领域发挥领先作用:新加坡时间12月30日下午,欧洲货币机构投资者集团大中华区CEO汪弘彬做客火币论坛,以“回顾与展望,从疫情到复苏”为主题,与火币商务副总裁Ciara探讨在疫情的持续影响下,企业该如何进行数字化转型。
汪弘彬认为,疫情推动了数字浪潮的发展,从技术层面来说,区块链和加密货币行业将在金融领域发挥领先作用,并且会迅速成长为不同于大数据、人工智能和物联网的另一种新技术,未来势必会有很大的发展空间。比特币在2020年表现突出。但如果比特币要成长为更成熟的资产类别的话,必须要经历一系列的周期,比特币至今还没有一个完整的周期。成熟的机构投资者要了解这一点,然后再进入这个市场。
“据我个人观察,比特币的资产类别变得愈来愈清晰了,这会吸引越来越多的机构进入这个市场,但我们还是要从宏观角度来看比特币整体周期的发展。但从长远来看,我对这类资产很乐观。”汪弘彬最后总结道。[2020/12/31 16:08:51]
从上面的链接我们可以看出,这些底层承诺协议不仅计算复杂(可能导致证明时间长),而且还存在内存消耗非常大的问题。
徐坤:Filecoin项目需要从技术角度和投资角度去分析:OKEx首席战略官徐坤今日发微博表示,对于Filecoin项目本身,需要从技术角度和投资角度去分析它,一切的投资是可以用数据量化的,资产有背后的价值作为支撑,可持续就可以去考虑;
另外一方面,放长周期去看一个事物的发展,它是否能够经历时间的考验。投资是反人性的,事实证明,很多投资者在每一个阶段可以享受一个事物不同的红利,所以分析判断一个投资的周期长度以及市场变化,再认真思考去做决定。[2020/7/14]
当然,内存消耗其实更多的是跟硬件配置要求有关,这跟我们今天要讨论的话题是不一样的。
对于具体的SNARK性能测试,a16zcrypto将它们分为前端和后端:
前端通常是ZK应用开发者接触到的Cairo语言/zkVM高级语言等;
而后端是更接近SNARK证明生成时间的承诺等底层密码学操作。
腾讯研究院金融科技研究中心杜晓宇:应从技术、应用、市场等维度来展开区块链与法律的研究 :在第一期“法律人的互联网思维”系列研修会上,腾讯研究院金融科技研究中心副主任杜晓宇进行了“区块链技术对法律的影响和挑战”的主题发言。他认为,区块链链对法律的影响与挑战不宜从单一角度笼统去概括,可以考虑从“区块链技术与法律”、“区块链应用与法律”、“区块链市场与法律”、“区块链子与法律”四个维度来展开分析。[2018/4/19]
其中,作者提到SNARK证明生成具有大约100倍的计算开销,并且每个ZK协议都有额外的开销,例如:
“InGroth16,Pmustworkoverapairing-friendlygroup,whoseoperationsaretypicallyatleast2xslowerthangroupsInGroth16,Pmustworkoverapairing-friendlygroup,whoseoperationsaretypicallyatleast2xslowerthangroupsthataren'tpairingfriendly.,thisresultsinatleastanadditionalfactor-6slowdownrelativetothe100-|C|estimateabove.”
总体而言,可以说?zk-SNARK的额外性能开销在200-1000倍的范围内。
此外,文章还提到了zk-SNARK的其他限制,例如可信设置和内存使用。
ModulusLabs的文章测量了一些ZK协议的实际性能。有些基准是针对参数数量的,这对我们来说不是很直观。然而,在应用中,文章提到在Worldcoin用例中,即使使用“最快”的Plonky2,仍然需要几分钟的证明生成时间和数十GB的内存消耗,无法在个人电脑上运行。
b)递归和批处理
为了减少证明生成时间,我们可以并行证明多个证明。
通常,有两种方法可以做到这一点:一种是批处理,另一种是递归。
简单来说,批处理是同时证明一批证明,最后将它们聚合在一起,而递归是在一个证明中验证其他证明。一般而言,递归方法具有更小证明大小?的额外优势。
一些更常见的聚合方法包括Halo2、Plonky2。他们每个人都以不同的方式执行批处理和递归,从而减少了证明时间。
除了ZK的协议层,ZK的应用层也可以有针对性的优化。例如,可以同时使用多个ZK协议(STARK+SNARK),或者针对宏观采取递归策略进行特定于应用程序的调优。
一般来说,这实际上减少了协议和证明分配方面的证明生成时间。在探索新的ZK协议时,减少证明时间是最重要的考虑因素。
c)硬件加速
此外,从硬件角度进一步减少ZK应用在物理和节点层面的证明时间也做了很多努力。
首先,与前面提到的新协议一样,ZK协议被设计为尽可能对硬件友好,例如HyperPlonk。
Paradigm提到,ZK的证明生成速度慢主要是由于涉及大量的MSM和FFT,它们对硬件不友好,导致由于随机内存访问等问题导致最终证明生成速度慢。对于这些底层加密计算,ZK协议需要在它们的组成和规模上进行一些权衡,以使其对硬件更加友好。
几家ZK硬件加速厂商表示,GPU实际上是目前最经济和可配置的硬件选择,我们最终将有FPGA过渡到ASIC阶段。根据zk硬件公司的说法,他们的第一版ASIC可以直接减少至少30%的ZK证明生成时间。
此外,由于不同的服务器配置,将不同的云服务器作为节点运行可能涉及不同的硬件特定优化。
Security
ZK现在的另一个批评是电路代码仍然需要正确(没有bug)。
如果ZK协议从健全性、完整性、零知识的角度受到攻击,我们将不再拥有有效的ZK系统。我们可以在这个链接中看到各种角度的攻击示例。
虽然ZK应用可以被称为trustless,但我们仍然需要确保项目的ZK协议和应用的代码和架构是正确的。区块链领域中存在多种ZK错误。例如,由于zkEVM的ZK电路代码库庞大的问题,Vitalik谈到了?ZK应用程序的多证明者的需求。
因此,ZK系统可能需要与形式验证等安全工具或Ecne等其他安全相关工具搭配使用。应用程序级别,它需要更多的审计,特别是对于像zkEVM这样的大项目。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。