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

相关推荐
IT古董1 小时前
【WMS学习笔记系列】03-功能模块设计
笔记·学习·系统架构
vivo互联网技术3 小时前
协同文档下的 Agent 协作闭环:可回滚、可对比的透明化编辑实现
人工智能·笔记·agent
Wang's Blog3 小时前
PostgreSQL笔记27: 双缓存架构下的内存管理与性能观测实践
笔记·缓存·postgresql
Wang's Blog3 小时前
PostgreSQL笔记22: WAL日志与崩溃恢复原理
数据库·笔记·postgresql
程序猿炎义4 小时前
【llm-algo-leetcode学习笔记】显存与性能认知底座
笔记·学习·leetcode
摇滚侠5 小时前
《Docker技术入门与实战 第4版》阅读笔记 6 使用 Dockerfile 创建镜像 2
java·笔记·docker
树的枝5 小时前
【STM32】05.TIM定时器
笔记·stm32·单片机·嵌入式硬件
不会代码的小猴5 小时前
6. Qt网络编程
开发语言·c++·笔记·qt·算法
tq10866 小时前
从阿罗不可能定理到所有制:动态协调与资源再配置的理论逻辑
笔记
峥无16 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl