什么是零知识证明(ZKP)?一文全面了解零知识证明

时间:2024-09-12  分类:电子
K(Knowledge)一个没有秘密信息的的证明者很难计算出一个有效的零知识证明

公链要确保在网络上执行交易的正确性,需要通过让其他计算机(节点)重新运行每笔交易来实现。但这种方法会使每个节点重新执行每笔交易,会减慢网络的速度,限制可扩展性。节点还必须存储交易数据,导致区块链的规模呈指数级增长。


对于这些限制,ZK-SNARK就发挥了作用。它可以证明在链外进行的计算的正确性,而不需要节点重放计算的每一步。这也消除了节点对存储多余交易数据的需求,提高网络的吞吐量。


使用SNARKs验证链外计算将计算编码为一个数学表达式来构成有效性证明。验证者检查证明的正确性。若证明通过了所有检查,那么底层计算就被认为是有效的。有效性证明的大小要比它所验证的计算小很多倍,因此我们称SNARKs是简洁的原因。


大多数使用ZK-SNARKs的ZKRollup遵循以下步骤。



值得一提的是ZK-SNARKs需要进行可信设置。在这阶段,密钥生成器会获取一个程序和一个秘密参数来生成两个可用的公钥,分别用于创建证明和验证证明。这两个公钥只需通过一个可信的设置仪式生成一次公共参数,就可供希望参与零知识协议的各方多次使用。用户需要相信可信设置仪式的参与者不作恶,且没有办法评估参与者的诚实性。知道秘密参数便可生成假证明,欺骗验证者,因此存在潜在安全隐患。目前有研究员在探索ZK-SNARKs无需信任假设的方案。


优势



局限



使用ZKSNARKs的项目


PolygonHermez


Polygon在2021年以2.5亿美元并购Hermez,成为首个两个区块链网络全面并购的案例。Hermez给Polygon快速增长的用户群带来的ZK技术和工具,使Polygon获得开发zkEVM的支持。Hermez1.0是支付平台,把一批交易在链外执行,允许用户便捷地把ERC-20代币从一个Hermez账户转移到另一个Hermez账户,每秒交易可达2000次。Hermez2.0作为一个零知识的zkEVM以透明方式执行以太坊交易,包括具有零知识验证的智能合约。其可与以太坊完全兼容,无需对智能合约代码进行太多改动,方便开发者将L1的项目部署到PolygonHermez上。Hermez1.0使用SNARK-proofs,2.0中同时使用SNARK-proofs和STARK-proofs。在2.0,使用STARK-proof证明链外交易的有效性。但STARK-proof在主链上验证的成本很高,因此引入SNARK-proof来验证STARK。


zkSync


MatterLabs于2020年推出的zkSync1.0不支持智能合约,主要用于交易或转账。支持智能合约的ZkSync2.0已于2023年3月份公开上线主网。


ZkSync把以太坊上的智能合约源代码Solidity编译为Yul来实现EVM的兼容性。Yul是可以编译成不同EVM的字节码的中间语言。使用LLVM编译器框架可以将Yul代码重新编译为为zkSync的zkEVM设计的自定义、电路兼容的字节码集。通过这种方法,免除通过更高级别的代码对EVM执行中的所有步骤进行zk证明,从而在保持高性能的同时更容易使证明过程去中心化。未来还可以通过构建新的编译器前端来添加对Rust、Javascript或其他语言的支持,增加zkEVM架构的灵活性和更多的开发者。


Aztec


Aztec是第一个混合型zkRollup,在一个环境中同时实现公共和私有智能合约的执行。这是一个零知识的执行环境,而非zkEVM。通过将公共和私有执行合并到单个混合汇总中来实现机密性,例如公开AMM的隐私交易、公开游戏中的私密对话、公开DAO的隐私投票等等。


4.2ZK-STARKS


ZK-STARKs不需要可信的设置。ZK-STARKs是forZero-KnowledgeScalableTransparentArgumentofKnowledge的缩写。相比ZK-SNARKs,ZK-STARKs有更好的可拓展性和和透明性。


S(Scalable)当证据较大时,ZK-STARKs在生成和验证证明方面比ZK-SNARKs快。对于ZK-STARKs证明,证明者和验证者的时间只随着证据的增长而略有增加。相比之下,ZK-SNARKs证明者和验证者的时间随着证据大小线性增加,需要更多的时间来产生和验证证明。
T(Transparent)ZK-STARKs依靠可公开验证的随机性来生成用于证明和验证的公共参数,而不是一个可信的设置,因此更加透明。

优势



局限



哪些项目使用ZK-STARKs?


PolygonMiden


PolygonMiden,一个基于EthereumL2的扩展解决方案,利用zk-STARKs技术将大量L2交易集成到单一的以太坊交易中,从而提升了处理能力并降低了交易成本。在不进行分片的情况下,PolygonMiden可以在5秒内产生一个区块,并且其TPS可以达到1000以上。而在进行分片后,其TPS可高达10,000。用户只需要15分钟,就能将资金从PolygonMiden提现到Ethereum。PolygonMiden的核心功能是一个基于STARK的图灵完备虚拟机MidenVM,它使得合约的形式化验证变得更为简便。


StarkEx和StarkNet


StarkEx是一个需要许可的、为特定应用程序定制的扩展解决方案的框架。项目可以使用StarkEx来进行低成本的链下计算,生成证明执行正确性的STARK证明。这样的证明包含12,000–500,000笔交易。最后将证明发送到链上的STARK验证器,验证正确后接受状态更新。在StarkEx上部署的应用程序包括永续期权dYdX、NFTL2Immutable、体育数字卡牌交易市场Sorare和多链DeFi聚合器rhino.fi。


StarkNet是一个无需许可的L2,任何人员都可以在其中部署以Cairo语言开发的智能合约。部署在StarkNet上的合约之间可以进行交互来构建新的可组合协议。与应用程序负责提交交易的StarkEx不同,StarkNet的排序器批量交易并发送它们进行处理和证明。StarkNet更适合需要与其他协议同步交互或超出StarkEx应用范围的协议。随着StarkNet开发的进展,基于StarkEx的应用将能够移植到StarkNet,享受可组合性。


ZK-SNARKs和ZK-STARKs对比



-->> 2/3 文章未完,请继续阅读

以上就是什么是零知识证明(ZKP)?一文全面了解零知识证明的全部内容,望能这篇什么是零知识证明(ZKP)?一文全面了解零知识证明可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。

ZK-SNARKsZK-STARKs
可信设置要求需要可信设置利用公开可验证随机来建立可信任、可验证的计算系统