ZKP9 SNARKs based on Linear PCP (Pinocchio Groth16)

news2024/11/27 19:47:11

ZKP学习笔记

ZK-Learning MOOC课程笔记

Lecture 9: SNARKs based on Linear PCP (Yupeng Zhang)

  • SNARKs learned so far
    在这里插入图片描述

  • Earliest Implemented SNARKs

    • Pros
      • Shortest proof size (3 elements [Groth16])
      • Fast verifier (bilinear pairing)
    • Cons
      • FFT and group exponentiations on the prover
      • Circuit-specific trusted setup
  • History of SNARKs
    在这里插入图片描述

9.1 Quadratic Arithmetic Program (QAP)

  • Recall: SNARKs for circuit-satisfiability
    在这里插入图片描述

  • Transcript/trace of Circuit

    • Interactive proof (lecture 4, slide 76): value of every gate
    • Plonk (lecture 5, slide 42): left input, right input, output of every gate
    • QAP: input + output of every multiplication gate
  • QAP

    • Ignore the output of the addition gates
      在这里插入图片描述

    • Labeling multiplication gates

    • Selector Polynomials

      • l i ( x ) l_i(x) li(x): is c i c_i ci the left input of gate 𝑗, for 𝑗 = 1,2,3?

        • Examples:
          在这里插入图片描述

          For l 1 ( x ) l_1(x) l1(x):

          • 3 is the left input of gate 1? Yes! -> 1
          • 3 is the left input of gate 2? No! -> 0
          • 3 is the left input of gate 3? No! -> 0
            在这里插入图片描述

          For l 3 ( x ) l_3(x) l3(x):

          • 1 is the left input of gate 1? No! -> 0
          • 1 is the left input of gate 2? No! -> 0
          • 1 is the left input of gate 3?
            • Yes! -> 1
            • Because “1” is the input of the addition gate, and the addition gate is the left input of gate 3
              在这里插入图片描述
      • Properties of the selector polynomials
        在这里插入图片描述

      • More Selector Polynomials

        • r i ( x ) r_i(x) ri(x): is c i c_i ci the right input of gate 𝑗, for 𝑗 = 1,2,3?
          在这里插入图片描述

        • o i ( x ) o_i(x) oi(x): is c i c_i ci the output of gate 𝑗, for 𝑗 = 1,2,3?
          在这里插入图片描述

      • Master polynomial
        在这里插入图片描述

      • Vanishing polynomial
        在这里插入图片描述

  • Circuit-SAT to QAP [GGPR13, PGHR13]
    在这里插入图片描述

在这里插入图片描述

  • The table is sparse.

9.2 From QAP to SNARK

  • Probabilistically Checkable Proofs (PCP)
    在这里插入图片描述

  • IPCP [Kalai-Raz’08] and IOP [Ben-Sasson-Chiesa-Spooner’16]
    在这里插入图片描述

  • Polynomial IOP [Bünz-Fisch-Szepieniec’20]
    在这里插入图片描述

  • Linear PCP [Ishai-Kushilevitz-Ostrovsky’07]
    在这里插入图片描述

  • QAP and Linear PCP
    在这里插入图片描述

    • We don’t use random checks.
  • Key Generation

    • The c i c_i ci and q ( x ) q(x) q(x) are private
    • The selector polynomials and the vanishing polynomial are public.
    • The circuit can be pre-processed. (The preprocessing phase is circuit-dependent)
      在这里插入图片描述
  • Prove
    在这里插入图片描述

  • Verify
    在这里插入图片描述

  • Towards the real protocol

    • Q1: How to make sure π 1 \pi_1 π1 is computed from g l i ( τ ) g^{l_i(\tau)} gli(τ)

      • Solution: Knowledge of Exponent assumption (KoE) or Generic Group Model (GGM)

      • Recall: KoE
        在这里插入图片描述

      • Recall: GGM
        在这里插入图片描述

    • Q2: how to make sure the same c c c is used in π 1 \pi_1 π1, π 2 \pi_2 π2 and π 3 \pi_3 π3?

      • Solution
        在这里插入图片描述
    • Q3: What about public input and output?
      在这里插入图片描述

      • I m i d I_{mid} Imid: secret witness
      • I i o I_{io} Iio: public input and public output
  • Putting everything together
    在这里插入图片描述

  • Properties of SNARK [PGHR13]
    在这里插入图片描述

