登录后可观看高清视频

ZKP MOOC 第 5 课:Plonk SNARK

BerkeleyRDI BerkeleyRDI
34次播放
2025-02-12

在本次讲座中,Dan Boneh详细介绍了一个广泛使用的SNARK(简洁非交互式知识论证)构造,名为Plonk。讲座的核心内容是逐步构建Plonk的各个组成部分,并解释其工作原理。

核心内容概述

Plonk是一个多项式交互式oracle证明(IOP),用于验证任意电路的计算。它通过将电路的计算过程编码为多项式,并利用多项式承诺方案来实现高效的证明和验证。Plonk的设计允许在不需要信任设置的情况下进行有效的证明。

关键论据和信息

  1. 多项式承诺方案:Plonk的构建依赖于多项式承诺方案,特别是KZG承诺方案。该方案允许承诺者在不泄露多项式的情况下,向验证者承诺一个多项式,并在后续阶段提供对该多项式的评估证明。

  2. 多项式的构造:通过将电路的输入和输出映射到多项式的特定点,构造一个多项式T,该多项式编码了电路的计算过程。每个电路门的输入和输出都通过特定的点值表示。

  3. 验证步骤

    • 输入验证:验证者检查多项式T是否正确编码了电路的公共输入。
    • 门的正确性:通过构造选择多项式S,验证每个门的计算是否正确(加法或乘法)。
    • 连线验证:通过定义一个旋转多项式W,检查电路中各个门的输入输出是否正确连接。
  4. 零知识证明:Plonk可以通过通用的转换方法扩展为零知识SNARK,确保证明过程中的隐私性。

  5. 性能:Plonk的证明大小是常数级别,验证者的运行时间是对电路大小的对数级别,证明者的运行时间接近线性。

  6. 扩展性:Plonk支持自定义门和Plookup功能,使得电路的表示更加灵活,并能够进一步优化证明者的运行时间。

通过这些步骤和构造,Plonk实现了高效的电路验证,成为现代密码学和区块链技术中重要的工具之一。

密码学  零知识证明  ZKP  PLONK  SNARK  多项式承诺