Zero Knowledge Succinct Arguments: an Introduction Alessandro - - PowerPoint PPT Presentation

zero knowledge succinct arguments an introduction
SMART_READER_LITE
LIVE PREVIEW

Zero Knowledge Succinct Arguments: an Introduction Alessandro - - PowerPoint PPT Presentation

Zero Knowledge Succinct Arguments: an Introduction Alessandro Chiesa UC Berkeley 1 Motivation 2 3 cryptography is a powerful tool for building secure systems 3 cryptography is a powerful tool for building secure systems much of the


slide-1
SLIDE 1

Alessandro Chiesa UC Berkeley

1

Zero Knowledge Succinct Arguments: an Introduction

slide-2
SLIDE 2

2

Motivation

slide-3
SLIDE 3

3

slide-4
SLIDE 4

3

cryptography is a powerful tool for building secure systems

slide-5
SLIDE 5

3

cryptography is a powerful tool for building secure systems much of the cryptography used today

  • ffers security properties for data
slide-6
SLIDE 6

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality

m

slide-7
SLIDE 7

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality

Enc(m)

slide-8
SLIDE 8

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality authenticity

Alice Bob m Enc(m)

slide-9
SLIDE 9

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality authenticity

Alice Bob m Enc(m) Sig(m)

slide-10
SLIDE 10

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality authenticity

Alice Bob

what about security properties for computation?

m Enc(m) Sig(m)

slide-11
SLIDE 11

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality authenticity

Alice Bob

what about security properties for computation? cryptographic proofs offer privacy-preserving integrity for computation

m Enc(m) Sig(m)

slide-12
SLIDE 12

3

cryptography is a powerful tool for building secure systems

Alice Bob

much of the cryptography used today

  • ffers security properties for data

confidentiality authenticity

Alice Bob

what about security properties for computation? cryptographic proofs offer privacy-preserving integrity for computation

m Enc(m) Sig(m)

  • ne of the exciting crypto deployment frontiers today
slide-13
SLIDE 13

Cryptographic Proofs

4

slide-14
SLIDE 14

Cryptographic Proofs

4

a powerful defense against malicious behavior especially in distributed protocols

slide-15
SLIDE 15

Cryptographic Proofs

4

1980s a powerful defense against malicious behavior securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

slide-16
SLIDE 16

Cryptographic Proofs

4

1980s a powerful defense against malicious behavior

passive security

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

slide-17
SLIDE 17

Cryptographic Proofs

4

1980s a powerful defense against malicious behavior

passive security

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

  • zero knowledge
  • proof of knowledge

Key properties

slide-18
SLIDE 18

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge

Key properties

slide-19
SLIDE 19

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge

Key properties

slide-20
SLIDE 20

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

I know x s.t. y=F(x)

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge

Key properties

slide-21
SLIDE 21

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

I know x s.t. y=F(x) proof

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge

Key properties

slide-22
SLIDE 22

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

I know x s.t. y=F(x) proof

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge
  • non-interactive
  • publicly verifiable
  • succinct

Key properties Additional key properties

slide-23
SLIDE 23

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

I know x s.t. y=F(x) proof

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge
  • non-interactive
  • publicly verifiable
  • succinct

Key properties Additional key properties zk-SNARK

slide-24
SLIDE 24

Cryptographic Proofs

4

1980s 2010s a powerful defense against malicious behavior

passive security

I know x s.t. y=F(x) proof

securely compute y=F(x1,…,xn) via a multi-party protocol especially in distributed protocols

active security

[GMW87]

blockchain technology

  • zero knowledge
  • proof of knowledge
  • non-interactive
  • publicly verifiable
  • succinct

Key properties Additional key properties zk-SNARK

slide-25
SLIDE 25

5

Origins

slide-26
SLIDE 26

Zero Knowledge Proofs

6

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-27
SLIDE 27

Zero Knowledge Proofs

6

P V

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-28
SLIDE 28

Zero Knowledge Proofs

6

P V

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-29
SLIDE 29

Zero Knowledge Proofs

6

P V

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-30
SLIDE 30

Zero Knowledge Proofs

6

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-31
SLIDE 31

Zero Knowledge Proofs

6

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-32
SLIDE 32

Zero Knowledge Proofs

6

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-33
SLIDE 33

Zero Knowledge Proofs

6

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

[GMR85]

slide-34
SLIDE 34

