随着去中心化账本技术日趋成熟,支持选择性信息披露正成为一项关键设计重点。虽然公有区块链提供了透明度,但许多应用程序需要隐藏某些细节。
零知识证明通过允许验证语句而不泄露底层数据,为这一挑战提供了一种加密解决方案。
通过交互式证明系统技术,零知识以加密方式证明证明者知道特定信息,而无需传达详细信息本身。这减轻了通过私下验证交易或计算来泄露所有数据的担忧。zk-SNARK 和 zk-STARK 等协议的最新进展提高了这些抽象数学概念的效率和实际部署。
包含零知识证明的项目现在正在实现分布式账本的增强功能。Zcash 和 Zulu Network 等网络率先通过零知识设置在区块链上选择性披露数据。关于零知识汇总和桥梁的新兴研究提出了在独立平台之间共享价值的方法,同时隐藏参与者的数据。
随着该领域研究的不断深入,利用选择性数据披露保证的新应用不断涌现。例如,私人智能合约执行、匿名数字交易和加密数据库审计。现代零知识方案克服了过去在复杂性和性能方面的限制,表明了分布式网络上需要选择性数据披露的应用的技术可行性。
本报告分析了现代零知识证明的加密基础和构造。然后,它调查了采用这些技术的著名项目及其可能实现的未来用例。目标是提供有关这个快速发展的领域的技术背景,并强调其对需要选择性数据披露的分布式账本设计日益增长的相关性。
零知识证明的历史和基础
零知识证明的概念最早由 Goldwasser、Micali 和 Rackoff 于 1989 年在他们的开创性论文中以数学形式提出。他们展示了双方如何进行令人信服的交流,而无需了解除被证明陈述的有效性之外的任何信息 [1]。
然而,早期的研究主要侧重于理论构建,实际应用有限。创始研究主要围绕证明密码知识或解决图中汉密尔顿性等难题。直到 21 世纪初,更高效的可实施证明系统才开始出现。
1993 年,Bellare 和 Goldreich 提出了计算可靠性的概念,并提出了第一个基于陷门置换的非交互式承诺方案。这标志着承诺值声明的基于离散对数的实用证明的进步。大约在同一时间,双线性群促进了基于配对的加密方案,如 BGN 和 CBLS 签名 [2]。
进一步的突破来自 SNARK 和 STARK 的发展。2009 年,Groth 引入了一种 Schnorr 证明的变体,该变体针对方程式的零知识证明进行了优化,称为知识证明。这为 zk-SNARK 奠定了基础,使通用多项式时间可验证语句成为可能。后来的研究改进了这种方法,产生了 libSNARK 和 zcash [3] [4] [5]。
STARK 代表了另一次飞跃,它为任何可计算函数提供了可靠的证明,而无需 Ben-Sasson、Chiesa、Tromer 和 Virza 引入的加密假设。由于它比 zk-SNARK 技术具有更高的透明度和灵活性,因此引起了人们的兴趣 [6] [7]。
如今,一个充满活力的研究领域继续推进 PLONK 和 Marlin 等技术,以提高可扩展性和效率,并降低零知识构造的可信设置要求。这些算法上的进步现在为跨许可和非许可分布式系统的实际实现奠定了基础。
零知识证明技术概述
零知识证明是一种加密协议,它允许一方(证明者)说服另一方(验证者)某个陈述是真实的,而无需透露除该陈述本身的有效性之外的任何其他信息。在区块链的背景下,零知识证明使参与者能够与敏感数据进行交互,同时将这些数据暴露给恶意行为者的风险降至最低 [8]。
零知识证明的组成部分
零知识证明由几个关键部分组成:
- 陈述:陈述是证明者想要向验证者证明的断言。它可以是证明者想要说服验证者为真的任何主张或事实。
- 证人:证人是与陈述相关的信息,可以作为陈述真实性的证据。
- 证明者:证明者(Prover)是拥有证明陈述有效性所需的知识或信息的一方。证明者的目标是在不透露任何额外信息的情况下说服验证者。
- 验证者:验证者(Verifier)是想要验证陈述的真实性,但又不了解其有效性的一方。验证者要求证明者提供令人信服的证据。
零知识证明步骤
零知识证明依靠复杂的数学算法和加密技术来实现其目标。以下步骤概述了零知识证明的一般过程:
- 设置:证明者和验证者就零知识证明中使用的一组参数和加密原语达成一致。
- 承诺:证明者承诺声明的有效性,但不透露任何细节。这种承诺通常通过哈希函数等加密技术实现。
- 交互:证明者和验证者进行一系列交互,其中证明者提供证据(见证者)以说服验证者该陈述的真实性。这些交互涉及交换消息和执行计算。
- 验证:验证者检查证明者提供的证据,以确定其是否足以令人信服,以证明陈述的真实性。除了陈述的有效性之外,验证者不会获得任何其他知识。
零知识证明的承诺
承诺方案在零知识证明 (ZKP) 中起着至关重要的作用,它允许一方(称为证明者)承诺某个值,而无需向另一方(称为验证者)透露该值。这使证明者能够证明对特定值的知识,而无需实际披露该值本身。承诺方案应具备两个重要属性:绑定和隐藏。理想的承诺结构既具有绑定性,又具有隐藏性。
- 约束性:承诺方案确保一旦证明者承诺了某个值,他们就无法通过计算更改承诺的值。此属性可确保承诺的完整性,并防止证明者在做出承诺后更改该值。
- 隐藏:承诺方案保证验证者在证明者披露承诺值之前无法确定承诺值。此属性确保了承诺值的机密性,并防止验证者仅通过承诺获得有关该值的任何信息。
计算不可行性增强了这些特性。对于证明者来说,通过反转已提交的编码来强制执行绑定,这证明难度极高。对于验证者来说,隐藏是基于这样的假设:已提交的输入在证明者披露之前无法确定。
综上所述,承诺技术以加密方式隔离证明者知识,以便通过选择性确认而不是非自愿公开进行验证。它们允许私下证明当前持有的信息,以便在获得授权后进行经过验证的重建。通过绑定和隐藏,承诺混淆可以隐藏来自验证者的证明者见解,同时允许根据证明者的条件进行未来透明的重建。这形成了加密锁箱,确保在选择性披露协议内敏感数据的流通。
- 基于哈希的承诺:为了隐藏某个值,证明者会生成数据的加密哈希并将其发送给验证者。之后,通过揭示原像,验证者可以确认它与最初的哈希承诺相对应。
- 佩德森承诺:证明者通过将私有盲因子与公共生成器相乘并添加该值来生成模糊承诺。随后披露盲因子和生成器允许验证者验证初始承诺,同时保持该值的私密性。
- 多项式承诺:证明者通过提供多项式系数的承诺来模糊多项式。验证涉及检查多项式在选定点的评估是否符合预期,向验证者隐藏系数值,但通过评估绑定来证明知识。
多项式承诺是现代零知识证明的基础技术,允许通过选择性数据披露在 zk-SNARK 和 zk-STARK 中进行隐私保护计算验证。它们在简洁证明系统中的作用有助于大规模确认隐私计算。与同态、插值技术和聚合优化相结合,它们解锁了强大的新加密应用 [9]。
类型零知识证明
零知识证明具有不同的属性,每个属性都有其特定的用例和属性。一些常见类型包括:
- 交互式零知识证明:这类证明涉及证明者和验证者之间的多轮交互。它们的计算量更大,但提供了更强的安全保障。
- 非交互式零知识证明:这些证明只需要证明者向验证者发送一条消息。它们效率更高,但安全性保障可能较弱 [8]。
- 简洁的零知识证明:这些证明旨在实现高效率,并且仅需要最少的计算资源。它们旨在最大限度地减少与零知识证明相关的计算开销。要使 ZKP 被视为简洁的,它必须减少证明者和验证者需要相互传递的消息数量,以建立概率确定性或为其 ZKP 奠定基础。简洁的零知识证明是交互式或非交互式证明的属性,而不是一个排他性的单独类别 [10]。
交互式零知识证明
交互式零知识证明(也称为 Arthur-Merlin 证明)构成了零知识密码学现代应用的理论基础。本文详细介绍了交互式模型以及它如何通过反复执行质询-响应协议来实现零知识属性。
在交互式证明中,两方(证明者和验证者)进行来回交流以证明或反驳陈述。证明者试图证明陈述是真实的,而不透露其有效性以外的任何信息。
关键的加密特性是零知识——交互后,验证者除了判断语句是真是假之外,什么都不知道。这可以防止泄露敏感信息。
交互式 ZK 证明利用“挑战-响应”协议,其中验证者对证明者的主张提出质疑,而证明者的回应则令人信服,但无需透露。一个简单的例子涉及图汉密尔顿性问题。
证明者提出一条路线,该路线将以图形上的一系列点和边的形式产生消息所声称的解决方案。验证者随机选择让证明者“证明”该路线是正确的,或者为同一张图生成一条新路线。重复会使验证者的视图随机化,确保它不会泄露有关图形或解决方案的任何信息。
健全性确保计算受限的验证者不会被说服相信虚假陈述,除非可能性极小。它依赖于交互过程中的承诺,这些承诺通过离散对数等计算假设进行加密隐藏和绑定。
诚实验证者零知识保证真实执行记录不会比模拟交互透露更多信息。反复的随机挑战迫使验证者的观点在统计上接近独立试验。
非交互式 ZKP
虽然交互式零知识证明引入了理论框架,但实际应用需要非交互式变体以方便使用。非交互式 ZKP 提供三个关键特性:简洁性、非交互性和知识论证。本节详细介绍了通过生成可重复使用的证明来消除交互的加密技术。
1986 年推出的 Fiat-Shamir 启发式方法将交互式证明转变为非交互式论证,方法是用随机预言机取代验证者的随机性。实际上,实际使用的是记录的哈希值,即证明者和验证者交换的消息记录。这种“懒惰”的对手模型假设哈希值充当随机预言机。
在实践中,证明者使用声明和通过散列所有先前消息得出的随机挑战来生成证明。验证者重新计算挑战并检查一致性。模拟器还可以通过编程随机预言机来生成没有见证人的模拟证明。
整个过程比交互式版本简单得多,因为只需要交换一条消息,并且证明者和验证者不需要同时在线来验证消息[11] [12]。
Sigma 协议构成了一类特殊的 3 步诚实验证者零知识证明,其中证明者发送承诺,验证者发送挑战,证明者发送响应。其特殊的健全性利用不同挑战下的两个接受记录来提取证人。
与 Fiat-Shamir 一起应用的 Sigma 协议通过确定的挑战消除交互,同时保留零知识,形成了许多实用的非交互式证明系统(如 SNARK 和 STARK)的基础 [13] [14]。
简洁的 ZKP
简洁的零知识证明能够验证私有数据的计算,其证明大小在计算电路大小中呈次线性(即,随着消息大小的增加,证明大小的增加速度较慢)。这比线性扩展的传统证明有了显著的改进。
如前所述,简洁零知识证明是交互式或非交互式零知识证明的一个属性,而不是一个排他性的单独类别。然而,非交互式零知识证明默认是简洁的,这意味着只有交互式零知识证明才能区分为简洁或非简洁 [10]。
一些零知识证明算法
防弹
Bulletproofs 是一种加密协议,可在比特币区块链上实现高效、安全的零知识证明。它允许验证范围证明,以确保值在指定的范围或间隔内,而不会泄露实际值。Bulletproofs 大大减少了零知识证明的大小,使其在比特币上使用更具可扩展性和成本效益
通过启用隐私保护金额证明,Bulletproofs 在 Monero 等加密货币中得到广泛使用,用于混淆交易金额。本节深入探讨 Bulletproofs 背后的加密机制。
先前的范围证明方案(例如 Pinocchio)依赖于诚实验证者零知识 SNARK,这会产生较高的固定成本。为了解决这个问题,Bünz 等人提出了一种使用 Sigma 协议的递归组合的新方法。Sigma 协议通过其健全性和诚实验证者零知识的特性构成了许多零知识证明的支柱。
防弹证明通过二进制分解将数字区间递归分解为更小的段。在每个步骤中,都会发布对区间端点的承诺以及承诺值位于该子范围内的证明。通过组合子范围内的证明,最终语句得到证明,而无需透露具体值。
这种递归组合方法比多项式成本有了显著的改进。承诺使用具有素数阶群的 Pedersen 承诺方案来维护加密健全性。证明利用 Sigma 协议(如 Schnorr 证明),该协议仅揭示承诺值满足某些代数关系而不会泄露它 [15] [16]。
普朗克
PLONK,即拉格朗日基上的非交互式知识论证置换,是一种简洁的零知识证明系统,由 Gabizon、Williamson 和 Ciobotaru 于 2019 年推出。通过多项式承诺实现高效的 ZK 证明,PLONK 正在可扩展的区块链应用中得到采用。我们在这里讨论 PLONK 的加密技术如何发挥作用。
过去的 ZK 证明系统(例如 zk-SNARK)依赖于双线性群上的代数约束,这会产生很高的常数成本。相反,PLONK 利用多项式承诺,以简洁但加密绑定的方式对有限域上的多项式进行承诺。
多项式承诺利用了这样一个事实:在不同点处评估多项式可以唯一地标识多项式。证明者承诺代表计算的多项式,并在零知识中证明其见证满足所声称的多项式 [17] [18] [19]。
零知识证明 (ZK SNARKS)
zk-SNARK(零知识简洁非交互式知识论证)是一种非交互式零知识证明,能够高效验证机密数据的计算。本节详细介绍了支持 zk-SNARK 的加密结构。
传统的非交互式 ZKP 效率低下且计算密集,限制了用例。zk-SNARK 通过一种称为“知识证明”的技术解决了这个问题。通过将验证减少到线性数量的组操作,它们为 NP 关系提供了简洁的非交互式论证。
关键直觉来自 Bulletproofs,它通过 Sigma 协议的递归组合构建了有效的范围证明。同样,zk-SNARKs 利用 Sigma 协议(如二次跨度程序)来证明表示计算的算术电路中的关系。
zk-SNARK 使用在受信任设置期间生成的参考字符串来描述编码声明/见证的算术电路。证明者承诺输入并证明见证满足电路的知识。
具体来说,它们将输入提交给一个素数阶群,并通过提供非交互式零知识论证来证明可满足性,即承诺满足算术电路的方程式。模拟提取无需见证人知识 [6] [7] [10] [20] [21]。
星光大道
zk-STARK(零知识可扩展透明知识论证)是另一种高效的非交互式 ZK 证明方法,它比 zk-SNARK 提供更强大的设置和计算保证。本节深入探讨支持 zk-STARK 的加密技术
虽然 zk-SNARKs 促进了许多应用程序的发展,但它们对受信任设置期间生成的参考字符串的依赖是一个持续的限制。zk-STARKs 旨在实现“携带证明的数据”,而无需信任第三方。
与 zk-SNARK 一样,zk-STARK 将计算表示为由二次多线性映射组成的二次算术程序 (QAP)。但是,它们应用线性 PCP 技术来生成证明,从而可以在线性时间内有效地检查有效性,并删除参考字符串。
zk-STARK 使用在多向量线性 (MVL) 假设下安全的新型多向量承诺方案来提交输入和 QAP 表示。这以加密方式将输入绑定到承诺的计算。
zk-STARK 不使用参考字符串,而是利用抗碰撞哈希函数来确定性地推导挑战,从而保持透明度。通过 Fiat-Shamir 变换,证明仍然是非交互式的。
上述在表示、承诺和挑战推导方面的进步产生了可在时间上验证的论据,验证时间仅与问题规模成正比,而无需共同参考。更多正在进行的工作不断改进。
简而言之,通过在 STARK 框架内应用线性 PCP 技术和多向量承诺,zk-STARK 开启了真正无需信任的透明非交互式论证的大规模未来 [6] [7] [10] [20] [21]。
格罗斯
Jens Groth 是开发适用于区块链应用的高效零知识证明的先驱。报告的这一部分详细介绍了 Groth 证明背后的加密技术及其在隐私保护分布式账本中的应用。
早期的区块链 ZKP(如 zk-SNARK)将计算表示为在引用字符串下提交的二次算术程序。虽然效率很高,但这会产生可信设置成本。Groth 通过将承诺建立在双线性群中来寻求无需设置的证明。
Groth 零知识证明基于配对密码学的概念,该概念利用称为双线性群的数学结构——这种数学结构允许高效计算来自两个不同组的元素之间的配对。Groth 证明将输入提交给素数阶双线性群,如配对友好的椭圆曲线。值提交给群元素,通过保留线性依赖性的多线性映射相关联。这允许以紧凑的方式表达计算约束,因此验证成本较低 [22]。
区块链零知识证明的批评和缺点
由于具有增强隐私和安全性的潜力,零知识证明在区块链领域引起了广泛关注。然而,与任何技术一样,如果实施或设置不当,零知识证明也无法避免缺陷和漏洞。
如果 ZK 方案约束不足,则无法保证其完整性。恶意行为者可以利用不受约束的输入值来生成伪造证明,从而危及整个方案 [23]。
当 ZKP 的验证过程未正确实施时,可能会出现完整性问题。例如,如果验证算法无法验证输入值或未执行必要的检查,则可能导致接受无效证明 [24]。
当 ZKP 无法拒绝虚假陈述时,就会出现健全性问题。如果验证算法无法正确验证被证明的陈述,则可能导致接受虚假证明。
信息泄露是指在零知识证明过程中,意外信息泄露的情况。这可能是由于敏感数据处理不当或保护机制不充分而发生的。信息泄露会危及零知识证明和底层区块链系统的隐私和安全。
非标准化的加密实现可能会在 ZKP 中引入漏洞。如果 ZKP 中使用的加密算法或协议未正确实现或不遵循既定标准,则可能导致可被攻击者利用的弱点。
为了减轻区块链零知识证明的缺陷和漏洞,可以采用几种防御策略:
首先,项目可以采用严格的安全审计。对 ZKP 实施进行彻底的安全审计有助于识别漏洞和设计缺陷。此过程应涉及威胁建模、代码检查和内部交叉审查,以全面评估 ZKP 电路和应用程序的安全性 [25]。
接下来,可以限制输入值。对输入值实施适当的限制可以防止生成假证明。通过限制可能的输入范围,可以更好地确保 ZKP 的完整性 [23]。
最后,在使用 ZKP 构建时,应仅使用标准化的加密标准。遵循既定的加密标准和最佳实践有助于确保 ZKP 的安全性和完整性。使用经过严格审查的加密算法和协议可降低漏洞风险 [25]。
利用零知识证明的项目
一般示例
零币
Zcash 是一种使用 zk-SNARK 的加密货币。Zcash 允许用户隐藏其交易详细信息,包括发送者、接收者和交易金额,同时仍确保交易的有效性。
斯塔克网络
StarkNet 通过保护隐私的 zk-rollup 架构,方便在以太坊上部署任意复杂的程序。著名的借贷协议 Aave 和稳定币项目 Maker 打算在 StarkNet 上推出应用程序,以充分利用其功能。
可扩展性可通过基于 StarkNet 基础构建的 StarkEx zk-rollups 进一步优化。这构成了对超出底层结算层的保密交易量的证明。
为了充分发挥 STARK 证明的潜力,StarkWare 引入了 Cairo 编程语言。Cairo 能够从图灵完备计算中生成最简洁的验证元数据。
实现 Cairo 的愿景需要培育一个支持生态系统。StarkWare 必须建立文档、框架和辅助工具,以便切实采用 Cairo。只有通过建立这样的工具和指导,Cairo 才能简化隐私保护智能合约的编排,并在复杂的工作负载下扩展基础设施。一旦通过验证,Cairo 就会为高性能机密分布式账本应用程序铺平道路。
Loopring
Loopring 是一个基于以太坊的去中心化交易所 (DEX),它利用 zk-SNARKs 实现订单簿式交易,而无需保管用户的资产。它确保交易的隐私和安全。
同步
zkSync 是一种以太坊扩展解决方案,利用意志架构来处理复杂程序。zkSync 采用 zk-SNARKS,在隐藏底层数据的同时确认操作。
可用性依赖于 zkPorter 权益证明协议来确认提交。除了证明逻辑之外,zkSync 与 StarkNet 不同,它保留了以太坊虚拟机兼容性。
这有助于在各个环境中执行熟悉的合约。包括去中心化交易所 1inch、算法稳定币 Alchemix 和稳定币 Curve 在内的项目打算在 zkSync 基础设施上部署,以充分利用这些功能。
zkSync 利用已建立的 EVM 语义,同时通过机密交易增加吞吐量,可以无缝地增强现有的以太坊应用程序。将智能合约置于 zk-SNARK 验证接口之下,可以建立生态系统组件并减少隐私保护开销。
zkSync 承诺通过选择性数据披露来扩展以太坊智能合约。保留 EVM 语义并集成 zk-reasoning 可让复杂程序透明地过渡到增强型网络 [26] [27] [28] [29]。
Mina 协议
Mina 协议是一种区块链,它利用零知识证明 (zkSNARKs) 作为其架构的基本部分。该协议旨在提供可扩展性、安全性和去中心化,同时保持大约 22KB 的小型区块链大小。通过利用 zkSNARKs,Mina 协议使用户能够以加密方式证明交易和其他声明的有效性,而不会泄露底层数据或损害隐私 [1]。这种方法使 Mina 协议能够实现高效和安全的验证,同时最大限度地减少区块链的存储和计算要求。[30]
阿兹特克协议
Aztec 协议是一个以隐私为重点的项目,旨在为以太坊和比特币区块链带来零知识证明。它利用 zk-SNARKs(零知识简洁非交互式知识论证)在比特币网络上实现机密交易。Aztec 协议允许用户通过加密交易详细信息并证明其有效性来进行私密交易,而无需透露任何敏感信息 [31]。
比特币的例子
祖鲁网络
Zulu Network 利用零知识证明来增强隐私、安全性和可扩展性。通过选择性数据披露,零知识证明为分布式账本提供了关键功能。
通过私人交易可以提高隐私性和保密性。用户可以在不暴露交易金额、地址或其他敏感信息的情况下进行交易。这可以保护开放区块链上的隐私。
通过零知识证明也可以进行验证和审计。它们允许在不泄露实际信息的情况下验证计算和数据完整性。这有助于在保持隐私的同时进行有效审计。
证明简洁性带来了显著的可扩展性提升。复杂的计算可以通过简洁的证明来验证,从而降低存储和处理成本。这提高了平台的吞吐量和扩展能力。
零知识证明还支持身份验证和认证。它们可以实现安全的凭证确认和访问控制,同时隐藏用户详细信息。
值得注意的是,跨链互操作性是通过保护隐私的资产转移实现的。零知识证明通过模糊跨平台通信和交易中的数据来支持跨网络交互。
结论
正如本报告所述,零知识证明为私密验证计算和交易提供了一种优雅的加密解决方案。它们的理论基础是几十年前建立的,但持续的进步正在跨许可和非许可分布式系统产生实际应用。
知名区块链网络已开始采用 ZKP 技术来增强用户隐私,同时又不牺牲透明度要求。加密货币、数字投票和加密数据等领域都可以通过这些加密证明获得隐私保障。随着证明复杂性和规模的改善,新的程序正在技术上变得可行。
展望未来,我们仍在进行更多研究,以加强不受限制的 ZKP(如 STARK)、改进可信设置假设,并扩大可通过高效协议证明的语句类别。标准化工作也可能促进有保密需求的行业更广泛地采用该技术。
随着零知识能力的扩展,其与核心分布式账本协议以及智能合约和应用程序层的集成可能会加深。这可能会使区块链上的交互类似于在需要时保持透明,同时对敏感数据进行选择性隐藏。
最近的项目在比特币区块链上构建零知识证明方面取得了重大进展。因此,零知识证明已成为增强比特币生态系统隐私和安全性的有力工具。许多项目都探索了零知识证明的实施,利用了 zk-SNARK 等技术,一些是为了解决隐私问题,另一些是为了提高可扩展性,还有更多的是为了实现更高级的交易类型。这些项目展示了零知识证明在彻底改变比特币区块链方面的潜力,并为更私密、更高效的去中心化金融系统铺平了道路。随着对隐私和可扩展性的需求不断增加,这些项目在塑造区块链生态系统的未来方面发挥着至关重要的作用。
总体而言,零知识加密技术能够通过科学严谨但实际可实施的证明技术私下验证敏感操作。该领域的持续进步将极大地帮助分布式系统中以隐私为中心的设计。进一步的研究应继续探索新的算法、优化和部署方式,以充分实现其承诺。
参考文献
[1] SM a. CRS Goldwasser,“交互式证明系统的知识复杂性”, SIAM 计算杂志,第 18 卷,第 1 期,第 186-208 页,1989 年。
[2] MB a. O. Goldreich,“关于定义知识证明”,密码学进展—CRYPTO' 92,第 740 卷,第 390-420 页,1993 年。
[3] J. Groth,“具有亚线性零知识论证的线性代数”,密码学进展-CRYPTO 2009,第 192-208 页,2009 年。
[4] A. Harp,“世界知名密码学家、DFINITY 首席研究员 Jens Groth 第二次获得 IACR 耐力奖”,Medium。
[5] FBARMSedaghat,“Groth-Sahai 证明:从零到英雄!”Mysten Labs,2023 年。
[6] ACET a. MVE Ben-Sasson,“冯·诺依曼架构的简洁{非交互式}零知识”, USENIX, 2019 年。
[7]“零知识证明(zkps)”,Klaytn基金会。
[8] C.Team,“零知识证明简介”,Chainalysis。
[9] L. Franceschini,“零知识证明指南”,Medium。
[10] D. Bogdanov,“零知识证明解释:ZK-SNARKs 与 ZK-Starks”,LimeChain。
[11] GeeksforGeeks,“非交互式零知识证明”,GeeksforGeeks。
[12] E. Vatsadze,“Fiat-Shamir 转型:实现非交互式证明”Medium。
[13] JG a. M. Kohlweiss,“众多证明中的其中一个:如何泄露秘密并花掉一枚硬币”,密码学进展 — EUROCRYPT 2015,第 253-280 页,2015 年。
[14] L. Harchandani,“使用 Sigma 协议实现零知识证明”Medium。
[15] P. Team,“加密防弹——简介”,Panther Protocol。
[16] BB 等人,“防弹:机密交易及更多内容的简短证明”, 2018 年 IEEE 安全与隐私研讨会 (SP),第 315-334 页,2018 年。
[17] ZJW a. OCA Gabizon,“Plonk:用于普世非交互式知识论证的拉格朗日基上的排列”, IACR 密码学电子印刷档案, 2019 年。
[18] C. Fairy,“zkSNARKs 背后的秘密 — — PLONK 协议:第 1-6 部分”,Medium。
[19] 0x,“什么是 plonk?”,Medium。
[20] J. Singh,“zk-STARKs 与 zk-SNARKs 解析”,Cointelegraph,2022 年。
[21] IBYH a. MRE Ben-Sasson,“可扩展、透明和后量子安全的计算完整性”,IACR 密码学电子印刷档案,2018 年。
[22] A. Harp,“世界知名密码学家、DFINITY 首席研究员 Jens Groth 第二次获得 IACR 耐力奖”,Medium。
[23] Oxorio,“ZK证明中的常见漏洞”Medium。
[24] O.Wright,“专门的零知识证明失败”,Trail of Bits 博客。
[25] XT 等人,“零知识证明漏洞分析和安全审计”,密码学电子印刷档案, 2024 年。
[26] A. Williams,“释放区块链零知识证明的潜力”,ACM 通讯,2024 年。
[27] K. Wadhwani,“零知识证明有什么用?”,区块链技术、移动性、人工智能和物联网开发公司美国、加拿大。
[28]“零知识区块链项目概览:Chainlink,”Chainlink,2023 年。
[29] K.Learn,“2024 年顶级零知识 (ZK) 证明加密项目”,KuCoin Learn,2024 年。
[30] Sarika,“mina 区块链架构快速指南”,Medium,2024 年。
[31] J. Wu,“解释 Aztec Network 中的“网络””,Medium,2022 年。
关于 Zulu Network
Zulu Network 是推动比特币经济向前发展的新型比特币第 2 层,通过激动人心的创新为比特币生态系统赋能。Zulu 是第一个使用 BitVM2 实现比特币级安全性的比特币第 2 层,使开发人员能够在 EVM 和 UTXO 层上无缝部署 dApp。
Zulu 是 BitVM 公认的关键贡献者,准备推出首个信任最小化的比特币桥。加入其 755k+ 用户,开始通过 Zulu 赚取收益并塑造比特币的未来。