ZKP11.4 Use CI to instantiate Fiat-Shamir

ZKP学习笔记

ZK-Learning MOOC课程笔记

Lecture 11: From Practice to Theory (Guest Lecturer: Alex Lombardi)

11.4 Use CI to instantiate Fiat-Shamir

  • Avoid Bad Challenges

    • Def: Given false claim x x x and a first message α \alpha α, a challenge β \beta β is "bad" if there exists a prover message g a m m a gamma gamma making V V V accept
    • We want to say: if the (3 message) interactive protocol is sound, then (for all x x x, α \alpha α) most β \beta β are not bad. True for statistically sound IPs.
    • Exactly what CI is good for! Define relation R x = α , β : β i s b a d R_x = {\alpha, \beta: \beta is bad} Rx=α,β:βisbad. Then if h h h is CI for R x R_x Rx (when x ∉ L x \notin L x∈/L), Π F S \Pi_{FS} ΠFS is sound using h h h!
    • Protocols with more than 3 messages: round-by-round soundness (each round has a type of "bad challenge" to avoid).
    • Main technical challenges:
      • Sometimes our IP doesn't have statistical soundness.
      • We can only build CI for relations R R R that can be decided efficiently
  • Important example: SNARGs via IOPs (PCPs)

    • SNARGs from PCPs [Kilian, Micali]

      • Candidate SNARG: apply Fiat-Shamir to this protocol!
      • Simplified (less efficient) version of modern SNARKs you've learned about.
      • Not statistically sound, so it's not clear how to analyze FS without random oracles.
    • SNARGs for Batch NP

    • Interactive Batch Arguments from PCPs [CJJ21]

      • SSB Commitments

      • Interactive Batch Arguments from PCPs [CJJ21]

  • Summary of Fiat-Shamir without RO

    • Use hash functions that are CI for appropriate functions/relations
      • CCHLRRW19,PS19,BKM20,JJ21,HLR21

    • Carefully show that FS-soundness for protocols of interest follows from compatible forms of CI
      • CCHLRRW19\]: (non-succinct) NIZK

      • CJJ21\]: batch NP arguments

      • Characterize which protocols can be FS-compiled (we know it doesn't work in general [Bar01, GK03])
      • SNARGs for NP from falsifiable assumptions?
相关推荐
optimistic_chen4 分钟前
【Java EE进阶 --- SpringBoot】Mybatis - plus 操作数据库
数据库·spring boot·笔记·java-ee·mybatis·mybatis-plus
凉、介23 分钟前
ARM 总线技术 —— AMBA 入门
arm开发·笔记·学习
日更嵌入式的打工仔34 分钟前
嵌入式入门:APP+BSP+HAL 三层分级架构浅析
笔记·单片机·嵌入式硬件·学习
长桥夜波1 小时前
【第十八周】机器学习笔记07
人工智能·笔记·机器学习
摇滚侠1 小时前
Spring Boot 3零基础教程,yml文件中配置和类的属性绑定,笔记15
spring boot·redis·笔记
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 HTTP 缓存机制 笔记29
spring boot·笔记·缓存
大白的编程日记.1 小时前
【Linux学习笔记】线程同步与互斥之生产者消费者模型
linux·笔记·学习
新子y1 小时前
【小白笔记】strip的含义
笔记·python
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 内容协商 接口返回 YAML 格式的数据 笔记35
spring boot·笔记·后端
Chunyyyen2 小时前
【第十八周】自然语言处理的学习笔记03
笔记·学习·自然语言处理