Zero Knowledge Proofs

6

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’, Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x)

simulator

[GMR85]

slide-35
SLIDE 35

Zero Knowledge Proofs

[GMR85]

7

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

slide-36
SLIDE 36

Zero Knowledge Proofs

[GMR85]

7

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

[GMR85]: ZKPs for certain number-theoretic problems (QR,QNR)

slide-37
SLIDE 37

Zero Knowledge Proofs

[GMR85]

7

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

If one-way functions exist: [GMR85]: ZKPs for certain number-theoretic problems (QR,QNR)

slide-38
SLIDE 38

Zero Knowledge Proofs

[GMR85]

7

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

[GMW86]: ZKPs for all poly-time computable functions F If one-way functions exist: [GMR85]: ZKPs for certain number-theoretic problems (QR,QNR)

slide-39
SLIDE 39

Zero Knowledge Proofs

[GMR85]

7

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

[GMW86]: ZKPs for all poly-time computable functions F If one-way functions exist: [BGGHKMR88]: ZKPs for all poly-space computable functions F [GMR85]: ZKPs for certain number-theoretic problems (QR,QNR)

slide-40
SLIDE 40

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive.

slide-41
SLIDE 41

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive. BUT

slide-42
SLIDE 42

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive. BUT interactive

slide-43
SLIDE 43

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive. BUT interactive not succinct

slide-44
SLIDE 44

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive. BUT interactive not succinct

communication complexity & verification complexity are proportional to time(F)

slide-45
SLIDE 45

Zero Knowledge Proofs

[GMR85]

8

P V

“I know x s.t. y=F(x)”

F function y claimed output x private input F function y claimed output

rover erifier

Powerful cryptographic primitive. BUT interactive not succinct

communication complexity & verification complexity are proportional to time(F) for typical F size(F) ≪ time(F)

slide-46
SLIDE 46

Zero Knowledge Succinct Proofs

9

[Kilian92][Micali94]

slide-47
SLIDE 47

Zero Knowledge Succinct Proofs

9

P

V

“I know x s.t. y=F(x)”

[Kilian92][Micali94]

slide-48
SLIDE 48

Zero Knowledge Succinct Proofs

9

P

V

“I know x s.t. y=F(x)” completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’ Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x) succinctness

V(F,y) runs in time proportional to |F|+|y| (not time(F)+|y|)

[Kilian92][Micali94]

slide-49
SLIDE 49

Zero Knowledge Succinct Proofs

9

P

V

“I know x s.t. y=F(x)” completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’ Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x) succinctness

V(F,y) runs in time proportional to |F|+|y| (not time(F)+|y|)

[Kilian92][Micali94]

*

slide-50
SLIDE 50

Zero Knowledge Succinct Proofs

9

P

V

“I know x s.t. y=F(x)” completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’ Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x) succinctness

V(F,y) runs in time proportional to |F|+|y| (not time(F)+|y|)

[Kilian92][Micali94]

* * must relax to computational soundness: ∀ PPT P’ ... [GH98]

slide-51
SLIDE 51

Zero Knowledge Succinct Proofs

9

P

V

“I know x s.t. y=F(x)” completeness

∃ x: y=F(x) → Pr[P(F,y,x) convinces V(F,y)]=1

soundness

∄ x: y=F(x) → ∀ P’ Pr[P’ convinces V(F,y)]≃0

