ZKP6.3 Discrete-log-based Polynomial Commitments (Bulletproofs)

ZKP学习笔记

ZK-Learning MOOC课程笔记

Lecture 6: Discrete-log-based Polynomial Commitments (Yupeng Zhang)

6.3 Bulletproofs and other schemes based on discrete-log

  • KZG:

    • Pros:
      • Commitment and proof size: O(1), 1 group element
      • Verifier time: O(1) pairing
    • Cons: trusted setup
  • Bulletproofs [BCCGP'16, BBBPWM'18]

  • Transparent setup: sample random g 0 , g 1 , g 2 , . . . , g d g_0, g_1, g_2, ..., g_d g0,g1,g2,...,gd in G G G

  • High-level idea

    • Example: 3-degree polynomial

    • Degree reduction: 3 degree -> 1 degree -> constant degree

    • Cross term to commit L and R

    • Similar with FFT

  • Correctness

  • Eval and Verify

  • Properties of Bulletproofs

    • Keygen: O(d), transparent setup!
    • Commit: O(d) group exponentiations, O(1) commitment size
    • Eval: O(d) group exponentiations (non-interactive via Fiat Shamir)
    • Proof size: O(log d)
    • Verifier time: O(d)
  • Other improvement

    • Hyrax [Wahby-Tzialla-shelat-Thaler-Walfish'18]
      • Improves the verifier time to O(d) by representing the coefficients as a 2-D matrix
      • Proof size: O( d \sqrt{d} d )
    • Dory [Lee'2021]
      • Base on pairing
      • Improving verifier time to O(log d)
      • Key idea: delegating the structured verifier computation to the prover using inner pairing product arguments [BMMTV'2021]
      • Also improves the prover time to O( d \sqrt{d} d )exponentiations plus O(d) field operations
    • Dark [Bünz-Fisch-Szepieniec'20]
      • Based on group of unknown order
      • Achieves O(log d) proof size and verifier time
        • Delegate some part of verifier to the prover
  • Summary

相关推荐
能不能别报错13 小时前
K8s学习笔记(二):Pod
笔记·学习·kubernetes
呱呱巨基13 小时前
C/C++ 内存管理
c++·笔记·学习
jingling55514 小时前
uniapp | 快速上手ThorUI组件
前端·笔记·前端框架·uni-app
lingggggaaaa15 小时前
小迪安全v2023学习笔记(八十二讲)—— Java组件安全&Solr&Shiro&Log4j&CVE复现
笔记·学习·安全
好望角雾眠15 小时前
第四阶段C#通讯开发-1:通讯基础理论,串口,通讯模式,单位转换,代码示例
开发语言·笔记·c#·串口·通讯
贝塔实验室17 小时前
两种常用的抗单粒子翻转动态刷新方法
论文阅读·经验分享·笔记·科技·学习·程序人生·fpga开发
范纹杉想快点毕业1 天前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
茯苓gao1 天前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习
easy20201 天前
机器学习的本质:从跑模型到真正解决问题
笔记·学习·机器学习
汇能感知1 天前
摄像头模组在智能家居设备中的应用
经验分享·笔记·科技