58
BLOCKCHAIN PRIVACY Zooko Wilcox 9-10 April 2018

BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

BLOCKCHAIN PRIVACYZooko Wilcox 9-10 April 2018

Page 2: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 1: A History of CryptographyZooko Wilcox 9 April 2018

Page 3: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 4: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

From Caesar to Turing..

Page 5: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

In the 60s & 70s...

Page 6: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

In the 70’s...

Page 7: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

In the 80’s...

Page 8: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 9: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 2: Cryptography FundamentalsZooko Wilcox 9 April 2018

Page 10: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Symmetric Encryption

Page 11: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Symmetric Encryption

Page 12: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Public Key Cryptography

Page 13: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Public Key Cryptography

A A

Page 14: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Hash function

a76fb6813c70bbf4d2fa...

a76fb6813c70bbf4d2fa...

Page 15: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Hash function

a76fb6813c70bbf4d2fa...

b1a65f0d9cd2b85fa71c...

Page 16: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Digital signatures

a76fb6813c70bbf4d2fa...

a76fb6813c70bbf4d2fa......A

Page 17: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Zero-knowledge proofs

Page 18: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

TLS/HTTPS

https://blog.cryptographyengineering.com/2012/09/06/on-provable-security-of-tls-part-1/

Page 19: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

End-to-end encryption (client-client)

https://heimdalsecurity.com/blog/wp-content/uploads/end-to-end-encryption-comparison.png

‣ Demo:

Page 20: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Signature verification

https://commons.wikimedia.org/wiki/File:Digital_Signature_diagram.svg

‣ Demo:

Page 21: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 22: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 3: Blockchain HistoryZooko Wilcox 9 April 2018

Page 23: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 24: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Before 2009...

‣ eCash (David Chaum, 1983), then DigiCash (1995)

‣ Bit gold (Nick Szabo, 1998)

‣ Hashcash (Adam Back, 1997)

Page 25: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

In 2009...

‣ The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.

Page 26: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

In 2009...

Page 27: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Building blockchains beyond bitcoin...

Page 28: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 29: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 4: Blockchain FundamentalsZooko Wilcox 9 April 2018

Page 30: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Blockchain

Page 31: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Verifying blocks

https://en.wikipedia.org/wiki/Bitcoin_network

‣ Demo:

Syncing the Zcash client

Page 32: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 5: Intro to Blockchain PrivacyZooko Wilcox 10 April 2018

Page 33: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

The problem with privacy in bitcoin

Block number Sender Recipient Amount

36809 Address A Address B 3 BTC

38223 Address B Address C 2 BTC

98001 Address C Address D 1 BTC

Bitcoin

Page 34: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Comparing different technologies

Technology Sender Recipient Transaction details

Stealth addresses

Confidential transactions

Decoys/mixins

zk-SNARKs

Page 35: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Implementations combining multiple technologies

Implementation Sender Recipient Amount

Confidential Transactions

CryptoNote

Monero with RingCT

Zcash

Page 36: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Types of decoys/mixinsCoinJoin

Mimblewimble

RingSig

Page 37: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Fragility of decoys/mixins

Page 38: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Deanonymizing decoy/mixinshttps://monerolink.com

TXN6 UTXO12

UTXO7 UTXO12

Page 39: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Deanonymizing RingCT

Buyer Seller Exchange

UTXO1

UTXO2

UTXO3

UTXO4

UTXO5

TXN1 (UTXO1)

Page 40: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Deanonymizing RingCT

TXN2 (UTXO6)

Buyer Seller Exchange

UTXO6

UTXO7

UTXO8

UTXO9

UTXO10

Page 41: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Deanonymizing RingCTUTXO1

UTXO2

UTXO3

UTXO4

UTXO5

UTXO6

UTXO7

UTXO8

UTXO9

UTXO10

Buyer

TXN1 (UTXO1)

TXN2 (UTXO6)

Exchange

Page 42: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 6: Privacy in ZcashZooko Wilcox 11 April 2018

Page 43: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Transparent & Shielded▸ Forked Bitcoin (v 0.11.2)▸ Transparent addresses: public & verifiable▸ Shielded addresses: encrypted & verifiable (+ memo field)

Page 44: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Blockchain

