Cointime

扫码下载App
iOS & Android

解读零知识证明中的实现差异:zkSNARKs与zkSTARKs优缺点对比

VC

编译:Cindy,SophonLabs

随着计算机技术的不断发展,我们可以轻松地在互联网上存储、传输和处理大量的个人和企业数据。然而在这个数字化时代,大家对数据隐私和安全的担忧也越来越高。为了保护数据的隐私性,密码学家们开发了许多技术,其中零知识证明(Zero-Knowledge Proof,ZKP)是其中一项核心技术。在本文中,我们将盘点细分零知识证明中的实现差异。

交互式与非交互式零知识证明

零知识证明的两种主要类型是交互式和非交互式。交互式零知识证明和非交互式零知识证明都是证明者(prover)和验证者(verifier)之间进行的过程,但它们在证明的交互流程上有所不同。

交互式零知识证明 (IZKP) 要求证明者和验证者进行来回对话,在对话中证明者对验证者的查询做出响应。这种互动可以亲自进行,也可以通过互联网等网络进行。需要与验证者进行多轮的交互,以便验证者可以询问有关所证明语句之外的附加信息。在每一轮中,证明者需要根据验证者的询问提供一个回答。

这种交互式证明方法对于某些复杂的问题可行,但可能会带来时间和计算成本的问题,并需要所有参与者进行通信。另一方面,非交互式零知识证明 (NIZKP) 不需要证明者和验证者之间的任何交互。非交互式零知识证明是指证明者可以一次性地生成证明,并将它发送给验证者,而不需要进行多轮的交互。与交互式证明相比,非交互式证明速度更快,需要的计算成本和通信量也更少。但是,它有时可能不是可行的方案,如需要涉及附加信息的证明,或需要证明一个非常复杂的语句时。相反,证明者创建了一个单一的、自包含的证明,验证者可以在没有进一步沟通的情况下独立验证。这比交互式证明更方便和高效,因为它不需要证明者和验证者同时在线或交换多条消息。

实现这一目标的最经典方法之一是使用基于数字签名的 Fiat-Shamir 启发式技术。交互式和非交互式零知识证明之间的主要区别之一是证明者和验证者之间所需的信任级别。在交互式证明中,验证者必须信任证明者遵守协议并对他们的查询提供诚实的回应。另一方面,在非交互式证明中,验证者根本不需要信任证明者,因为他们可以在不依赖证明者提供的任何信息的情况下独立验证证明。两种类型的零知识证明之间的另一个区别是所需的计算复杂度级别。

交互式证明往往比非交互式证明计算量更大,因为它们需要证明者和验证者交换多条消息并执行额外的计算。另一方面,非交互式证明只需要验证者进行一次计算,从而使它们更加高效和可扩展。交互式和非交互式零知识证明各有利弊,给定场景的最佳选择将取决于具体要求和约束。交互式证明可能更适用于证明者和验证者同时在线且可以轻松沟通的情况。相比之下,非交互式证明可能更适用于证明者和验证者不同时在线或证明者可信度不确定的情况。总之,交互式零知识证明和非交互式零知识证明通常是根据特定问题和应用场景来选择的。

交互式零知识证明(IZKP)的局限性

交互式零知识证明是最早被研究和广泛应用的零知识证明类型之一。在这种证明过程中,证明者和验证者之间会进行多轮的交互。这些交互旨在允许验证者向证明者询问特定的信息,以验证被证明的内容。这种交互性质使得交互式证明可以非常有效地解决复杂的问题。

一个简单的例子是著名的“彩色图问题”,它是关于如何在任何图中着色的问题。如果证明者声称他能够在任何图中为每个节点着色,而且相邻节点必须使用不同的颜色,那么验证者可以采取交互式零知识证明方法来判断该声称是否正确。在证明过程中,证明者首先以某种方式着色图形,接着验证者选择任意两个节点并询问证明者它们是否被用了同一种颜色。证明者需要回答这个问题,但不能透露为什么他会如此选择。这个过程会持续几轮,验证者可以检查一些有关证明者如何着色图形的随机数据。如果证明者可靠地回答了问题,证明者就可以认为是正确的。交互式零知识证明 (IZKP) 有几个局限性,因此使它们更加昂贵和复杂。

