ZK Learning Group
0xPARC
Today
Logistics
Program Content
Structure / Schedule
Week 1
Week 2
Norms
About 0xPARC
Intros
Thesis
Thesis
Thesis
What is a Zero Knowledge Protocol?
Zero Knowledge Proofs / Protocols
Zero-Knowledge (ZK) crypto lets me prove to you that I know a fact, without telling you the fact.
Zero Knowledge Proofs / Protocols
Setup: a prover wants to convince a verifier that they know something, without revealing the underlying information.
Verifier: Asks questions / issues challenges to the prover, and checks responses.
Prover: Responds to verifier questions or challenges.
Example: ZK protocol for knowledge of map (3-)coloring
Example: map 3-coloring
Example: map 3-coloring
Example: map 3-coloring
Example: map 3-coloring
Example: map 3-coloring
Zero Knowledge Proofs / Protocols
ZK Protocols have 3 properties:
Zero Knowledge Proofs / Protocols
ZK Protocols have 3 properties:
Zero Knowledge Proofs / Protocols
ZK Protocols have 3 properties:
Zero Knowledge Proofs / Protocols
ZK Protocols have 3 properties:
Example 2: Digital Signatures
In Ethereum, all transactions are signed with public-key cryptography.
Every public account is associated with a secret, private key.
You shouldn’t be able to send funds out of an account unless you know the private key to that account.
Example 2: Digital Signatures
A “signature” is attached to every transaction.
Under the hood, a signature is (essentially) a zero knowledge proof that you know the private key corresponding to the public key you’re sending funds from.
ZKPs are not new!
ZKPs are not new!
Homomorphic Encryption
Encryption lets you “lock” data
Homomorphic Encryption
Idea: the homomorphic encryption function Enc “preserves” addition.
Homomorphic Encryption
Idea: the homomorphic encryption function Enc “preserves” addition.
Enc (x + y) = Enc (x) + Enc (y)
Homomorphic Encryption
Idea: the homomorphic encryption function Enc “preserves” f.
Enc (f(x, y)) = f(Enc (x), Enc (y))
Homomorphic Encryption
Homomorphic Encryption is like ZK for arbitrary functions
Homomorphic Encryption is like ZK for arbitrary functions
zkSNARKs
What are zkSNARKs?
What are zkSNARKs?
High-level idea:
zkSNARK Properties
Applications
Applications
Applications
Applications
What’s hard