• ZKP5.2 PLONK IOP


    ZKP学习笔记

    ZK-Learning MOOC课程笔记

    Lecture 5: The Plonk SNARK (Dan Boneh)

    5.2 Proving properties of committed polynomials

    • overview
      在这里插入图片描述

    • Polynomial equality testing with KZG

      • KZG: determined commitment (if the function is equal, then the commitment is equal too)
        • If the c o m f = c o m g com_f = com_g comf=comg, the verifier can tell if f = g f=g f=g on its own???

        • but
          在这里插入图片描述

          • The verifier does not have the commitment of g 1 g 2 g 3 g_1g_2g_3 g1g2g3
    • Important proof gadgets for univariates
      在这里插入图片描述

      • The size k is much smaller than d
    • The vanishing polynomial
      在这里插入图片描述

      • Outside the Ω \Omega Ω, the polynomial could evaluate an arbitrary value
      • Verifiers can evaluate the vanishing polynomial very fast.
    • ZeroTest
      在这里插入图片描述

      • F is zero on Ω \Omega Ω: All the elements of Ω \Omega Ω are the root of the polynomial.
      • Verifier time: O(log k) and two poly queries (but can be done in one batch)
      • Prover time: dominated by the time to compute q(X) and then commit to q(X)
    • Product check
      在这里插入图片描述

      • Polynomial t: auxiliary polynomial
        在这里插入图片描述

    在这里插入图片描述

    - Use the ZeroTest
    - Proof size: two commits, five evals (can be batched). 
    - Verifier time: O(logk) 
    - Prover time:O(klogk)
    
    • 1
    • 2
    • 3
    • 4
    • For rational functions
      在这里插入图片描述

    • Permutation check
      在这里插入图片描述

    在这里插入图片描述

    • f ^ \hat{f} f^ and g ^ \hat{g} g^ is identical
    • Embellished permutation check
      • The two vectors are permutations to each other
      • They also satisfy a prediscribed pumutation
        在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • Summary of proof gadgets
      在这里插入图片描述

    5.3 The PLONK IOP for general circuits

    • PLONK widely used in practice
      在这里插入图片描述

    • PLONK: a poly-IOP for a general circuit
      在这里插入图片描述

      • Encoding the trace as a polynomial
        在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • Step 2: proving validity of T
      在这里插入图片描述

      • (4): the output of the last gate is what the verifier is expecting
      • Proving (1): T encodes the correct inputs
        在这里插入图片描述

    在这里插入图片描述

    - Proving (2): every gate is evaluated correctly
    
    • 1

    在这里插入图片描述

      - S(X) is a selector
      - Pre-processing: create the commitment of S(X), it is independent to any input.
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述

    - Proving (3): the wiring is correct
    
    • 1

    在这里插入图片描述

      - The W is independent of the inputs
      - Prescribed pumutation check
    
    • 1
    • 2
    • The complete Plonk Poly-IOP (and SNARK)
      在这里插入图片描述

    在这里插入图片描述

    • Many extensions
      • The SNARK can easily be made into a zk-SNARK

      • Main challenge: reduce prover time
        在这里插入图片描述

      • A generalization: plonkish arithmetization

        • Plonk for circuits with gates other than + and × on rows (custom gates)
          在这里插入图片描述

        • More columns on the table

  • 相关阅读:
    1、ArrayList源码解析
    react-demo项目:自定义实现一个弹框Dialog组件
    若依分离版-前端使用
    pytorch深度学习实战lesson32
    支持向量机分类算法
    摩尔投票法(Java)
    Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...想要的这都有!
    java数组和应用
    给自己的信
    数理统计笔记1:常用分布
  • 原文地址:https://blog.csdn.net/weixin_45347752/article/details/133978892