• ZKP4.1 SNARKs via Interactive Proofs (Justin Thaler)


    ZKP学习笔记

    ZK-Learning MOOC课程笔记

    Lecture 4: SNARKs via Interactive Proofs (Justin Thaler)

    4.1 Interactive Proofs: Motivation and Model

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

      • P solves problem, tells V the answer.
        • Then they have a conversation.
        • P’s goal: convince V the answer is correct.
      • Requirements:
        • Completeness: an honest P can convince V to accept.
        • (Statistical) Soundness: V will catch a lying P with high probability.
        • If soundness holds only against polynomial-time provers, then the protocol is called an interactive argument.
    • Interactive Proofs and Arguments

      • Compare soundness to knowledge soundness for circuit-satisfiability
        在这里插入图片描述

      • Knowledge soundness is stronger.

    • Public Verifiability

      • Interactive proofs and arguments only convince the party that is choosing/sending the random challenges
      • This is bad if there are many verifiers (as in most blockchain applications).
        • P would have to convince each verifier separately.
      • For public coin protocols, we have a solution: Fiat-Shamir.
        • Makes the protocol non-interactive + publicly verifiable.

    4.2 SNARKs from interactive proofs

    • Actual SNARK
      • P commits cryptographically to W.
        • Uses an IP to prove that w satisfies the claimed property.
        • Reveals just enough information about the committed witness wto allow V to run its checks in the IP.
        • Render non-interactive via Fiat-Shamir.
    • Functional Commitments
      • Polynomial commitments
      • Multilinear commitments
      • Vector commitments (e.g., Merkle trees)
    • Merkle trees:
      • The commitment
        在这里插入图片描述

      • Opening Leaf T
        在这里插入图片描述

        • Provers need to provide T, C, m4, h1, and k1
          • “Opening proof” size is O(log n) hash values.
      • (Attampt to) Commit to a univariate f(X) in F 7 [ X ] F_7[X] F7[X]
        在这里插入图片描述

      • Reveal f(4)
        在这里插入图片描述

      • Problems
        在这里插入图片描述

  • 相关阅读:
    【三】Spring Cloud Ribbon 实战
    工具推荐-使用RedisInsight工具对Redis集群CURD操作及数据可视化和性能监控
    python3:split()分割字符串为字符/字符串列表 2023-11-20
    【计算机网络】第一章——概述
    日志收集分析平台
    【第十九篇】- Maven NetBeans
    GUN介绍
    RestSharp使用
    CoordinatorLayout和AppBarLayout 嵌套无法滑动问题
    JavaScript面向对象学习(一)
  • 原文地址:https://blog.csdn.net/weixin_45347752/article/details/133914265