Page 45: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Encryption

Page 46: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Blockchain + encryption

Page 47: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Zero-knowledge in Zcash (as a spreadsheet)

Block number Sender Recipient Amount

36809 Address A Address B 3 BTC

38223 Address B Address C 2 BTC

98001 Address C Address D 1 BTC

Block number Sender Recipient Amount Proof

36809 Encrypted Encrypted Encrypted hcv5…

38223 Encrypted Encrypted Encrypted m89g…

98001 Encrypted Encrypted Encrypted mv7l…

vsBitcoin Zcash

Page 48: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Selective disclosure‣ Allows either party to a transaction to disclose transaction details to a

third party, while keeping them hidden from everyone elseWhat Deutsche Bank, Citadel, the SEC, and the DTCC see:

Deutsche Bank sells 1,000,000 US912828P469 to Citadel at USD 97.567574

What the trade reporting repository or market data aggregator see:

⌷⌷⌷⌷⌷⌷⌷⌷⌷⌷ sells ⌷⌷⌷⌷⌷⌷⌷ US912828P469 to ⌷⌷⌷⌷ at USD 97.567574

What everyone else sees:

⌷⌷⌷⌷⌷⌷⌷⌷⌷⌷ sells ⌷⌷⌷⌷⌷⌷⌷ ⌷⌷⌷⌷⌷⌷⌷⌷⌷⌷ to ⌷⌷⌷⌷ at ⌷⌷⌷ ⌷⌷⌷⌷⌷⌷⌷

Page 49: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Zerocashrt = Merkle-tree rootcm = note commitmentnu = note nullifierv = note valuer, s = commitment rand.p = nullifier rand.(apk, pkenc) = address public key(ask, skenc) = address secret key

(a) Merkle-tree over (cm1, cm2,...) (b) note

(c) note commitment (d) note nullifier

c = ((apk, pkenc),v,p,r,s,cmrt

CRH CRH

CRH

CRH CRH

CRH CRH CRH CRH

cm1 cm2 cm3 cm4 cm5 cm6 cm7 cm8 ...

CRH

cm

COMMs

COMMr

v

apk PRFaddr 0p

PRFnuask

nu

ask

Page 50: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Sprout zk-SNARKsp apk rt fee

ZKP

Vin1

Vin2

Vout1 Vout2

ZUTXO1

ZUTXO2

ZUTXO1

ZUTXO2

NF1

NF2

SEC2

SEC1

COMM1

COMM2

public

private

Page 51: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Sapling zk-SNARKs

rt NF

NOTE

NOTE

ZKP

V

Input

ZKP

Output

V

Inputs Outputs

V ZKP V ZKP

V ZKP V ZKP

V ZKP V ZKP

Vin = Vout + fee

public

private

commitment

+

+

+

+

Page 52: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Pedersen commitment

GR x HV

Page 53: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Part 6: Privacy Use CasesZooko Wilcox 11 April 2018

Page 54: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Payments with Symmetric Encryption

Page 55: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Payments with Public Key Cryptography

Page 56: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Payments with ZKP & Blockchain

Page 57: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Crypto discoveries & deployments

Symmetric Key Encryption

Public Key Cryptography

Zero-knowledge proofs Blockchain

‣ Julius Caeser (50 BC)

‣ Alan Turing (1940s)

‣ Merkle‣ Diffie & Hellman‣ Rivest, Shamir &

Adleman (1970s)

‣ Goldwasser, Micali et al.

(1980s)

TLS

‣ Deploy public key

crypto (1990s)

‣ Nakamoto (2009)

Zcash

‣ Deploy zero-

knowledge proofs (2016)

‣ Cocks & Ellis (1960s)

Page 58: BLOCKCHAIN PRIVACYTLS ‣Deploy public key crypto (1990s) ‣Nakamoto (2009) Zcash ‣Deploy zero- knowledge proofs (2016) ‣Cocks & Ellis (1960s) ... NF 1 NF 2 SEC 2 SEC 1 COMM 1

Get involved!

Mine Zcash! Pay and get paid in Zcash! Write code! Apply for grants!

‣ Foundation - https://z.cash.foundation

‣ Code - https://github.com/zcash

‣ Chat - https://chat.zcashcommunity.com