何时反转?盘点山寨币们即将面临的 10
63 2024-09-03
来源:Chainalysis;编译:五铢,金色财经
1985 年,零知识证明 (ZKP) 的原始概念出现在一篇同行评审的学术论文中,题为“交互式证明系统的知识复杂性”,标志着密码学的突破。研究人员 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 探索了是否有可能在不透露数据本身以外的任何信息的情况下证明数据有效。近 40 年后,ZKP 已成为许多区块链的基本组成部分,通过增强隐私和安全性为用户提供支持。
零知识证明 (ZKP) 是一种加密方法,允许多方验证语句的真实性,而不会泄露语句本身以外的信息。许多区块链利用 ZKP 来提高涉及敏感数据的交互的安全性。因此,具有 ZKP 的区块链的参与者可以更放心地进行交互,因为私人信息不太可能被恶意行为者泄露或利用。
ZKP 要求每次交互至少有两方参与:证明者和验证者。证明者负责提供实际的数学证明,以说服验证者相信陈述的有效性。验证者必须检查此证据并接受或拒绝它。
证明者和验证者之间通常会进行多轮沟通,以降低任何一方猜测或提供非法信息的可能性。
ZKP 使用高级加密算法和数学概念的基本构建块进行操作。例如,ZKP 使用加密哈希函数为验证者生成随机挑战,以努力与证明者建立相互信任。
由 ZKP 支持的交互必须满足以下条件:
完整性:如果陈述为真,诚实的证明者应该能够轻松说服验证者。
健全性:如果陈述为假,不诚实的证明者应该无法欺骗验证者。
零知识:任何一方都无法提取有关彼此的其他私人信息;他们只知道所提供陈述的内容。
让我们看一个两个用户如何使用 ZKP 进行交易的示例:
A(证明者)希望使用隐私币 ZCash 执行交易,以便隐藏区块链的任何观察者都无法提取交易的任何详细信息(即转账金额、转账地址等)。
B(验证者)希望从 A 那里收到 ZCash,但不知道他们的私人详细信息,例如 A 钱包中持有的资产总额。
A 加密交易并将其提交到区块链。
A 提交带有加密交易的 ZKP 来证明交易有效。
区块链上的节点检查 ZKP 以确保 A 的加密交易确实有效。
如果 ZKP 有效,B 将接受。
ZCash 从 A 的账户转移到 B 的账户。
交易永久记录在区块链上。
ZKP 主要有两种形式:交互式和非交互式。交互式 ZKP 涉及证明者和验证者之间的多轮来回通信。非交互式 ZKP 仅涉及一轮通信——证明者仅向验证者发送一条消息,并且他们不必同时在线即可发生这种情况。
交互式证明在基于区块链的系统中并不常见,因为它们效率低下,而且通常不希望要求两方同时在线。因此,在非交互式设置中使用以下类型的 ZKP:
零知识简洁非交互式知识论证 (zk-SNARK) 使参与者能够证明拥有某些信息而无需透露该信息的详细信息。Zk-SNARK 在以太坊区块链上很常见,对于保护隐私的智能合约特别有用。 ZCash 还利用 Zk-SNARK 来证明受保护交易的有效性,例如那些不透露任何信息的交易——包括发送者、接收者和转账金额。
零知识可扩展透明知识论证 (zk-STARK) 的功能与 zk-SNARK 类似,但旨在扩展大型计算。由于 zk-STARK 具有透明度和可扩展性等额外优势,因此可与各种区块链应用兼容。
防弹证明可证明某个值位于特定范围内,而不会透露该值本身。通过使用高级数学概念,防弹证明能够使证明更小,从而减少交易规模和验证时间。Monero 使用防弹证明。
零知识证明在区块链生态系统中提供了广泛的应用,从增强隐私的去中心化协议到可扩展的交易解决方案。尽管其中一些用例已被区块链采用,但其他用例仍处于推测阶段或处于开发初期。
身份验证和安全身份验证:DeFi 参与者可以使用 ZKP 来证明他们拥有某些属性,例如参与治理活动或成为特定代币持有者群体的成员,而无需透露这些属性的实际值。同样,用户可以与 ZKP 交互以有选择地披露与其身份相关的信息。
安全投票系统:ZKP 可以让 DeFi 参与者证明他们的投票资格和投票数,而无需透露他们的历史或投票偏好。
Zk-rollups 是Layer 2扩展解决方案,它将交易数据在链下捆绑或“Rollup”为加密证明,然后使用 ZKP 以 calldata 的形式在以太坊主网上发布交易有效性。由于交易是成捆发布到主网的,因此它们通常占用更少的空间,从而减轻了以太坊的计算负担。流行的 zk-rollup 包括 ZkSync 和 Loopring。
Zk-Plasma 是 Plasma 网络的一个变体,它利用 ZKP 在以太坊上创建隐私保护侧链。用户无需在主网上验证所有数据,而是可以在侧链上验证交易,然后使用 ZKP 在以太坊上发布其有效性。
去中心化交易所 (DEX):ZKP 可以促进各种资产的交易,而无需透露用户的交易历史、策略或账户余额。
供应链透明度和完整性验证:ZKP 可以通过验证供应商的凭证和产品的真实性来增强供应链的安全性,而无需向未经授权的各方披露交易信息或有关生产过程的专有信息。此外,ZKP 可能有助于验证认证和对供应链监管标准的遵守情况。
下图说明了零知识技术在某些用例中的应用规模。我们看到了发送到几个最受欢迎的 ZKP 应用程序的资金量,包括 ZCash(保护隐私的加密货币)、Tornado Cash(去中心化、非托管智能合约)、Railgun(以太坊 L2 隐私协议)和 Aztec(以太坊 L2 隐私协议)。2022 年 1 月至 2024 年 4 月期间,发送到 Tornado Cash 的资金比其他三个支持 ZKP 的应用程序多,接近 50 亿美元。
尽管 ZKP 有望使区块链更加安全、高效,但其广泛采用仍面临诸多挑战:
实施和部署 ZKP 需要深入了解加密原理和高级数学 —— 大多数开发人员并不具备这种专业知识。
生成 ZKP 通常需要大量计算资源,从而导致交易处理时间变慢和费用增加。
如果参与者遇到不兼容的协议或验证方法,区块链的互操作性可能会变得困难。
ZKP 和相应数据存储的复杂性可能会带来监管合规和审计方面的挑战。
随着人们对区块链平台隐私和安全重要性的认识不断提高,零知识证明很可能会得到更广泛的采用。此外,以太坊上的许多Layer 2协议都在不断寻求提高可扩展性和效率的方法,而零知识证明可能有助于解决这些问题。这些持续的努力将在保护用户敏感信息和标准化区块链交易以促进区块链互操作性方面发挥关键作用。