IZKP 需要证明者和验证者之间的交互,这可能是低效且耗时的。为了完成证明,证明者必须与验证者来回发送多条消息。这可能会花费大量时间,尤其是在证明很复杂或涉及大量数据的情况下。当速度至关重要时,例如在高频交易或实时决策中,这可能是个问题。

IZKP 不能很好地扩展。随着被证明数据的增加,证明的复杂性也随之增加,难以在合理的时间内完成证明。当需要证明大量数据时,例如在供应链管理或医疗保健中,这可能是一个问题。

IZKP 依赖于证明者和验证者是诚实的并且不会试图欺骗或操纵证明的假设。然而,这个假设并不总是有效的,证明者可以通过发送虚假消息或以某种方式操纵证明来试图欺骗验证者。这可能会损害证明的完整性并破坏其实用性。

IZKP 需要专门的加密技术,这可能难以实施并且需要高水平的技术专长。这可能会使非技术用户使用 IZKP 变得困难,并且可能会限制它们在某些情况下的采用。

总的来说,虽然 IZKP 有可能提供强大的安全和隐私保证,但上述限制在历史上阻碍了它们的广泛使用。但它存在一些缺点。尤其是这种证明需要证明者和验证者之间进行多轮的交互,这会带来时间和计算成本的问题,并需要所有参与者进行通信。其次,有些应用程序可能需要处理的信息太复杂,以至于证明者和验证者之间必须进行多轮交互才能得到完整的证明,这就使得交互式证明方法不太可行。一旦理解了交互式和非交互式 ZKP 之间的区别,就该深入研究最流行的区块链和加密行业实现 — zkSNARKs。虽然 zkSync 使用 zkSNARKs,可以说是最流行的使用 ZKPs 的 L2,但紧随其后的是 Starkware 的 zkSTARKs。让我们了解这两种实现方式的不同之处以及各自的优缺点。

zkSNARKs 与 zkSTARKs

zkSNARKs 和 zkSTARKs 都是零知识证明 (ZKP) 系统,允许一方(证明者)向另一方(验证者)证明陈述是真实的,而无需透露关于陈述本身的任何信息。ZKP 有很多应用,包括区块链上的隐私保护交易、安全的多方计算和匿名通信。它们都是用于保护数据交易和计算中的隐私,但它们的应用场景和技术方案有很大的不同。zkSNARKs技术优势在于高度压缩的小证明,在保证计算安全性的同时,支持高度隐私保护和高效交易。zkSTARKs技术优势在于对复杂算法和大型数据处理性能方面的优化,可以实现更高级别的保护和证明。

zkSNARKs

zkSNARKs是一种使用高度压缩的算法来提供非常小的证明的方法,这些证明可以用来证明满足某些条件的任意计算。通过使用zkSNARKs技术,可以得到一个经过验证的证明,证明所描述的计算的具体值和详细步骤是未知的。zkSNARKs的优点是证明大小非常小,只需要大约200字节的证明就可以验证一个数百万次计算后的结果,证明的计算成本也相对较低。同时,它们允许对基于密码学的计算进行高效的隐私保护,特别是在需要验证但不愿意透露信息时非常有用。因此,zkSNARKs广泛应用于无信任环境下的交易、加密货币、身份验证和隐私保护领域。zkSNARKs(零知识简洁非交互式知识论证)最早由 Eli Ben-Sasson、Alessandro Chiesa、Daniel Genkin、Eran Tromer 和 Madars Virza 于 2014 年在一篇论文中提出。它们基于“非-交互式证明”,这意味着证明者和验证者在证明过程中不需要相互通信。这使得 zkSNARKs 非常适合在区块链中使用,在区块链中,各方之间的通信受到达成共识的需要的限制。zkSNARKs 使用公钥和私钥的组合来创建证明。证明者可以访问私钥,他们用它来生成他们希望做出的陈述的证明。验证者可以访问相应的公钥,用于验证证明。如果证明是有效的,验证者可以确信该陈述是真实的,即使他们没有关于该陈述本身的任何信息。

  • zkSNARKs 的优势

zkSNARKs 的主要优势之一是它们的效率。证明过程非常快,使得在区块链等高吞吐量系统中使用 zkSNARKs 成为可能。

  • zkSNARKs 的缺点

他们依赖于“可信设置”过程,其中一组参与者生成并销毁一组公钥和私钥。如果未正确执行此过程,可能会危及系统的安全性。因此需要够在可信的第三方中进行设置和参与、视数据的不同而具有不同的性能,并且它们的证明可能会被各种攻击技术攻击。