zero knowledge ∃ x: y=F(x) → ∀ V’, S(V',F,y) ≃ view of V' with P(F,y,x) succinctness

V(F,y) runs in time proportional to |F|+|y| (not time(F)+|y|)

[Kilian92][Micali94]

* * must relax to computational soundness: ∀ PPT P’ ... [GH98]

Arguments

slide-52
SLIDE 52

Achieving Succinctness

10

slide-53
SLIDE 53

Achieving Succinctness

10

Zero Knowledge Succinct Proof

slide-54
SLIDE 54

Achieving Succinctness

10

[Kilian92]

Zero Knowledge Succinct Proof

slide-55
SLIDE 55

Achieving Succinctness

10

Probabilistically Checkable Proof

[BFLS91][FGLSS96][AS92][ALMSS92]

[Kilian92]

Zero Knowledge Succinct Proof

slide-56
SLIDE 56

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

[Kilian92]

Zero Knowledge Succinct Proof

slide-57
SLIDE 57

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

[Kilian92]

Zero Knowledge Succinct Proof

slide-58
SLIDE 58

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

[Kilian92]

Zero Knowledge Succinct Proof

slide-59
SLIDE 59

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

[Kilian92]

Zero Knowledge Succinct Proof

slide-60
SLIDE 60

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

P

[Kilian92]

Zero Knowledge Succinct Proof

COM

slide-61
SLIDE 61

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q

P

[Kilian92]

Zero Knowledge Succinct Proof

COM

slide-62
SLIDE 62

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

slide-63
SLIDE 63

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

slide-64
SLIDE 64

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

interactive not succinct TOFIX

slide-65
SLIDE 65

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

interactive not succinct TOFIX

slide-66
SLIDE 66

Achieving Succinctness

10

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

bad concrete efficiency interactive not succinct TOFIX

slide-67
SLIDE 67

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

bad concrete efficiency interactive not succinct TOFIX

slide-68
SLIDE 68

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

bad concrete efficiency interactive not succinct TOFIX

slide-69
SLIDE 69

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-70
SLIDE 70

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-71
SLIDE 71

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-72
SLIDE 72

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

P

COM

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-73
SLIDE 73

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

P

COM

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-74
SLIDE 74

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

Q

P

COM

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-75
SLIDE 75

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

Q

P

COM DECOM

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-76
SLIDE 76

Achieving Non-Interactivity

11

Probabilistically Checkable Proof

P

Q D

[BFLS91][FGLSS96][AS92][ALMSS92]

Q D

P

[Kilian92]

Zero Knowledge Succinct Proof

COM DECOM

[Micali94]

Zero Knowledge SNARK

Q D

P

COM DECOM

Random Oracle

(SHA-256)

(the first)

bad concrete efficiency interactive not succinct TOFIX

slide-77
SLIDE 77

12

Modern Era

slide-78
SLIDE 78

The Quest for ZK-SNARKs without Random Oracles

13

slide-79
SLIDE 79

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11]

slide-80
SLIDE 80

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

slide-81
SLIDE 81

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent [D 92]

slide-82
SLIDE 82

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent [D 92]

slide-83
SLIDE 83

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions [D 92]

slide-84
SLIDE 84

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] [D 92]

slide-85
SLIDE 85

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] based on PCPs [D 92]

slide-86
SLIDE 86

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions Linear-Only Encryption/Encoding [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] based on PCPs [D 92]

slide-87
SLIDE 87

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions Linear-Only Encryption/Encoding [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] [G 10] [L 12] [BCIOP 13] [GGPR 13] [PGHR 13] [BCGTV 13] [BCTV 14a] [DFGK 14] [WSRBW 15] [BBFR 15] [BCTV 14b] [CTV 15] [CFHKKNPZ 15] [BISW 17] ⁞ based on PCPs [D 92]

slide-88
SLIDE 88

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions Linear-Only Encryption/Encoding Generic Group Model [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] [G 10] [L 12] [BCIOP 13] [GGPR 13] [PGHR 13] [BCGTV 13] [BCTV 14a] [DFGK 14] [G 16] [WSRBW 15] [BBFR 15] [BCTV 14b] [CTV 15] [CFHKKNPZ 15] [BISW 17] ⁞ based on PCPs [D 92]

slide-89
SLIDE 89

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions Linear-Only Encryption/Encoding Generic Group Model [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] [G 10] [L 12] [BCIOP 13] [GGPR 13] [PGHR 13] [BCGTV 13] [BCTV 14a] [DFGK 14] [G 16] [WSRBW 15] [BBFR 15] [BCTV 14b] [CTV 15] [CFHKKNPZ 15] [BISW 17] ⁞ based on PCPs based on linear PCPs [D 92]

slide-90
SLIDE 90

strike a different tradeoff…

The Quest for ZK-SNARKs without Random Oracles

13

Negative result: constructing them "requires strong assumptions" [GW11] Positive results (under strong assumptions):

Knowledge of Exponent Extractable Hash Functions Linear-Only Encryption/Encoding Generic Group Model [BCCT 12] [DFH 12] [GLR 12] [BC 12] [BCCT 13] [BCCGLRT 16] [G 10] [L 12] [BCIOP 13] [GGPR 13] [PGHR 13] [BCGTV 13] [BCTV 14a] [DFGK 14] [G 16] [WSRBW 15] [BBFR 15] [BCTV 14b] [CTV 15] [CFHKKNPZ 15] [BISW 17] ⁞ based on PCPs based on linear PCPs [D 92]

