State of the STARK
Eli Ben-Sasson, Chief Scientist (East) | October 2018
Overview
Scalability, Privacy & Proofs
Proofs of Computational Integrity
zk-STARK | October 2018
Proofs of Computational Integrity
zk-STARK | October 2018
Proofs of Computational Integrity
zk-STARK | October 2018
Proofs of Computational Integrity
zk-STARK | October 2018
Modern proofs of Computational Integrity
zk-STARK | October 2018
Modern proofs of Computational Integrity
zk-STARK | October 2018
Modern proofs of Computational Integrity
zk-STARK | October 2018
Modern proofs of Computational Integrity
zk-STARK | October 2018
Modern proofs of Computational Integrity
zk-STARK | October 2018
ZK-STARK: core attributes
Many flavors of proof systems
Variety of theoretical constructions
zk-STARK | October 2018
Many flavors of proof systems
Variety of theoretical constructions
And implementations
See zkp.science
zk-STARK | October 2018
zk-STARK definition
A proof system is a zk-STARK if it satisfies:
zk-STARK | October 2018
zk-STARK definition
A proof system is a zk-STARK if it satisfies:
zk-STARK | October 2018
zk-STARK definition
A proof system is a zk-STARK if it satisfies:
zk-STARK | October 2018
zk-STARK definition
A proof system is a zk-STARK if it satisfies:
zk-STARK | October 2018
zk-STARK definition
A proof system is a zk-STARK if it satisfies:
zk-STARK | October 2018
Stark vs. Snark & Bulletproofs
Scalability - Stark vs naive verification
zk-STARK | October 2018
Computation time
Proof activity time
Naive
Scalability - Stark vs naive verification
zk-STARK | October 2018
Verifier
Prover
Naive
Computation time
Proof activity time
Scalability - Stark vs Snark (Zcash)
zk-STARK | October 2018
Verifier
Prover
Naive
Verifier
Prover
Trusted setup
Computation time
Proof activity time
Computation time
Proof activity time
STARK
SNARK
Scalability - Stark vs Snark (Zcash)
zk-STARK | October 2018
Verifier
Prover
Naive
Verifier
Prover
Trusted setup
Computation time
Proof activity time
Computation time
Proof activity time
STARK
SNARK
Trusted setup
Scales linearly with compute time
Scalability - Stark vs recursive Snark (Coda)
zk-STARK | October 2018
Verifier
Prover
Naive
STARK
Recursive SNARK
Computation time
Proof activity time
Computation time
Proof activity time
Scalability - Stark vs recursive Snark (Coda)
zk-STARK | October 2018
Verifier
Prover
Naive
STARK
Recursive SNARK
Computation time
Proof activity time
Computation time
Proof activity time
Trusted setup
Large proving time
Scalability - Stark vs recursive Snark (Coda)
zk-STARK | October 2018
Verifier
Prover
Naive
STARK
Recursive SNARK
Computation time
Proof activity time
Computation time
Proof activity time
Trusted setup
Large proving time
1 block delay
Stark vs BulletProofs (Monero)
zk-STARK | October 2018
Verifier
Prover
Naive
STARK
BulletProofs
Proof length
Prover
Verifier
Computation time
Proof activity time
Computation time
Proof activity time
Stark vs BulletProofs (Monero)
zk-STARK | October 2018
Verifier
Prover
Naive
STARK
BulletProofs
Proof length
Prover
Verifier
Computation time
Proof activity time
Computation time
Proof activity time
Linear verifier time
Stark vs BulletProofs verification measurements
T440 laptop
i7-8550U CPU
@ 1.80GHz
Single thread
32 GB DDR4 RAM
zk-STARK | October 2018
# Pedersen hashes
BulletProof paper
Naive
dalek-cryptography
BulletProofs
Proof length
Prover
Verifier
STARK verifier
verifier time (ms)
Computation time
Proof activity time
Scalability - Stark vs naive verification
Verifier
Prover
Naive
Computation time
Proof activity time
Zoom in
Scalability - Stark vs naive verification
T440 laptop
i7-8550U CPU
@ 1.80GHz
Single thread
32 GB DDR4 RAM
zk-STARK | October 2018
Verifier
Prover
Naive
#Pedersen hashes (log scale)
STARK verifier
Naive
Computation time
Proof activity time
Proof activity time (ms)
Zoom in
STARK prover
Scalability - Stark vs naive verification
T440 laptop
i7-8550U CPU
@ 1.80GHz
Single thread
32 GB DDR4 RAM
zk-STARK | October 2018
Verifier
Prover
Naive
#Pedersen hashes (log scale)
STARK verifier
Naive
Computation time
Proof activity time
Proof activity time (ms)
Zoom in
STARK prover
STARK Prover/Naive ratio ~ 100X
Virtues of Transparency (no trusted setup)
zk-STARK | October 2018
Virtues of Transparency (no trusted setup)
zk-STARK | October 2018
Virtues of Transparency (no trusted setup)
zk-STARK | October 2018
Virtues of Transparency (no trusted setup)
zk-STARK | October 2018
STARK for Scalability
zk-STARK | October 2018
39
| ZK-STARK | ZK-SNARK | Bulletproof |
Trust Assumptions
ZK-STARK
ZK-SNARK
Bulletproof
Crypto Assumptions
ZK-STARK
ZK-SNARK
Bulletproof
Quantum Safety
ZK-STARK
ZK-SNARK
Bulletproof
STARK for Scalability: Space
zk-STARK | October 2018
40
Runtime Comparison | ZK-STARK | ZK-SNARK | Bulletproof |
1 Tx | 500kb 80kb 45 kb (yet to identify lower bound) | Tx: 200 byte Key: 50 MB | 1.5 kb |
10K Tx | 190kb 135 k (yet to identify lower bound) | Tx: 200 byte Key: 500 GB | 2.5 kb |
STARK Science & Engineering:
Peek under the hood
How to build efficient STARKs?
zk-STARK | October 2018
How to build efficient STARKs?
zk-STARK | October 2018
How to build efficient STARKs?
zk-STARK | October 2018
How to build efficient STARKs?
zk-STARK | October 2018
Example: Pedersen Merkle path
zk-STARK | October 2018
Example: Pedersen Merkle path
zk-STARK | October 2018
Example: Pedersen Merkle path
zk-STARK | October 2018
STARK measurements - Pedersen Merkle path
T440 laptop
i7-8550U CPU
@ 1.80GHz
Single thread
32 GB DDR4 RAM
zk-STARK | October 2018
seconds
ms
Path length
Path length
Prover
Verifier
STARK measurements - Pedersen Merkle path
T440 laptop
i7-8550U CPU
@ 1.80GHz
Single thread
32 GB DDR4 RAM
zk-STARK | October 2018
Prover time
Verifier time
ms
seconds
Path length
Path length
STARK proof length - Pedersen Merkle path
zk-STARK | October 2018
51
Proof size (KB)
Pedersen 128
Pedersen 80
Path length
STARK verifier complexity
zk-STARK | October 2018
52
# hashes to verify
Pedersen 128
Pedersen 80
#hashes in path
StarkWare Tech4Token progress
StarkWare: Company Essentials
zk-STARK | October 2018
54
We’re here this week - come talk to us! (info@starkware.co)
Raised
$10M�Seed &
Ethereum grant
Funds
Investors
R&D
15�engineers
Strong�scientific consultants
and others!
Plans
Tech 4 Token (T4T)
1st - EF grant
Scalability Product(s)
Next part
1st T4T: Ethereum Foundation grant update
zk-STARK | October 2018
1st T4T: Ethereum Foundation grant update
zk-STARK | October 2018
1st T4T: Ethereum Foundation grant update
zk-STARK | October 2018
STARK proof length estimates, repeated hash
zk-STARK | October 2018
58
Pedersen 120
Pedersen 80
Jarvis 120
Jarvis 80
#hashes
Proof size (KB)
Demo
One more thing…
Questions?
STARK Use Cases
Avihu Levy, Head of Product | October 2018
Potential Uses
zk-STARK | October 2018
Scalability
zk-STARK | October 2018
64
Verifying 10K Txs costs only 3x of verifying single Tx!
Scalability
by offchaining:
Complex computations
Batches of simple computations
Storage
What’s Done On-Chain Vs. Off-Chain?
zk-STARK | October 2018
65
On Chain
Verifier
Off Chain
Native Computation
Prover
Scalability by batching
zk-STARK | October 2018
66
Payment Txs: In a Nutshell
zk-STARK | October 2018
67
Increase the network throughput (e.g. of Ethereum)
Users register to the contract, �and only then can interact with one another
Reduce Tx fees�(for native Ether and ERC-20 tokens)
Significant saving�(> 10X)
Payment Txs: How Is This Achieved?
zk-STARK | October 2018
68
Increasing network throughput by 1 OOM
Less transmission, �less computation
No need to send and verify signatures
Covered by proof
State storage taken off chain, state root stored on-chain
Proof proves state changes
Centralization trade-off (unless done by miners)
Scalability
zk-STARK | October 2018
Tx
Tx
Tx
Tx
Tx
Tx
Tx
Tx
STARK Proof
Tx
Tx
Tx
Tx
Tx
Tx
Tx
Tx
+
Native Computation
State
Transmission
Computation
Storage
+
State root
DEX: In a Nutshell
zk-STARK | October 2018
70
Provide users with “best of all worlds”:
Later add (cheap) transfers and shielded Txs�through DEX
Users keep custody of their funds
Low latency
At a negligible blockchain cost
Breaking the gas-induced ceiling on volume/liquidity
DEX: How Is This Achieved?
zk-STARK | October 2018
71
lowering blockchain costs* by 1-2 OOM
*Blockchain costs are currently the dominant DEX costs
Less transmission, �less computation
No need to send and verify maker/taker signatures
Covered by proof
Trader balances taken off chain, state root stored on-chain
Proof proves balance changes
Centralization not an issue in this case
Overview
zk-STARK | October 2018
Bootstrap & Sync
zk-STARK | October 2018
Bootstrap & Sync
zk-STARK | October 2018
VDF
zk-STARK | October 2018
VDF
zk-STARK | October 2018
f(x)
f(x)
Input
...
f(x)
Output
+
STARK Proof