ZKP5.2 PLONK IOP

news2024/10/6 1:46:06

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)
  • 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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

- Proving (3): the wiring is correct

在这里插入图片描述

  - The W is independent of the inputs
  - Prescribed pumutation check
  • 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

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

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

相关文章

复习mysql中的事务

一个事务的开始和结尾必须是 start transaction | commit; rollback 事务特性 1.原子性:多个操作打包成一个整体,要么全部执行,要么一个都不执行。 不过这里的“一个都不执行”并不是真正的全不执行,只是看起来与没执行一样。…

会声会影2024有哪些新功能?好不好用

比如会声会影视频编辑软件,既加入光影、动态特效的滤镜效果,也提供了与色彩调整相关的LUT配置文件滤镜,可选择性大,运用起来更显灵活。会声会影在用户的陪伴下走过20余载,经过上百个版本的优化迭代,已将操作…

【数据科学赛】2023全球智能汽车AI挑战赛 #¥95000 #LLM文档问答 #视频理解

CompHub[1] 最新的比赛会第一时间在群里通知,欢迎加群交流比赛经验!(公众号回复“加群”即可) 以下内容由AI辅助生成,可能存在错误,可进入比赛主页[2]查看更多(文末阅读原文) 比赛主办方 吉利汽车集团、阿…

FreeRTOS学习day1

顾名思义 免费的实时操作系统 用法基本和Linux下的多线程编程类似 探索者开发版实验 动态创建4个任务start_task task1 task2 task3 优先级依次为1 2 3 4 (注意优先级不能为0,0是空闲任务) 我的理解:主线程start_task 主线程 task1 ta…

Linux线程--创建及等待

1.进程与线程 典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。  线程是操作系统能够进行运算调度的…

Java File与IO流学习笔记

内存中存放的都是临时数据,但是在断电或者程序终止时都会丢失 而硬盘则可以长久存储数据,即使断电,程序终止,也不会丢失 File File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文…

光学知识整理-偏振光

偏振光 目录基础概念基础概念的补充平面偏振光(线偏振光)部分偏振光圆偏振光椭圆偏振光菲涅耳公式相位关系 反射折射所引起的偏振态的改变斯托克斯倒逆关系重要参数 目录 基础概念 光是横波:光是电磁波,其电场分量(电场强度)E、磁场分量(磁…

网易面试:什么是SPI,SPI和API有什么区别?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: 什么是SPI,SPI和API有什么区别? 最近有小…

推理引擎之模型压缩浅析

目录 前言1. 模型压缩架构和流程介绍2. 低比特量化原理2.1 量化基础介绍2.2 量化方法2.3 量化算法原理2.4 讨论 3. 感知量化训练QAT原理3.1 QAT原理3.2 量化算子插入3.3 QAT训练流程3.4 QAT衍生研究3.5 讨论 4. 训练后量化PTQ4.1 动态PTQ4.2 静态PTQ4.3 KL散度实现静态PTQ4.4 量…

PyTorch入门教学——Transforms使用

1、Transforms简介 Transforms在是计算机视觉工具包torchvision下的包,常用于对图像进行预处理,提高泛化能力。具体有: 数据中心化、数据标准化、缩放、裁剪、旋转、翻转、填充、噪声添加、灰度变换、线性变换、仿射变换和亮度、饱和度及对比…

springboot 程序设计优雅退出

一 springboot优雅退出 1.1 概述 在springboot2.3版本后,实现了优雅退出功能。当server.shutdowngraceful启用时,在 web 容器关闭时,web 服务器将不再接收新请求,并将剩余活动执行完成给设置一个缓冲期。缓冲期 timeout-per-shu…

Mysql数据库 2.SQL语言 数据类型与字段约束

Mysql数据类型 数据类型:指的是数据表中的列文件支持存放的数据类型 1.数值类型 Mysql当中有多种数据类型可以存放数值,不同的类型存放的数值的范围或者形式是不同的 注:前三种数字类型我们在实际研发中用的很少,一般整数类型…

2525.根据规则将箱子分类/并查集/动态规划

2525. 根据规则将箱子分类 - 力扣(LeetCode) 给你四个整数 length ,width ,height 和 mass ,分别表示一个箱子的三个维度和质量,请你返回一个表示箱子 类别 的字符串。 如果满足以下条件,那么…

AndroidStudio如何设置中文

AndroidStudio如何设置中文 文章目录 AndroidStudio如何设置中文一、前言二、如何安装中文插件参考资料💘 一、前言 Android Studio 是一个为 Android 平台开发程序的集成开发环境(IDE)。2013年5月16日在 Google I/O 上发布,可供…

springboot+vue开发的视频弹幕网站动漫网站

springbootvue开发的视频弹幕网站动漫网站 演示视频 https://www.bilibili.com/video/BV1MC4y137Qk/?share_sourcecopy_web&vd_source11344bb73ef9b33550b8202d07ae139b 功能: 前台: 首页(猜你喜欢视频推荐)、轮播图、分类…

四、网络请求与路由

一、网络请求 1、Axios请求 Axios是一个基于promise的网络请求库 (1)安装 npm install --save axios(2)引入 import axios from "axios"全局引入 import axios from "axios" import { createApp } from …

深度学习_3_实战_房价预测

梯度 实战 代码: # %matplotlib inline import random import torch import matplotlib.pyplot as plt # from d21 import torch as d21def synthetic_data(w, b, num_examples):"""生成 Y XW b 噪声。"""X torch.normal(0,…

面试知识储备--打包工具篇(webpack和vite)

1.vite常用配置 常用配置 1.preprocessorOptions 传递给 CSS 预处理器的配置选项 2.PostCSS 也是用来处理 CSS 的,只不过它更像是一个工具箱,可以添加各种插件来处理 CSS 3.resolve.extensions 导入时想要省略的扩展名列表。默认值为 [‘.mjs’, ‘.js’…

小团队之间有哪些好用免费的多人协同办公软件

在小团队协作中,选择适合的多人协同办公软件是提高工作效率和团队协作的重要一环。幸运的是,市场上有许多大多数功能都免费的多人协同办公软件,为小团队提供了强大的协作功能和便捷的工作环境。 在本文中,我将根据自己多年的在线…

2.2.C++项目:网络版五子棋对战之数据管理模块的设计

文章目录 一、数据管理模块实现(一)功能 二、设计(一)数据库设计(二)创建user_table类 一、数据管理模块实现 (一)功能 数据管理模块主要负责对于数据库中数据进行统一的增删改查管…