slide-91
SLIDE 91

ZK-SNARKs from Linear PCPs

14

slide-92
SLIDE 92

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

P

Q D

h~ ↵, ·i

slide-93
SLIDE 93

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

P

Q D

h~ ↵, ·i

slide-94
SLIDE 94

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

slide-95
SLIDE 95

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

slide-96
SLIDE 96

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

slide-97
SLIDE 97

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

slide-98
SLIDE 98

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

pk vk

slide-99
SLIDE 99

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

slide-100
SLIDE 100

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc

slide-101
SLIDE 101

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc

h~ ↵, ·i

P

slide-102
SLIDE 102

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc Hom Eval

h~ ↵, ·i

P

slide-103
SLIDE 103

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc Enc Hom Eval

h~ ↵, ·i

P

slide-104
SLIDE 104

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc Enc Hom Eval

h~ ↵, ·i

D

P

slide-105
SLIDE 105

ZK-SNARKs from Linear PCPs

14

Linear PCP

[IKO07][BCIOP13]

[BCIOP13]

Zero Knowledge SNARK

P

Q D

h~ ↵, ·i

P

V Setup

pk vk

linear-only encodings

Q

pk vk

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

slide-106
SLIDE 106

15

ZK-SNARKs from Linear PCPs

slide-107
SLIDE 107

15

+

+

arithmetic circuit

C

ZK-SNARKs from Linear PCPs

slide-108
SLIDE 108

15

Setup

+

+

arithmetic circuit

C

ZK-SNARKs from Linear PCPs

slide-109
SLIDE 109

15

Q Setup

+

+

arithmetic circuit

C

ZK-SNARKs from Linear PCPs

slide-110
SLIDE 110

15

Q

pkC vkC

Enc Enc

Setup

+

+

arithmetic circuit proving key verification key

C

ZK-SNARKs from Linear PCPs

slide-111
SLIDE 111

15

Q

pkC vkC

Enc Enc

Setup

+

+

arithmetic circuit

Prover

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

slide-112
SLIDE 112

15

Q

pkC vkC

Enc Enc

h~ ↵, ·i

P

Setup

+

+

arithmetic circuit

Prover

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

slide-113
SLIDE 113

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

P

Setup

+

+

arithmetic circuit

Prover

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

slide-114
SLIDE 114

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

slide-115
SLIDE 115

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

slide-116
SLIDE 116

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

