ZKP2 Overview of Modern SNARK Constructions (Dan Boneh)

本文是ZKP学习笔记,介绍了zk - SNARK的概念,其证明简短且验证快,还能保护消息隐私。阐述了其在区块链、C2PA等方面的应用,回顾了算术电路,介绍了NARK、SNARK的定义、类型及构建高效SNARK的通用范式,还提及了功能承诺方案等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ZKP学习笔记

ZK-Learning MOOC课程笔记

Lecture 2 Overview of Modern SNARK Constructions (Dan Boneh)

  • What is a zk-SNARK (intuition)

    • SNARK is a succinct proof that a certain statement is true.
    • The proof is short and fast to verify
    • zk-SNARK: the proof reveals nothing about the privacy of a message
    • Babai-Fortnow-Levin-Szegedy 1991: In this setup, a single reliable PC can monitor the operation of a herd of supercomputers working with unreliable software.
  • Applications

    • Blockchain

      • Scalability: proof-based Rollups (zkRollup)
      • Bridging blockchains: proof of consensus (zkBridge)
      • Private Tx on a public blockchain: zk proof that a private Tx is valid (Tornado cash, Zcash, IronFish, Aleo)
      • Compliance: Proof that a private Tx is compliant with banking laws (Espresso); Proof that an exchange is solvent in zero-knowledge (Raposa)
    • C2PA: a standard for content provenance, T. Datta, 2022 (fighting disinformation)

      • Solve the problem: post-processing (resized photo)
        在这里插入图片描述
    • A. Naveh and E. Tromer, “PhotoProof: Cryptographic Image Authentication for Any Set of Permissible Transformations,” 2016 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 2016, pp. 255-271, doi: 10.1109/SP.2016.23.

  • Review: Arithmetic circuits
    在这里插入图片描述

    • Input: n elements in finite field
    • Output: an element in finite field
  • Structured vs. Unstructured circuits

    • An unstructured circuit: a circuit with arbitrary wires
      在这里插入图片描述

    • M: Micro processor

    • Some SNARK techniques only apply to structured circuits

  • NARK: Non-interactive ARgument of Knowledge

    • A preprocessing NARK is a triple (S, P, V)

    • S(C) -> public parameters (pp,vp) for prover and verifier

    • P(pp, x, w) -> proof Π \Pi Π

    • V(vp, x, Π \Pi Π) -> accept or reject

    • requirements (informal)
      在这里插入图片描述

      • A trivial NARK: Π \Pi Π = w
  • SNARK: a Succinct ARgument of Knowledge
    在这里插入图片描述

    • The trivial NARK is not a SNARK
  • Types of preprocessing Setup

    • Setup of a Circuit C: S(C, r)-> public parameters (pp, vp)
      在这里插入图片描述

    • for a circuit with ≈ 2 20 2^{20} 220 gates
      在这里插入图片描述

  • Definitions: knowledge soundness
    在这里插入图片描述

  • Building an efficient SNARK: General paradigm

    • Step 1: A functional commitment scheme (cryptographic object)
    • Step 2: A compatible interactive oracle proof (IOP)
  • Review: commitment scheme

    • commit(m,r) -> com (r chosen at random)
    • verify(m, com, r) -> accept or reject
    • Properties (Informat):
      • Binding: cannot produce com and two valid openings
      • Hiding: com reveals nothing about committed data
  • Committing to a function: syntax
    在这里插入图片描述

  • Four important functional commitments
    在这里插入图片描述

  • Polynomial commitments
    在这里插入图片描述

  • Examples

    • Using bilinear groups: KZG10(trusted setup), Dory’20
    • Using hash function only: based on FRI
    • Using elliptic curve: Bulletproofs
    • Using groups of unknown order: Dark’20
  • trivial commitment scheme
    在这里插入图片描述

    • Proof Π \Pi Π is not succint: prove size and verification time are all linear to d
    • It is not a polynomial commitment
  • A useful observation

    • Zero test
      在这里插入图片描述

    • Equality test
      在这里插入图片描述

    • The equality test protocol

      • Interactive protocol
        在这里插入图片描述

      • Making it a SNARK (non-interactive)

        • The Fiat-Shamir transform
          在这里插入图片描述
  • F-IOP

    • boost functional commitment -> SNARK for general circuits
      在这里插入图片描述

在这里插入图片描述

  • Just like the SumCheck Protocol
  • The IOP Zoo
    • Poly-IOP: Sonic, Marlin, Plonk,… (+Poly-Commit)
    • Multilinear-IOP: Spartan, Clover, Hyperplonk,… (+Multilinear-Commit)
    • Vector-IOP: STARK, Breakdown, Orion,… (+Merkle-Commit)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值