SNARK和STARK是零知识证明技术,允许一方在不透露任何进一步信息的情况下向另一方证明陈述是真实的。
零知识证明(ZKP)引起了广泛关注,因其在增强安全性、保护用户隐私和支持第2层网络扩展方面都有很大的潜力。
ZKP使一方能够向另一方证明声明是真实的,而无需透露任何其他信息。ZKP既有利于增加隐私——因为它们减少了各方之间共享的信息量——也有利于可扩展性,因为它只需要证明而非整个数据集被验证,这样验证速度会更快。
两个最受关注的零知识证明系统是SNARK和STARK。在本文中,我们将深入探讨它们是什么、它们如何工作以及它们的主要区别。
SNARK是什么?
zk-SNARK全称Zero-KnowledgeSuccinctNon-interractiveArgumentofKnowledge——它们是在2012年由NirBitansky、RanCanetti、AlessandroChiesa和EranTromer合著的一篇论文中介绍的。SNARK使一方能够在不泄露秘密的情况下向另一方证明他们知道秘密。
zk-SNARKs可以作为零知识证明协议添加到分布式账本解决方案中,以增强隐私性和可扩展性。Zcash是zk-SNARKs的第一个广泛应用,应用该技术来创建屏蔽交易,其中发送者、接收者和金额都是保密的。Zcash中的屏蔽交易可以在区块链上完全加密,但仍然可以通过使用zk-SNARKs在网络的共识规则下验证为有效。
一些SNARK的一个重要属性是它们要求配置过程是可信任的——在这个过程中,隐私交易的证明和生成证明的密钥会被创建。如果在事件期间用于创建这个密钥的秘密没有被销毁,它们可能被用来创建虚假证明。在涉及加密资产的场景中,这将使参与者能够伪造交易或凭空铸造新通证。由于SNARKs固有的隐私性,所以无法验证伪造的证明是否确实是伪造的。
SNARK的安全级别是通过为找到虚假陈述的证据而必须完成的工作量来衡量的。换句话说,如果SNARK在计算上无法产生令人信服的虚假陈述证明,那么它就是安全的。对于需要可信设置才能被认为是安全的SNARK,仪式中至少有一名参与者必须生成并销毁一个trapdoor,如果与其他trapdoor结合使用的话,否则就有可能危及SNARK的安全性。因此,受信任的设置通常需要许多参与者一起运行,以使这种情况发生的可能性足够低。
虽然可信设置仅在最初需要且仅适用于某些SNARK,但基于SNARK的网络的用户必须相信可信设置的仪式已正确执行,并且秘密已被销毁并且不被创建事件的参与者持有。对这种仪式的依赖一直是一些SNARK的备受批评的领域,认为它是潜在的安全弱点。
一些SNARK的另一个限制是它们不被认为是抗量子的。SNARK的支持者认为,如果量子计算机开始对SNARK构成威胁,密码学领域将面临更大的问题。此外,一些SNARK可能会在未来升级为抗量子的。
STARK是什么?
zk-STARK全称Zero-KnowledgeScalableTransparentArgumentofKnowledge,是一种零知识证明系统,在EliBen-Sasson、IddoBentov、YinonHoresh和MichaelRiabzev于2018年发表的一篇论文中作为SNARK的替代方案被引入。正如论文中所述,STARK可以为社会带来很大的好处:
“人们的个人信息,例如医疗和法医数据需要保持私有,这是一种人的尊严。但是,旨在保护隐私的面具也可能被委托数据的机构滥用以掩盖谎言和,从而不公正地伤害公民并削弱对中央机构的信任。零知识(ZK)证明系统是一种巧妙的加密解决方案,可以解决个人隐私和机构完整性之间的紧张关系,可以在不损害前者的情况下加强后者。”
STARK支持StarkWare的可扩展性技术。通过使开发人员能够在链下进行存储和计算,STARK提高了可扩展性,因为验证链下计算准确性的STARK证明可以由链下服务生成,然后发布在链上。
STARK允许区块链将计算转移到某个链下STARK证明者,然后使用链上STARK验证者验证这些计算的完整性。Layer-2网络可以通过使用STARKs在单个批次中计算大量交易,然后使用单个STARK证明来确认交易在链上的有效性,从而实现可扩展性。批次中的所有交易均分担链上操作的成本,为第2层网络上的每笔交易提供低gas成本。
重要的是,由于验证者使用的随机性是公开可用的,并且可以在不依赖任何外部参数的情况下验证证明,因此STARK不需要可信设置仪式。
对比SNARKs和STARKs
SNARKs和STARKs都有各自的优势,两者之间的选择取决于用户的具体用例需求。同样重要的是要注意,SNARK和STARK都是正在积极研究的尖端零知识证明技术,因此对它们进行比较还需要考虑该领域的持续进步和发现。
支持者认为SNARK更高效、更快速,因为它们可以在几毫秒内得到验证。然而,这种效率是有代价的,因为一些SNARK依赖的可信设置仪式,有安全薄弱的环节。这意味着证明中使用的初始参数必须在安全环境中生成,参数的任何泄露都可能导致安全漏洞。
STARKs不需要可信设置,从而提供更强的安全性,但可能需要更长的时间来验证,因此被认为效率较低。STARK的证明数据的大小比SNARK的大,这意味着验证STARK可能比SNARK花费更多的时间并且消耗更多的gas。另一方面,由于可以在不依赖任何外部参数的情况下验证STARKs的证明,因此STARKs比SNARKs更容易审计,尽管这可能取决于具体的实施方式。与大多数SNARK不同,STARK依赖于被认为是抗量子的哈希函数。
SNARK最初比STARK被更广泛采用的原因有几个,尽管其中一些具有与可信设置仪式相关的潜在安全缺陷。SNARK比STARK早六年开发,这有助于它们在采用方面领先一步。
零知识证明带来可扩展性的指数级增长
零知识证明是区块链生态系统的基础技术,有助于提升可扩展性,同时有助于保护个人隐私和机构的完整性。zk-SNARKS和zk-STARKS处于这场革命的最前沿,它们都旨在解锁以前公链中无法实现的用例,激励创新并帮助创造更高效的全球经济。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。