9.3 Other variants

  • Rank-1-Constraint-System (R1CS)

    • QAP
      在这里插入图片描述

    • R1CS:
      在这里插入图片描述

      • Advantages
        • Can support generalized constraints or gates
        • more convenient to use in practice
      • Matrix View of R1CS
        在这里插入图片描述
  • Groth16
    在这里插入图片描述

    • Combine the π 3 \pi_3 π3, π 4 \pi_4 π4, π 5 \pi_5 π5 of [PGHR13] together
      • α \alpha α and β \beta β are secret keys in the trusted key generation, and g α g^\alpha gα and g β g^\beta gβ are public parameters for the prover and the verifier
      • π 3 \pi_3 π3: move the Σ i = 1 m c i × o i ( x ) \Sigma_{i=1}^m c_i \times o_i(x) Σi=1mci×oi(x) to the right side of the equation -> Σ i = 1 m c i × o i ( x ) + V ( x ) q ( x ) \Sigma_{i=1}^m c_i \times o_i(x) + V(x)q(x) Σi=1mci×oi(x)+V(x)q(x)
    • Change the keygen accordingly
    • Proof size: 3 group elements, 144 bytes
    • Verifier time: 1 pairing equation
  • Achieving Zero-Knowledge

    • The above is not zero-knowledge, because the adversary can infer some information by brute force attack.
    • Solution: add some random values (times the vanishing polynomial)
      • The [PGHR13] version:
        在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1160485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子PLC ModbusTcp通信访问网关后从站(SCL语言轮询状态机FB)

西门子PLC的ModbusTcp通信在专栏已有系列文章介绍,所不同的是每个项目的通信需求都略有不同,今天我们以访问网关后的三个从站数据来举例,给出轮询的推荐写法,这里我们利用SCL语音进行编程,方便大家导入导出到自己的项目里使用,相关文章链接大家可以参考下面地址: SMART…

飞致云及其旗下1Panel项目进入2023年第三季度最具成长性开源初创榜单

2023年10月26日,知名风险投资机构Runa Capital发布2023年第三季度ROSS指数(Runa Open Source Startup Index)。ROSS指数按季度汇总并公布在代码托管平台GitHub上年化增长率(AGR)排名前二十位的开源初创公司和开源项目。…

CS224W4.4——矩阵分解和节点Embeddings

我们稍微切换一下方向,讨论生成节点嵌入的矩阵分解方法。具体来说,我们讨论了前面提到的学习节点嵌入的方法如何与矩阵分解的方法联系起来。基于这些直觉,我们提出了基于矩阵分解和随机游走的嵌入方法的3个局限性。在接下来,我们将…

基于51单片机霍尔测速直流电机控制设计

**单片机设计介绍,1658【毕设课设】基于51单片机霍尔测速直流电机控制设计(含源码、原理图、论文、PCB封装) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 51单片机是微型计算机的一种常见类型,用于处理数…

GB28181协议如何注册

前言 GB28181协议是视频监控领域的国家标准,本文将解析如何在FFmpeg中增加对GB28181协议的支持,使其可以与支持GB28181协议的设备进行通信与控制,实现设备的注册、保活以及流媒体的传输。 1.背景介绍 GB28181协议指的是国家标准GB/T 28181…

S/4 HANA 中的 Email Template

1 如何创建Email Template? 没有特定的事务用于创建电子邮件模板,我们可以将其创建为 SE80 事务中的存储库对象,如下所示: 1,选择包(或本地对象)并右键单击。 2,选择“创建”->“更多”->“电子邮件模板” 尽管如此,对于已有的Email Template,可以使用程序…

音视频开发:音频编码原理+采集+编码实战

原理: 消除冗余信息,压缩量最大,也叫有损压缩 剔除人耳听觉范围外的音频信号20Hz以下和20000Hz以上;去除被掩蔽的音频信号,信号的遮蔽可以分为频域遮蔽和时域遮蔽;频域遮蔽效应 屏蔽70分贝以下&#xff0…

【QT】仿函数

函数调用运算符 () 也可以重载由于重载后使用的方式非常像函数的调用&#xff0c;因此称为仿函数仿函数没有固定写法&#xff0c;非常灵活 示例&#xff1a; #include <iostream> #include <string> using namespace std;class MyPrint { public://重载的运算符是…

MFC网络编程-Udp客户端

目录 1、UI的设计&#xff1a; 2、代码的实现&#xff1a; &#xff08;1&#xff09;、重写CSocket虚函数OnReceive&#xff0c;并且传入对话框的指针 &#xff08;2&#xff09;、初始化SOCKET &#xff08;3&#xff09;、绑定本地IP和端口 &#xff08;4&#xff09;、…

Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273)解决方法

