From Zerocoin to Zcash
(and beyond!)
Matthew Green�Johns Hopkins University
My background
Madars Virza
Alessandro Chiesa
Ian Miers
Eran Tromer
Eli Ben-Sasson
Christina Garman
A (very short, I promise)�history of electronic cash
Before Bitcoin�(1980s - 2007)
e-Cash
Chaum (CRYPTO ’83)
Payer
Bank
Merchant
Redeem/�verify not previously�spent
(Blind) signature
Chaum (CRYPTO ’83)
Payer
Bank
Merchant
Redeem/�verify not previously�spent
(Blind) signature
Why did centralized e-Cash fail?
Why did centralized e-Cash fail?
Why did e-Cash fail? (2)
Conclusions (1980s-2007)
Conclusions (1980s-2007)
Conclusions (1980s-2007)
The decentralized era�2008-2018
Nakamoto, 2008
Nakamoto, 2008
Limitations of Bitcoin
Bitcoin & Privacy
Source: MPJLMVS13
🐵🚀
Zerocoin
1.0,A->B
1.03,S->J
2.5,M->S
...
1.0,J->Z
1.0,
.9B->D
...
Block 1
Block 2
Block 3
Block 4
.23,C->E
1.2,E->J
.2,M->J
...
HASH
HASH
HASH
.23,E->F
.9,M->B
...
1.0->Z
bitcoins
bitcoins
Block 5
HASH
.23,E->F
1.0,Z->B
...
1.0->Z
823848273471012983
Problems with Zerocoin
Required a DDL proof (~25kb)
for each spend. On the blockchain.
What could go wrong?
This wasn’t our fault!
Still, we wrote software…
Summary of Zerocoin
Zerocash
Zerocash
How to use SNARKs
H(C4)
H(C1)
H(C2)
H(C3)
H(C1,C2)
H(C3,C4)
A
Result: Zerocash
But wait a second...
1.0 ZC
.85 ZC
Mint
Split
.15 ZC
1.0 ZC
Merge
1.0 ZC
Transfer
Where could Zcash go next?
Where should Zcash go next?
Well… how did you vote?