Instructors: Andreas Park & Zissis Poulos
Rotman – MBA
Root problem
Solutions
Zero Knowledge Proofs
Basic Idea
A mechanism that proves to one party (the VERIFIER) that another party (the PROVER) possesses some knowledge, without revealing the knowledge itself or any other information that can be used to re-construct it
Basic Premise
A mechanism that proves to one party (the VERIFIER) that another party (the PROVER) possesses some knowledge, without revealing the knowledge itself or any other information that can be used to re-construct it
This is a probabilistic statement not a math proof
WHY?
I was born between 1976 and 2000
Range Proofs
WHY?
I am an EU citizen
Set Membership
WHY?
We both have the same
access rights to this account
Comparison
WHY?
Computational
Integrity
I performed the computation
you asked me to
Toy Example
Verifier Victor
Prover Peggy
Types
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
Pros/Cons
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
Pros/Cons
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
: multi-party computation ceremonies (2016-2017-2018)
Pros/Cons
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
Vanilla Tx = 21,000 GAS
SNARK = 800,000 GAS
@ $15/Tx
$570 per SNARK proof
Scalability
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
Two most popular
Scalability
ZKP
ZKP
SNARKS
STARKS
STIK
NIZKP
Bulletproof
Lattice
DVNIZKP
Graph iso
Two most popular
Rollups
Blockchains bundle three things together:
data availability
settlement
execution
Why rollups?
Monolithic Paradigm
Consensus
Data Availability
Data Availability
Execution
Settlement
It's a problem
Why rollups?
Imagine instead of this
Application
Middleware/DB
Operating System
Hardware
We had this
Application
+
Middleware/DB
+
Operating System
+
Hardware
G
o
o
o
b
l
e
How rollups?
Consensus
Data Availability
Execution
Settlement
Merge
Multiple blockchains handle separately:
consensus
data availability
settlement
execution
Modular Design
How rollups?
Consensus
Data Availability
Execution
Settlement
ZK-rollups
Optimistic rollups
zk-rollups vs. optimistic rollups
Consensus
Data Availability
Execution
Settlement
ZK-rollups
Optimistic rollups
We need several rollups deployed to achieve scalability
Other scaling solutions
MYTHS!
Myth 1: consensus is the bottleneck to scalability
Myth 2: EVM rollups can increase scalability by default
Debunked: the cost of running a full node is the bottleneck
Debunked: the cost of running a full node is the bottleneck
Then how?