此外,zkSNARKs 不是透明的,这意味着如果不访问私钥就无法验证证明的正确性。

zkSTARKs

zkSTARKs是另一种零知识证明技术,专门用于处理复杂算法和大规模数据。相比之下,zkSTARKs可以在不需要中间方的情况下提供更高的安全性,因为它们不需要可信的第三方进行参与和设置。zkSTARKs的优点包括不需要选择特定曲线进行计算,证明更加通用,并且具有良好的可扩展性和抗攻击性。它们也没有任何机密密钥或公共参数,这使得它们非常适合用于无信任环境下进行的基于密钥的计算。然而,zkSTARKs技术需要更高的计算成本和证明大小比zkSNARKs技术更大,因此在一些场景中可能不适合使用。

  • zkSTARKs 的优势

zkSTARKs 的主要优势之一是它们的透明度。使用 zkSNARKs,无法在不访问私钥的情况下验证证明的正确性。使用 zkSTARKs,可以创建一个“验证证明”,它允许任何人在不访问任何秘密信息的情况下验证证明的正确性。这使得 zkSTARKs 成为信任必不可少的应用程序的更安全和透明的选择。

zkSTARKs 的另一个优势是它们的可扩展性。zkSNARKs 依赖于资源密集型的复杂数学运算,随着证明规模的增加,它们的效率会降低。

  • zkSTARK 的缺点

一个主要缺点是 zkSTARKs 仅适用于证明某些类型声明的真实性。特别是,它们只能用于证明以多项式表示的陈述的真实性,这限制了它们的适用性。

另一个缺点是 zkSTARKs 不是完全非交互的,需要一个可信的设置阶段,在这个阶段生成一个公共参考字符串(CRS)。此 CRS 必须保密且安全,zkSTARK 证明才能被视为有效。如果 CRS 受到损害,那么证明的安全性也会受到损害。

此外,zkSTARKs 尚未被广泛使用或被充分理解,因此可能尚未发现潜在的漏洞。缺乏广泛采用和理解也意味着缺乏使用 zkSTARKs 的工具和资源,使得在实践中实施和使用它们变得更加困难。

最后,与其他零知识证明系统相比,zkSTARKs 仍然相对较新且未经测试,这意味着它们的长期安全性和可靠性尚未得到充分了解。对于寻求经过验证且可靠的方法来验证声明真实性的组织或个人而言,这种不确定性可能是一个缺点。

总结

虽然 zkSTARKs 在效率和安全性方面提供了一些好处,但在决定是否使用它们时也有一些缺点需要考虑。这些缺点包括适用范围有限、需要可信的设置阶段、缺乏广泛采用和理解,以及对其长期安全性和可靠性的不确定性。zkSNARKs基于曲线上的折线算法,可以用于证明一些计算结果在不泄露计算输入和密钥的情况下是正确的。这种技术可以应用于区块链、加密货币和密码学等领域。

与zkSNARKs不同,zkSTARKs是在简洁交互证明的框架下建立的,这意味着证明可以很容易地验证,而不需要涉及证明者和验证者之间的任何交互。因此,zkSTARKs在安全性和可扩展性方面都具有更大的优势。

随着技术的发展零知识证明技术将继续发展和应用,在保护隐私和进行安全验证等方面,零知识证明技术具有非常广泛的应用前景。同时随着协议的发展和优化,零知识证明技术的计算效率和证明大小等方面也将得到改善,从而进一步推动其在实际应用中的普及和应用。

评论

所有评论

