共计 2653 个字符,预计需要花费 7 分钟才能阅读完成。
SNARK 和 STARK 是零常识证实技术,容许一方在不走漏任何进一步信息的状况下向另一方证实陈说是实在的。
零常识证实 (ZKP) 引起了宽泛关注,因其在加强安全性、爱护用户隐衷和反对第 2 层网络扩大方面都有很大的后劲。
ZKP 使一方可能向另一方证实申明是实在的,而无需走漏任何其余信息。ZKP 既有利于减少隐衷——因为它们缩小了各方之间共享的信息量——也有利于可扩展性,因为它只须要证实而非整个数据集被验证,这样验证速度会更快。
两个最受关注的零常识证实零碎是 SNARK 和 STARK。在本文中,咱们将深入探讨它们是什么、它们如何工作以及它们的次要区别。
SNARK 是什么?
zk-SNARK 全称 Zero-Knowledge Succinct Non-interractive Argument of Knowledge(零常识简洁非交互式常识论证)——它们是在 2012 年由 Nir Bitansky、Ran Canetti、Alessandro Chiesa 和 Eran Tromer 合著的一篇论文中介绍的。SNARK 使一方可能在不泄露秘密的状况下向另一方证实他们晓得机密。
zk-SNARKs 能够作为零常识证实协定增加到分布式账本解决方案中,以加强隐衷性和可扩展性。Zcash 是 zk-SNARKs 的第一个广泛应用,利用该技术来创立屏蔽交易(shielded transaction),其中发送者、接收者和金额都是窃密的。Zcash 中的屏蔽交易能够在区块链上齐全加密,但依然能够通过应用 zk-SNARKs 在网络的共识规定下验证为无效。
一些 SNARK 的一个重要属性是它们要求配置过程是可信赖的——在这个过程中,隐衷交易的证实和生成证实的密钥会被创立。如果在事件期间用于创立这个密钥的机密没有被销毁,它们可能被用来创立虚伪证实。在波及加密资产的场景中,这将使参与者可能伪造交易或凭空铸造新通证。因为 SNARKs 固有的隐衷性,所以无奈验证伪造的证实是否的确是伪造的。
SNARK 的安全级别是通过为找到虚伪陈说的证据而必须实现的工作量来掂量的。换句话说,如果 SNARK 在计算上无奈产生令人信服的虚伪陈说证实,那么它就是平安的。对于须要可信设置能力被认为是平安的 SNARK,典礼中至多有一名参与者必须生成并销毁一个 trapdoor,如果与其余 trapdoor 联合应用的话,否则就有可能危及 SNARK 的安全性。因而,受信赖的设置通常须要许多参与者一起运行,以使这种状况产生的可能性足够低。
尽管可信设置仅在最后须要且仅实用于某些 SNARK,但基于 SNARK 的网络的用户必须置信可信设置的典礼(ceremony)已正确执行,并且机密已被销毁并且不被创立事件的参与者持有。对这种典礼的依赖始终是一些 SNARK 的备受批评的畛域,认为它是潜在的平安弱点。
一些 SNARK 的另一个限度是它们不被认为是抗量子的。SNARK 的支持者认为,如果量子计算机开始对 SNARK 构成威胁,密码学畛域将面临更大的问题。此外,一些 SNARK 可能会在将来降级为抗量子的。
STARK 是什么?
zk-STARK 全称 Zero-Knowledge Scalable Transparent Argument of Knowledge(零常识可扩大通明常识论证),是一种零常识证实零碎,在 Eli Ben-Sasson、Iddo Bentov、Yinon Horesh 和 Michael Riabzev 于 2018 年发表的一篇论文中作为 SNARK 的代替计划被引入。正如论文中所述,STARK(更宽泛地说,ZKP)能够为社会带来很大的益处:
“人们的个人信息,例如医疗和法医数据须要放弃公有,这是一种人的尊严。然而,旨在爱护隐衷的面具也可能被委托数据的机构滥用以覆盖谎话和坑骗,从而不公正地挫伤公民并减弱对地方机构的信赖。零常识 (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 处于这场反动的最前沿,它们都旨在解锁以前公链中无奈实现的用例,激励翻新并帮忙发明更高效的寰球经济。
欢送关注 Chainlink 预言机并且私信退出开发者社区,有大量对于智能合约的学习材料以及对于区块链的话题!