Updatable and Universal Common Reference Strings with Applications to zk-SNARKs
Jens Groth, Markulf Kohlweiss, Mary Maller, Sarah Meiklejohn, Ian Miers.
Crypto - 23/08/2018
Updatable and Universal Common Reference Strings with Applications - - PowerPoint PPT Presentation
Updatable and Universal Common Reference Strings with Applications to zk-SNARKs Jens Groth, Markulf Kohlweiss, Mary Maller, Sarah Meiklejohn, Ian Miers. Crypto - 23/08/2018 Our Goal Find a better method than trusted setups for generating the
Crypto - 23/08/2018
Slide 1 of 22
Slide 2 of 22
Slide 2 of 22
Slide 3 of 22
Slide 3 of 22 The trapdoor can be used to break integrity (all the time).
The trapdoor cannot be used to break privacy (most
The trapdoor cannot be used to break privacy (most
The trapdoor can be used to break integrity (all the time).
Slide 3 of 22
Slide 4 of 22
Common Reference String
Proof of knowledge
Slide 5 of 22 Prover cannot create proof without the secret. Verifier learns the truth, the whole proof, and nothing but its truth.
Common Reference String
Proof of knowledge
Prover cannot create proof without the secret. Verifier learns the truth, the whole proof, and nothing but its truth. Slide 5 of 22
Slide 7 of 22
Slide 7 of 22
CRS
Verifier learns nothing from the proof even if it knows a trapdoor.
Slide 7 of 22
CRS
Prover with a trapdoor can create proofs without the secret, but hard to get the trapdoor.
Slide 8 of 22
1 ZEC, 2 ZEC, 3 ZEC, 4…. Slide 9 of 22
Slide 10 of 22
Why should I trust you? Here is the output
procedure.
Slide 11 of 22
Why should I trust any of you? Here is the output
procedure.
Slide 11 of 22
Why should I trust any of you? Here is the output
procedure. Here is the new
setup procedure.
Why should I trust any of you? Here is the output
procedure.
Here is the new
setup procedure.
Slide 12 of 22
Slide 12 of 22
Slide 13 of 22
Slide 14 of 22
Slide 15 of 22
Slide 16 of 22
Slide 16 of 22
Slide 16 of 22
Slide 17 of 22 Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3
Update 1 Update 2 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Slide 17 of 22
Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Derive Derive Derive Update 1 Update 2 Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Slide 17 of 22 Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Derive Derive Derive Update 1 Update 2
Slide 17 of 22 Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Derive Derive Derive Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Update 1 Update 2
Slide 18 of 22
Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Update 1 Update 2 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Slide 18 of 22
Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Update 1 Update 2 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Global Common Reference String 1
Slide 18 of 22
Global Common Reference String 2 Global Common Reference String 3 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3 Update 1 Update 2
Global Common Reference String 1
Slide 18 of 22
Global Common Reference String 2 Global Common Reference String 3 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3 Update 1 Update 2
Slide 18 of 22
Global Common Reference String 1 Global Common Reference String 2 Global Common Reference String 3 Update 1 Update 2 Derive Derive Derive Derived Common Reference String 1 Derived Common Reference String 2 Derived Common Reference String 3
Slide 19 of 22 Prover needs to show
for known 𝒈 𝒀 = 𝒈𝟏 + 𝒈𝟐𝒀𝟐 + ⋯+ 𝒈𝒆𝒀𝒆 Have
Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient
Slide 19 of 22 Prover needs to show
for known 𝒈 𝒀 = 𝒈𝟏 + 𝒈𝟐𝒀𝟐 + ⋯+ 𝒈𝒆𝒀𝒆 Have
Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient
Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient Prover needs to show
for known 𝒈 𝒀 = 𝒈𝟏 + 𝒈𝟐𝒀𝟐 + ⋯+ 𝒈𝒆𝒀𝒆
Slide 19 of 22
Have
Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient
Slide 19 of 22 Prover needs to show
for known 𝒈 𝒀 = 𝒈𝟏 + 𝒈𝟐𝒀𝟐 + ⋯+ 𝒈𝒆𝒀𝒆 Have
Slide 19 of 22 Prover needs to show
for known 𝒈 𝒀 = 𝒈𝟏 + 𝒈𝟐𝒀𝟐 + ⋯+ 𝒈𝒆𝒀𝒆 Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient Have
Slide 19 of 22 Have Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆 Verifier checks
in 𝒜𝒍𝒚𝒆 coefficient
Slide 20 of 22 Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆
Slide 20 of 22 Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆
Slide 20 of 22 Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆
Slide 20 of 22 Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆
Slide 20 of 22 Prover needs to show
for known 𝒈𝒋 𝒀 = 𝒈𝒋,𝟏 + 𝒈𝒋,𝟐𝒀𝟐 + … + 𝒈𝒋,𝒆𝒀𝒆
Slide 21 of 22
Slide 21 of 22
Slide 21 of 22
Slide 21 of 22
Slide 21 of 22
Slide 22 of 22
Universal String Quadratic Derived String Linear Deriver Cost Cubic Update Proofs 9 Group Elements Proof Size 3 Group Elements Verifier Time 5 Pairings