推荐阅读

  • 德商银行:美国 CPI 数据将确认美联储的观望立场

    德商银行研究员 Rainer Guntermann 在一份报告中表示,周三公布的美国通胀数据应该会证实美联储的观望态度。Guntermann 表示:“这些数据将强化美联储在下周政策决定之前的观望立场,因为目前关税升高的影响仍然有限。”根据 LSEG 的数据,货币市场完全定价了美联储 6 月 18 日维持利率不变。他们还预计,9 月份降息的可能性超过 50%。

  • 日本央行呼吁加大力度推动数字货币发展,以进入无现金社会

    日本央行官员正在加大呼吁力度,推动日本跟上数字货币的快速发展,这可能会加速“现金为王”的日本向无现金支付的转变。 日本政府数据显示,该国2024年无现金支付的比例从2010年的13.2%上升至42.8%,提前一年超过政府设定的40%的目标。尽管日本在支付技术方面全球落后,但无现金交易的增加正迫使政策制定者确保他们准备好适应公众对支付和结算方式的偏好变化。这包括发行央行数字货币(CBDC)。

  • 商务部国际贸易谈判代表:中美原则上达成协议框架

    当地时间6月10日,商务部国际贸易谈判代表兼副部长李成钢在伦敦谈到中美经贸磋商机制首次会议时表示,中美双方进行了专业、理性、深入、坦诚的沟通。双方原则上就落实两国元首6月5日通话共识以及日内瓦会谈共识达成了框架。

  • 路透调查:78%的经济学家预计日本央行到2026年第一季末将至少加息至0.75%

    路透调查:78%的经济学家预计日本央行到2026年第一季末将至少加息至0.75%。

  • 加州州长:特朗普政府正在推动大规模驱逐

    加州州长加文·纽森表示,特朗普政府的重点不是针对无证移民和罪犯,而是大规模驱逐。纽森周二表示,特朗普政府“不分青红皂白地针对辛勤工作的移民家庭,不管他们的出身或风险。”

  • 链上项目anome被曝出现安全事件

    6 月 10 日,据知名审计机构Certik 披露,在日常链上预警信息筛查中发现,6月 10 日凌晨,知名卡牌类游戏 Anome 遭遇攻击据与官方沟通回应:作为累计交互达到 13 万地址,日交易超十万笔全链平台,几乎日常遭遇各种此类事件均未被攻破。本次攻击在官方合约新旧交替期间,且攻击者主要攻击的是 1.0 版本中合约尚未升级的部分。本次事件不造成任何用户资产损失,仅损失部分流动性。

  • 欧洲央行管委维勒鲁瓦:欧洲央行已成功地使政策正常化

    欧洲央行管委维勒鲁瓦:欧洲央行已成功地使政策正常化,政策和通胀目前处于有利区间,处于有利区间并不意味着欧洲央行将保持不变,我们将根据数据流继续务实地推进利率问题,并在必要时保持灵活。

  • 区块链扩展的下一个前沿:深入探索ZK Rollups

    · 虽然零知识证明(ZKPs)有望打造一个更加私密和可扩展的区块链生态系统,但许多关于零知识(ZK)的方面被误解或与普遍认知中的实施方式不同。 · ZKPs 主要有两个方面:「零知识」和「简洁性」。虽然这种说法没有错,但大多数 ZK rollups 只利用了简洁性属性,交易数据和账户信息并没有完全保持零知识或私密。 · 对于各种类型的 DApps,ZK rollups 可能不是最佳的开发堆栈选择。例如,生成 ZKPs 可能成为快速终结的瓶颈,从而降低 Web3 游戏的性能,而基于状态差异发布的数据可用性保证方法可能会损害 DeFi 借贷协议的服务。

  • 专注于零知识证明的区块链Gevulot完成600万美元种子轮融资,Variant领投

    专注于零知识证明的区块链Gevulot完成600万美元种子轮融资,Variant领投,RockawayX、Volt Capital 和 Stake Facilities 以及 Polygon Labs 首席执行官 Marc Boiron 和 Manta Network 创始人 Shumo Chu 等个人支持者参与。 Gevulot 没有透露其估值。 Gevulot 计划将资金分配给其L1区块链的推出,该区块链使开发人员能够利用ZK 证明并将计算任务委托给先进的硬件运营商网络。

  • 中科大首次实现以器件无关量子随机数产生器,消除非交互式零知识证明安全隐患

    中国科学技术大学潘建伟院士等研究者首次实现一套以器件无关量子随机数产生器作为熵源,以后量子密码作为身份认证的随机数信标公共服务,将其应用到零知识证明领域中,消除了非交互式零知识证明中实现真随机数的困难所带来的安全隐患,提高了非交互式零知识证明的安全性。非交互式零知识证明广泛应用于数字签名、区块链和身份认证等领域,由于真随机数生成器难以实现,通常会使用确定性的伪随机数算法来替代。 据了解,此次研究工作首次将量子非局域性、量子安全算法和零知识证明3个不同的领域结合起来,大幅提升了零知识证明的安全性,其中构建的面向公众的随机数服务在密码学、彩票业和社会公益等领域有着重要的应用潜力。