libsnark's implementation

  • f [Groth EUROCRYPT '16]
slide-117
SLIDE 117

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0

ZK-SNARKs from Linear PCPs

3 group elts (128 bytes) libsnark's implementation

  • f [Groth EUROCRYPT '16]
slide-118
SLIDE 118

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0 3 pairings (3 ms)

ZK-SNARKs from Linear PCPs

3 group elts (128 bytes) libsnark's implementation

  • f [Groth EUROCRYPT '16]
slide-119
SLIDE 119

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0 3 pairings (3 ms)

ZK-SNARKs from Linear PCPs

3 group elts (128 bytes) 0.1ms / gate 1KB / gate libsnark's implementation

  • f [Groth EUROCRYPT '16]
slide-120
SLIDE 120

15

Q

pkC vkC

Enc Enc Hom Eval

h~ ↵, ·i

ZeroTest D

P

Setup

+

+

arithmetic circuit

Prover Verifier

proving key verification key

C

input x witness w Given public C,x ∃ secret w s.t. C(x,w)=0 3 pairings (3 ms)

ZK-SNARKs from Linear PCPs

3 group elts (128 bytes) 0.1ms / gate 1KB / gate

FFT MULTIEXP

libsnark's implementation

  • f [Groth EUROCRYPT '16]
slide-121
SLIDE 121

Which approach is better?

16

slide-122
SLIDE 122

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

slide-123
SLIDE 123

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

slide-124
SLIDE 124

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

FFT MEXP FFT

slide-125
SLIDE 125

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

  • slower verifier
  • bigger proofs
  • faster verifier

3 pairings (3ms)

  • smaller proofs

3 group elts (128 bytes)

FFT MEXP FFT

slide-126
SLIDE 126

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

trapdoor no trapdoor

  • slower verifier
  • bigger proofs
  • faster verifier

3 pairings (3ms)

  • smaller proofs

3 group elts (128 bytes)

FFT MEXP FFT

slide-127
SLIDE 127

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

no trapdoor

  • slower verifier
  • bigger proofs
  • faster verifier

3 pairings (3ms)

  • smaller proofs

3 group elts (128 bytes)

[BCGTV15]

FFT MEXP FFT

slide-128
SLIDE 128

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

no trapdoor

  • slower verifier
  • bigger proofs
  • faster verifier

3 pairings (3ms)

  • smaller proofs

3 group elts (128 bytes)

[BCGTV15]

ceremony

FFT MEXP FFT

slide-129
SLIDE 129

Which approach is better?

16

Linear PCP

P

Q

D

h~ ↵, ·i

P

V Setup

pk vk

PCP

P P

V

RO

memory intensive

no trapdoor

  • slower verifier
  • bigger proofs
  • faster verifier

3 pairings (3ms)

  • smaller proofs

3 group elts (128 bytes)

[BCGTV15]

ceremony

FFT MEXP FFT

deployed today

slide-130
SLIDE 130

17

Frontiers

slide-131
SLIDE 131

Authenticated Inputs

18

slide-132
SLIDE 132

Authenticated Inputs

18

x

slide-133
SLIDE 133

Authenticated Inputs

18

Hash

h

x

slide-134
SLIDE 134

Authenticated Inputs

18

Setup C

pkC vkC

Hash

h

x

slide-135
SLIDE 135

Authenticated Inputs

18

P

Setup C

pkC vkC

Hash

h

x

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h

slide-136
SLIDE 136

Authenticated Inputs

18

P

V Setup C

pkC vkC

Hash

h

x

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h

slide-137
SLIDE 137

Authenticated Inputs

18

P

V Setup C D Setup

pkC vkC pkD vkD

Hash

h

x

P

V

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h Given public D,h ∃ secret x,w s.t. D(x,w)=0 & Hash(x)=h

slide-138
SLIDE 138

Authenticated Inputs

18

P

V Setup C D Setup

pkC vkC pkD vkD

Hash

h

x

P

V

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h Given public D,h ∃ secret x,w s.t. D(x,w)=0 & Hash(x)=h

  • generic uses of ZK-SNARKs are expensive
slide-139
SLIDE 139

Authenticated Inputs

18

P

V Setup C D Setup

pkC vkC pkD vkD

Hash

h

x

P

V

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h Given public D,h ∃ secret x,w s.t. D(x,w)=0 & Hash(x)=h

  • generic uses of ZK-SNARKs are expensive
  • better: co-design Hash and SNARK [FFGKOP CCS '16]
slide-140
SLIDE 140

Authenticated Inputs

18

P

V Setup C D Setup

pkC vkC pkD vkD

Hash

h

x

P

V

Given public C,h ∃ secret x,w s.t. C(x,w)=0 & Hash(x)=h Given public D,h ∃ secret x,w s.t. D(x,w)=0 & Hash(x)=h

  • generic uses of ZK-SNARKs are expensive
  • better: co-design Hash and SNARK [FFGKOP CCS '16]
  • open: preserve ZK?
slide-141
SLIDE 141

Post-Quantum Security

19

slide-142
SLIDE 142

Post-Quantum Security

19

PCP

P P

V

RO

slide-143
SLIDE 143

Post-Quantum Security

19

PCP

P P

V

RO

Looks solid.

slide-144
SLIDE 144

Post-Quantum Security

19

Linear PCP

P

Q

D

h~ ↵, ·i

PCP

P P

V

RO

P

V Setup

pk vk

Looks solid.

slide-145
SLIDE 145

Post-Quantum Security

19

Linear PCP

P

Q

D

h~ ↵, ·i

PCP

P P

V

RO

P

V Setup

pk vk

Looks solid.

Based on hardness of DLOG in EC groups.

slide-146
SLIDE 146

Post-Quantum Security

19

Linear PCP

P

Q

D

h~ ↵, ·i

PCP

P P

V

RO

P

V Setup

pk vk

Looks solid.

[BISW EUROCRYPT '17] Based on hardness of DLOG in EC groups.

P

V Setup

pk vk

slide-147
SLIDE 147

Post-Quantum Security

19

Linear PCP

P

Q

D

h~ ↵, ·i

PCP

P P

V

RO

P

V Setup

pk vk

Looks solid.

[BISW EUROCRYPT '17] Based on hardness of DLOG in EC groups. Lattice-based privately-verifiable ZK-SNARK

P

V Setup

pk vk

slide-148
SLIDE 148

Post-Quantum Security

19

Linear PCP

P

Q

D

h~ ↵, ·i

PCP

P P

V

RO

P

V Setup

pk vk

Looks solid.

[BISW EUROCRYPT '17] Based on hardness of DLOG in EC groups. Lattice-based privately-verifiable ZK-SNARK

OPEN: public?

P

V Setup

pk vk

slide-149
SLIDE 149

PCP-Based ZK-SNARKs

20

slide-150
SLIDE 150

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

slide-151
SLIDE 151

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

succinct ✓

slide-152
SLIDE 152

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

succinct non-interactive ✓ ✓

slide-153
SLIDE 153

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

succinct non-interactive no setup ✓ ✓ ✓

slide-154
SLIDE 154

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

succinct non-interactive no setup post-quantum secure ✓ ✓ ✓ ✓

slide-155
SLIDE 155

PCP-Based ZK-SNARKs

20

PCP

P

ZK-SNARK

P

V

RO

succinct non-interactive no setup post-quantum secure terrible concrete efficiency ✓ ✓ ✓ ✓

😮

slide-156
SLIDE 156

Interactive Oracle Proofs

21

[BCS16][RRR16]

slide-157
SLIDE 157

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-158
SLIDE 158

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-159
SLIDE 159

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-160
SLIDE 160

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-161
SLIDE 161

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-162
SLIDE 162

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

slide-163
SLIDE 163

Interactive Oracle Proofs

21

P

Q D

[BCS16][RRR16]

The verifier can simultaneously leverage randomness, interaction, and probabilistic checking.

slide-164
SLIDE 164

ZK-SNARKs From IOPs

22

slide-165
SLIDE 165

ZK-SNARKs From IOPs

22

Probabilistically Checkable Proof

P P

V

RO [ M i c a l i 9 4 ]

Zero Knowledge SNARK

slide-166
SLIDE 166

ZK-SNARKs From IOPs

22

Probabilistically Checkable Proof

P P

V

RO

Interactive Oracle Proof

P

[ M i c a l i 9 4 ] [ B C S 1 6 ]

Zero Knowledge SNARK

slide-167
SLIDE 167

ZK-SNARKs From IOPs

22

Probabilistically Checkable Proof

P P

V

RO

Interactive Oracle Proof

P

[ M i c a l i 9 4 ] [ B C S 1 6 ]

Q: any efficiency gains?

Zero Knowledge SNARK

slide-168
SLIDE 168

IOPs are more efficient than PCPs

23

slide-169
SLIDE 169

IOPs are more efficient than PCPs

23

P P

slide-170
SLIDE 170

IOPs are more efficient than PCPs

23

P P

best proof length without ZK

slide-171
SLIDE 171

IOPs are more efficient than PCPs

23

P P

best proof length without ZK quasilinear

[BS08][Din07]

slide-172
SLIDE 172

IOPs are more efficient than PCPs

23

P P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

slide-173
SLIDE 173

IOPs are more efficient than PCPs

23

P P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK

slide-174
SLIDE 174

IOPs are more efficient than PCPs

23

P P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK polynomial

[KPT97]

slide-175
SLIDE 175

IOPs are more efficient than PCPs

23

P P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK polynomial

[KPT97]

quasilinear

[BCGV16]

slide-176
SLIDE 176

IOPs are more efficient than PCPs

23

P

cheaper ZK… [BCFGRS16][BCFS17]

P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK polynomial

[KPT97]

quasilinear

[BCGV16]

slide-177
SLIDE 177

IOPs are more efficient than PCPs

23

P

cheaper ZK… [BCFGRS16][BCFS17]

P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK polynomial

[KPT97]

quasilinear

[BCGV16]

Encouraging progress, and it already improved working prototypes.

slide-178
SLIDE 178

IOPs are more efficient than PCPs

23

P

cheaper ZK… [BCFGRS16][BCFS17]

P

best proof length without ZK quasilinear

[BS08][Din07]

linear

[BCGRS16]

best proof length with ZK polynomial

[KPT97]

quasilinear

[BCGV16]

Encouraging progress, and it already improved working prototypes. Still more research is needed for practical deployment.

slide-179
SLIDE 179

24

slide-180
SLIDE 180

24

Cryptographic Proofs

slide-181
SLIDE 181

24

Mathematics

low-degree testing additive combinatorics Fourier analysis algebraic geometry coding theory

Cryptographic Proofs

slide-182
SLIDE 182

24

Mathematics Complexity Theory

low-degree testing additive combinatorics Fourier analysis algebraic geometry coding theory interactive proofs probabilistically checkable proofs zero knowledge

Cryptographic Proofs

slide-183
SLIDE 183

24

Mathematics Complexity Theory Cryptography

low-degree testing additive combinatorics Fourier analysis algebraic geometry coding theory interactive proofs probabilistically checkable proofs zero knowledge function commitments linear-only encryption privacy-preserving payments

Cryptographic Proofs

slide-184
SLIDE 184

24

Mathematics Complexity Theory Cryptography Security

low-degree testing additive combinatorics Fourier analysis algebraic geometry coding theory interactive proofs probabilistically checkable proofs zero knowledge function commitments linear-only encryption cryptocurrencies privacy-preserving payments

Cryptographic Proofs

slide-185
SLIDE 185

25

Thanks!

I know x s.t. y=F(x) proof

slide-186
SLIDE 186

26

slide-187
SLIDE 187

A Simple Linear PCP

27

P

Q D

h~ ↵, ·i

Def: The language L consists of tuples (p1,…,pm) where each pi is a quadratic polynomial

  • ver F in n variables such that there is an

assignment w=(w1,…,wn) such that p1(w) = … = pm(w) =0.

Theorem: The language L has a linear PCP with

  • proof length (n+1)2,
  • query complexity 3,
  • soundness error 2/|F|.
slide-188
SLIDE 188

A Simple Linear PCP

slide-189
SLIDE 189

A Simple Linear PCP

  • Bundling. Let r1, . . . , rm 2 F be random and ! = (!1, . . . , !n) 2 Fn.

If p1(!) = · · · = pm(!) = 0 then Pm

i=1 ripi(!) = 0 with probability 1.

If 9j 2 [m] s.t. pj(!) 6= 0 then Pm

i=1 ripi(!) = 0 with probability  1/|F|.

slide-190
SLIDE 190

A Simple Linear PCP

  • Bundling. Let r1, . . . , rm 2 F be random and ! = (!1, . . . , !n) 2 Fn.

If p1(!) = · · · = pm(!) = 0 then Pm

i=1 ripi(!) = 0 with probability 1.

If 9j 2 [m] s.t. pj(!) 6= 0 then Pm

i=1 ripi(!) = 0 with probability  1/|F|.

P 9 2 6 P  |

  • Prover. Given an assignment ! = (!1, . . . , !n) 2 Fn, the prover writes

the linear function: ~ ↵ := B B B B B @ 1 !1 !2 . . . !n !1 !2

1

!1!2 . . . !1!n !2 !2!1 !2

2

. . . !2!n . . . . . . . . . ... . . . !n !n!1 !n!2 . . . !2

n

1 C C C C C A .

slide-191
SLIDE 191

A Simple Linear PCP

  • Verifier. The verifier has oracle access to some linear function

~ ↵ =        ↵0,0 ↵0,1 ↵0,2 . . . ↵0,n ↵1,0 ↵1,1 ↵1,2 . . . ↵1,n ↵2,0 ↵2,1 ↵2,2 . . . ↵2,n . . . . . . . . . ... . . . ↵n,0 ↵n,1 ↵n,2 . . . ↵n,n        . and thinks of each quadratic polynomial pi as pi =        pi,0,0 pi,0,1 pi,0,2 . . . pi,0,n pi,1,1 pi,1,2 . . . pi,1,n pi,2,2 . . . pi,2,n . . . . . . . . . ... . . . . . . pi,n,n        .

  • Bundling. Let r1, . . . , rm 2 F be random and ! = (!1, . . . , !n) 2 Fn.

If p1(!) = · · · = pm(!) = 0 then Pm

i=1 ripi(!) = 0 with probability 1.

If 9j 2 [m] s.t. pj(!) 6= 0 then Pm

i=1 ripi(!) = 0 with probability  1/|F|.

P 9 2 6 P  |

  • Prover. Given an assignment ! = (!1, . . . , !n) 2 Fn, the prover writes

the linear function: ~ ↵ := B B B B B @ 1 !1 !2 . . . !n !1 !2

1

!1!2 . . . !1!n !2 !2!1 !2

2

. . . !2!n . . . . . . . . . ... . . . !n !n!1 !n!2 . . . !2

n

1 C C C C C A .

slide-192
SLIDE 192

A Simple Linear PCP

  • Verifier. The verifier has oracle access to some linear function

~ ↵ =        ↵0,0 ↵0,1 ↵0,2 . . . ↵0,n ↵1,0 ↵1,1 ↵1,2 . . . ↵1,n ↵2,0 ↵2,1 ↵2,2 . . . ↵2,n . . . . . . . . . ... . . . ↵n,0 ↵n,1 ↵n,2 . . . ↵n,n        . and thinks of each quadratic polynomial pi as pi =        pi,0,0 pi,0,1 pi,0,2 . . . pi,0,n pi,1,1 pi,1,2 . . . pi,1,n pi,2,2 . . . pi,2,n . . . . . . . . . ... . . . . . . pi,n,n        .

Verifier (cont’d). The verifier samples r1, . . . , rm 2 F and s0, . . . , sn 2 F at random and then generates three queries: ~ q1 := Pm

i=1 ripi;

~ q2 := (s0, s1, . . . , sn) ⌦ (1, 0, . . . , 0); ~ q3 := (s0, s1, . . . , sn) ⌦ (s0, s1, . . . , sn). Upon receiving answers a1 := h~ ↵, ~ q1i, a2 := h~ ↵, ~ q2i, a3 := h~ ↵, ~ q3i, check that a1 = 0 and a2

2 = a3 .

  • Bundling. Let r1, . . . , rm 2 F be random and ! = (!1, . . . , !n) 2 Fn.

If p1(!) = · · · = pm(!) = 0 then Pm

i=1 ripi(!) = 0 with probability 1.

If 9j 2 [m] s.t. pj(!) 6= 0 then Pm

i=1 ripi(!) = 0 with probability  1/|F|.

P 9 2 6 P  |

  • Prover. Given an assignment ! = (!1, . . . , !n) 2 Fn, the prover writes

the linear function: ~ ↵ := B B B B B @ 1 !1 !2 . . . !n !1 !2

1

!1!2 . . . !1!n !2 !2!1 !2

2

. . . !2!n . . . . . . . . . ... . . . !n !n!1 !n!2 . . . !2

n

1 C C C C C A .

slide-193
SLIDE 193

A Simple Linear PCP

  • Verifier. The verifier has oracle access to some linear function

~ ↵ =        ↵0,0 ↵0,1 ↵0,2 . . . ↵0,n ↵1,0 ↵1,1 ↵1,2 . . . ↵1,n ↵2,0 ↵2,1 ↵2,2 . . . ↵2,n . . . . . . . . . ... . . . ↵n,0 ↵n,1 ↵n,2 . . . ↵n,n        . and thinks of each quadratic polynomial pi as pi =        pi,0,0 pi,0,1 pi,0,2 . . . pi,0,n pi,1,1 pi,1,2 . . . pi,1,n pi,2,2 . . . pi,2,n . . . . . . . . . ... . . . . . . pi,n,n        .

Verifier (cont’d). The verifier samples r1, . . . , rm 2 F and s0, . . . , sn 2 F at random and then generates three queries: ~ q1 := Pm

i=1 ripi;

~ q2 := (s0, s1, . . . , sn) ⌦ (1, 0, . . . , 0); ~ q3 := (s0, s1, . . . , sn) ⌦ (s0, s1, . . . , sn). Upon receiving answers a1 := h~ ↵, ~ q1i, a2 := h~ ↵, ~ q2i, a3 := h~ ↵, ~ q3i, check that a1 = 0 and a2

2 = a3 .

  • Bundling. Let r1, . . . , rm 2 F be random and ! = (!1, . . . , !n) 2 Fn.

If p1(!) = · · · = pm(!) = 0 then Pm

i=1 ripi(!) = 0 with probability 1.

If 9j 2 [m] s.t. pj(!) 6= 0 then Pm

i=1 ripi(!) = 0 with probability  1/|F|.

P 9 2 6 P  |

  • Prover. Given an assignment ! = (!1, . . . , !n) 2 Fn, the prover writes

the linear function: ~ ↵ := B B B B B @ 1 !1 !2 . . . !n !1 !2

1

!1!2 . . . !1!n !2 !2!1 !2

2

. . . !2!n . . . . . . . . . ... . . . !n !n!1 !n!2 . . . !2

n

1 C C C C C A .

slide-194
SLIDE 194

29