作者:Preethi Kasireddy,DappCamp创始人;黄金金融加密
ZKP(零知识证明)是在加密货币爆发后流行起来的,但它们的悠久历史可以追溯到上世纪80年代。本文论述了ZKP的起源和近年来的发展。
ZKP的基本前提是一方(证明者)可以向另一方(验证者)证明他们知道某些信息,而不需要实际透露它是什么。通过这样做,证明者可以证明他们对特定事实或数据的知识,而不泄露任何其他信息。
现在,让我们开始探索ZKP的历史和发展。
20世纪80年代:ZKP ZKP的起源在加密货币爆发后获得了关注,因为他们允许双方在没有信任和匿名的情况下进行交换,但这个概念本身并不新鲜。事实上,ZKP的历史可以追溯到20世纪80年代末,ShafiGoldwasser、SilvioMicali和CharlesRackoff在一篇题为“交互式证明系统的知识复杂性”的论文中引入了这一概念。
作者描述的最初概念涉及到一种叫做“交互协议”的东西,在这个协议中,证明者和验证者将来回通信(反复交互),以使验证者相信证明者知道正确的信息。虽然这种方法有自己的突破,但它被证明是耗时和资源密集型的,尤其是当它涉及大量数据时。为了让ZKP具有可扩展性,它们需要是非交互式的。
佩吉(证明者)和维克多(验证者)
1986年,Fiat和Shamir发明了Fiat-sha mir Heuristics(Fiat-sha mir Heuristics,一种使用交互式知识证明并在此基础上创建数字签名的技术),成功地将交互式零知识证明转化为非交互式零知识证明。现在,这使得ZKP非交互式,并为其广泛和可扩展的使用奠定了基础。
交互式和非交互式ZKP
2011-2015:ZKSNARKSZKP的下一次重大推广发生在2011年,NirBitansky、RanCanetti和AlessandroChiesa发表了一篇题为“从可提取的碰撞阻力和反冲& # 8221;(从可提取的耐撞性到SNARKs,反之亦然)。
zkSNARK是如何工作的?
这篇论文表明,我们可以使用称为可提取的防冲突(ECR)哈希函数的东西来创建SNARKS(简明非交互知识演示)。SNARKS基本上是“简洁”的ZKP,这意味着它们很小,可以在几秒钟内得到验证。
这篇论文表明,我们可以使用称为可提取的防冲突(ECR)哈希函数的东西来创建SNARKS(简明非交互知识演示)。SNARKS基本上是“简洁”的ZKP,这意味着它们很小,可以在几秒钟内得到验证。
ZKP、尼兹克普和兹克斯纳克的比较
从这里开始,ZKP的进程加快了,这导致了2013年匹诺曹的诞生。
匹诺曹是zk-SNARK的首批概念验证实现之一,被认为是该领域的突破。它在几年前被使用过,但后来被更新更有效的zk-SNARKs版本所取代。
当时,zkSNARKS有两个主要缺点:
●可信设置的要求
ZkSNARKs要求证明者和验证者之间有一个“可信设置”。这个设置阶段用于创建一组初始参数,然后用于生成和验证zk证明。
需要一些秘密信息来生成这些参数。一群人通常生成这些秘密,然后用它们生成参数。一旦参数生成,秘密就被丢弃了。然而,由于秘密输入需要由一群人产生,我们需要“信任”这些人。
在区块链,我们希望最小化信任,这就是为什么“可信设置”通常不受欢迎。
Zk-SNARK证明依赖于证明者和验证者之间的初始“可信设置”,这意味着需要一组公共参数来构造零知识证明,从而构造隐私交易。这些参数几乎就像游戏规则。它们被编码到协议中,是证明交易有效性的必要因素之一。这就产生了潜在的集中化问题,因为参数通常是由一个非常小的团队制定的。
多参与者可信设置的工作流来源
●非后量子安全
ZkSNARKS不是后量子安全的,因为它们依赖于公钥加密。公钥密码取决于解决特定数组的离散对数问题的难度。但随着量子计算机的诞生,公钥密码学面临风险,因为计算机可以将大数分解为素数,这意味着解决离散对数问题不再困难。
ZK工业界正试图建立一个协议来解决这两个问题。
2016-2018:让SNARKs实用化接下来是Groth。Groth于2016年推出,是首批使zkSnarks高效且极其实用的协议之一。这是一个巨大的突破,并立即被采用。事实上,由于它的性能和简单性,今天它仍然被用于许多协议中,并且围绕它开发了许多工具。
ZKP的下一个重要里程碑是2017年推出Bulletproofs。我记得Bulletproofs在2017年宣传过。Bulletproofs是一个简短的非交互式零知识证明,它可以证明一个加密值在给定的“范围”内,而不泄露数据的任何信息(例如,我可以向你证明交易值在一定范围内,而不泄露金额)。这些“范围证明”可以汇总成一个简短的证明。防弹协议变得如此受欢迎,因为它们不仅使比特币的保密交易成为可能,而且变得高效。防弹技术最大的不同就是不需要可信设置。这在区块链行业非常重要,因为我们专注于建立一个没有信任的网络。可以想象,这个行业很快就采用了防弹技术。
SNARKs、STARKs和Bulletproofs的运行时比较
2018年:Stark 2018年,Starks(知识的零知识可扩展透明论证的缩写)通过缓解zkSNARKS的两个缺点,引起了业界的轰动:
●STARKS是“后量子安全”的,这意味着它们依赖哈希函数而不是椭圆曲线作为证明机制。
●STARKS不需要可信设置。相反,zk-STARKS使用可公开验证的随机源作为初始参数。
zkSTARKS最大的缺点就是他们的证明很棒。这使得它不适合区块链,因为在链条上存储要花钱。然而,STARKS从SNARKS中脱颖而出,将行业从受信任的环境中解放出来。
zkSNARKs和ZKSSTARKS之间各种参数的比较
2019年:SNARKS 2019年对于zkSNARKS来说是重要的一年,该领域有三大创新:
●音速
Sonic最大的贡献是支持可以不断升级的“通用”参考字符串。这意味着您不需要进行可信设置来为每个程序生成初始参数。相反,您只需执行一次可信设置,然后对所有程序使用相同的参数。虽然这并不能完全缓解可信设置的缺点,但确实让它变得更好。
Sonic也有一个恒定的证明大小(这很好,因为证明大小不会随着程序的复杂性而增加),并引入了批量验证,从而减少了验证时间。但是,不批量的时候,验证时间很长。
●马林鱼
Marlin是Sonic的显著改进版本,证明时间减少了10倍。它还提供了更快的验证,无需批处理,并将验证时间缩短了3倍。
●扑通一声
PLONK是“Permutation solver lagrange-based foroenchemical Interactive arguration of Knowledge”的缩写,是SONIC的另一个改进版本。其特点之一是证明时间减少了5倍。这里的主要创新是PLONK允许自定义门,而不是通常的加法/乘法,这意味着您可以为更复杂的程序构建zk证明。
PlonK和Marlin都用通用设置替换了Groth16中特定于电路的可信设置。随着PLONK的推出,加密社区也意识到他们甚至可以构建“zkEVM”,这将使我们能够获得以太坊上的任何智能合约代码,并将其转化为知识的零证明。维塔利克曾经写过一篇精彩的文章,解释了背后的数学原理。
这标志着ZKP混乱的结束,但这仅仅是开始!
每个协议的证书大小和安全假设图,来源
2020年至今HALO2
2020年,Zcash团队推出了Halo 2(Halo的继任者),它结合了PLONK和Bulletproofs的优点,然后允许在没有可信设置的情况下进行快速验证。
HALOvsHALO2,来源
快进到2022年,我们开始再次看到新协议开发的加速。
超级克隆
2022年推出的HYPERPLONK是一个zkp系统,被证明在时间上是完全线性的,支持高度和寻找定制门。它试图提高PLONK的灵活性、速度和效益。
虽然PLONK本身非常强大,但是它有一定的局限性,尤其是在证明大型语句或者试图使用高度并行的硬件时。在验证rollup和zkEVM等大型复杂命令时,这些限制尤其重要。HyperPlonk旨在解决这一问题。
沉闷2
最近Polygon在2022年1月发布的Plonky2是ZKP世界最新的。它是一个递归的SNARK,比现有的其他方案快100倍。它结合了PLONK和FRI,得到了最好的STARK(即快速证明和无可信设置)和最好的SNARK(即支持递归和以太网上低验证成本)。
这让我们走到了今天。这是今天ZKP生态的样子:
ZKP生态学
虽然没有“协议”被认为是最好的,但了解所有这些协议、它们的优点和局限性将有助于我们为特定的用例和设置选择最佳的协议。我的团队收集了我今天介绍的所有协议的信息,并在这里为您总结如下:
总结了ZKP的所有特征。
ZKP有着悠久而丰富的历史,每一个协议都在突破极限,提高速度,扩大这项技术的局限性。从第一次迭代开始,我们已经走了很长的路,第一次迭代需要证明者和验证者来来回回地交换信息。
在我看来,我们才刚刚开始。你认为ZKP领域的下一个重大创新是什么?
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。
原文地址"zk是cap,zk ph":http://www.guoyinggangguan.com/qkl/146096.html。

微信扫描二维码关注官方微信
▲长按图片识别二维码