Skip to content

零知识证明

零知识证明基础

零知识证明允许证明者向验证者证明某个陈述是真实的,而无需透露陈述本身之外的任何信息。这种技术实现了隐私保护与可验证性的完美平衡,成为区块链隐私和扩容的核心技术。

ZKP的三大特性

零知识证明必须满足完整性、可靠性和零知识性三个条件。完整性指真实的陈述一定能被验证通过,可靠性指虚假的陈述无法通过验证,零知识性指验证过程不泄露任何额外信息。

zk-SNARK

零知识简洁非交互式知识论证需要可信设置阶段,证明体积小且验证速度快。Zcash采用zk-SNARK实现完全匿名的交易,Tornado Cash使用该技术让用户隐私地转移以太币。

zk-STARK

零知识可扩展透明知识论证不需要可信设置,抗量子攻击且证明生成速度更快。STARK的证明体积比SNARK大,但随着技术改进正在缩小差距,StarkWare和Polygon正在采用此技术。

隐私保护应用

零知识证明在隐私领域的应用包括匿名币、混币协议和身份认证。用户可以证明自己年满18岁而无需透露出生日期,证明自己有足够资金而无需展示具体余额。

ZK-Rollup扩容

ZK-Rollup将数百笔交易在链下执行并生成有效性证明,链上只需验证证明即可更新状态。相比Optimistic Rollup的7天挑战期,ZK-Rollup的提款时间通常在1小时内。

证明者与验证者

ZKP系统分为证明者算法和验证者算法,证明者运行时间通常较长,验证则非常高效。这种不对称性使得链上验证成本可控,适合作为区块链的二层扩容方案。

可信设置

部分ZKP技术需要多方参与的可信设置仪式,只要有一方诚实则系统安全。Perpetual Powers of Tau ceremony让全球参与者贡献随机性,确保了以太坊ZK生态的可信设置基础。

递归证明

递归证明将多个零知识证明聚合成一个新的证明,实现在链上验证批量交易。Aztec和Mina使用递归证明技术,将整个区块链的历史压缩为恒定大小的证明。

通用ZKP虚拟机

通用ZKP虚拟机如zkEVM允许开发者直接编写Solidity代码而无需学习新的ZK专用语言。Scroll、zkSync和Polygon zkEVM等项目正在实现与以太坊完全兼容的ZK Rollup解决方案。