前言&#xff1a; 在一次漏洞扫描中&#xff0c;扫描出紧急漏洞Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273) 根据修复建议找补丁。 一、漏洞详情 二、寻找补丁 根据漏洞修复建议去下载补丁 目前厂商已发布升级补丁以修复漏洞&#xff0c;补丁获取链接&#xff1a;h…

龙迅视频转换IC LT6711GX适用于HDMI2.1转TPYE-C/DP1.4/EDP功能应用

1.描述 应用功能&#xff1a;LT6711GX适用于HDMI2.1转TPYE-C/DP1.4/EDP 分辨率&#xff1a;最高支持8K30HZ或8K60Hz压缩数据 工作温度范围&#xff1a;−40C to 85C 产品封装&#xff1a;QFN88 &#xff08;10*10&#xff09; 最小包装量&#xff1a;1680PCS 2.产品应用市场 •…

【JMeter】线程组分类以及功能介绍

1.概念介绍 进程&#xff1a; 正在运行的程序&#xff0c;比如Jmeter 线程组&#xff1a;进程中有多个线程 2线程组分类 JMeter自带的线程组&#xff1a; 普通线程组&#xff08;Thread Group&#xff09;开始线程组&#xff08;setUp Thread Group&#xff09;结束线程…

绝对好用!一个浏览器插件解决跨设备同步问题,吊打文件传输助手!

在数字化的时代&#xff0c;我们所接触的信息呈现指数级的增长。无论是办公资料、学习资源&#xff0c;还是各种生活中的点滴&#xff0c;所有这些信息以各种形式——文本、图片、视频、音乐等——出现在我们面前&#xff0c;如何有效地同步和管理这些内容成为一个挑战。 就跨…

PhotoFoundry for Mac:图片滤镜编辑软件的终极进化!

如果你是一个摄影师&#xff0c;或者是一个热衷于使用图片编辑软件的人&#xff0c;那么PhotoFoundry for Mac将会是你的新最佳伙伴&#xff01;这款软件不仅具备了强大的图片滤镜编辑功能&#xff0c;更在操作简易度、用户体验以及创意控制方面做到了极致。 PhotoFoundry for…

大华智慧园区综合管理平台文件上传漏洞(CVE-2023-3836)

大华智慧园区综合管理平台文件上传漏洞 漏洞描述漏洞危害Fofa检索漏洞复现1. 构造poc2. 复现3. 访问shell地址 漏洞描述 大华智慧园区综合管理平台是一个基于智能物联技术的园区安防、办公、运营的数字化解决方案。 大华智慧园区综合管理平台(截至 20230713)版本中存在文件上传…

vim三种模式,文本操作(操作字符/光标,列出行号可视化块模式/多文件查看)

目录 vim--文本编辑器 功能 基本概念 命令/默认模式 插入模式 底行模式 文本操作 引入 移动光标位置 删除字符 -- x/dd 复制/粘贴字符 -- yw/yyp 替换文本 -- r / %s 底行模式 全局替换 -- /g 撤销操作 -- u / ctrlr 修改字符 -- cw 示例 跳行 -- ctrlg 底行…

uniapp原生插件之无预览静默拍照

插件介绍 无预览静默拍照&#xff0c;在用户无感觉情况下调用摄像头拍照 插件地址 无预览静默拍照 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 插件申请权限 存储卡读写权限摄像头权限 manifest.json权限列表 /* android打包配置 */"android" : {…

ps提示vcruntime140.dll无法继续执行此代码的多种解决方法分享

我在安装Photoshop软件时遇到了一个问题&#xff0c;即在运行过程中弹出了一个错误提示框&#xff0c;显示“由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码”&#xff0c;我通过查找资料了解到vcruntime140.dll是一个动态链接库文件&#xff0c;它是Visual C Redi…

MySQL主从复制---一主一从配置过程

1、mysql版本一致且后台以服务运行 2、主从都配置在[mysqld]结点下&#xff0c;都是小写 3、主机修改my.ini配置文件 配置信息说明&#xff1a; 1、主服务器唯一ID server-id1 2、启用二进制日志 log-bin自己本地的路径/data/mysqlbin log-binD:/devSoft/MySQLServer5.5…

自动化混沌工程 ChaosMeta V0.6 版本发布

混沌工程 ChaosMeta 的全新版本 V0.6.0 现已正式发布&#xff01;该版本包含了许多新特性和增强功能&#xff0c;在编排界面提供了包括流量注入、度量等各类节点的支持&#xff0c;可视化支撑演练全流程。解决混沌工程原则中“持续自动化运行实验”的最后一公里问题。 简介 Ch…