D ecentralized A nonymous M icropayments Alessandro Chiesa, Matthew - - PowerPoint PPT Presentation

▶
d ecentralized a nonymous m icropayments
SMART_READER_LITE
LIVE PREVIEW

D ecentralized A nonymous M icropayments Alessandro Chiesa, Matthew - - PowerPoint PPT Presentation

D ecentralized A nonymous M icropayments Alessandro Chiesa, Matthew Green, Jingcheng Liu, Peihan Miao, Ian Miers, Pratyush Mishra http://eprint.iacr.org/2016/1033 1 Digital Payments Payment Network Customer Merchant 2 Digital Payments


slide-1
SLIDE 1

Decentralized Anonymous Micropayments

Alessandro Chiesa, Matthew Green, Jingcheng Liu, Peihan Miao, Ian Miers, Pratyush Mishra

http://eprint.iacr.org/2016/1033

1

slide-2
SLIDE 2

Digital Payments

2

Customer Merchant Payment Network

slide-3
SLIDE 3

Digital Payments

2

$ $

Customer Merchant

+

Transaction fee Transaction amount

Payment Network

slide-4
SLIDE 4

Digital Payments

2

$

$

Customer Merchant Payment Network

slide-5
SLIDE 5

Digital Payments

2

$

$

Customer Merchant Payment Network

slide-6
SLIDE 6

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

slide-7
SLIDE 7

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

slide-8
SLIDE 8

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

Rich history of micropayment schemes constructions:

slide-9
SLIDE 9

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

Rich history of micropayment schemes constructions: [Whe96, Riv97, LO98, JY96, RS01, MR02]…

slide-10
SLIDE 10

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

Rich history of micropayment schemes constructions: [Whe96, Riv97, LO98, JY96, RS01, MR02]… … but no widespread deployments across multiple merchants.

slide-11
SLIDE 11

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

Rich history of micropayment schemes constructions: [Whe96, Riv97, LO98, JY96, RS01, MR02]… … but no widespread deployments across multiple merchants.

Potential reason: Prior systems required central mediator.

slide-12
SLIDE 12

Digital Payments

2

$

$

Customer Merchant Payment Network

Supporting small payments is important for applications.

Eg: payments instead of ads while browsing.

Rich history of micropayment schemes constructions: [Whe96, Riv97, LO98, JY96, RS01, MR02]… … but no widespread deployments across multiple merchants.

Potential reason: Prior systems required central mediator.

Why? Requires creating financial relations, meeting regulations, etc.

slide-13
SLIDE 13

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

3

slide-14
SLIDE 14

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM

3

slide-15
SLIDE 15

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

3

slide-16
SLIDE 16

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

3

slide-17
SLIDE 17

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

Micropayments on Bitcoin?

3

slide-18
SLIDE 18

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Micropayments on Bitcoin?

3

slide-19
SLIDE 19

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

Micropayments on Bitcoin?

3

slide-20
SLIDE 20

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

3

slide-21
SLIDE 21

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

Problem 3: Lack of Anonymity

3

slide-22
SLIDE 22

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

3

slide-23
SLIDE 23

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

3

slide-24
SLIDE 24

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.

3

slide-25
SLIDE 25

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Problem 1: High Transaction fees

  • Projected to get higher.

Problem 2: Slow Confirmation time

  • Bad for micropayment apps.

Micropayments on Bitcoin?

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

3

slide-26
SLIDE 26

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

4

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

slide-27
SLIDE 27

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

4

Pass-Shelat (CCS 2015)

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

slide-28
SLIDE 28

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

4

Pass-Shelat (CCS 2015)

  • Probabilistic payments for Bitcoin.

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

slide-29
SLIDE 29

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

4

Pass-Shelat (CCS 2015)

  • Probabilistic payments for Bitcoin.
  • Solves problem 1: Amortized tx fee.

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

slide-30
SLIDE 30

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

4

Pass-Shelat (CCS 2015)

  • Probabilistic payments for Bitcoin.
  • Solves problem 1: Amortized tx fee.
  • Solves problem 2: Quick confirmation.

Problem 3: Lack of Anonymity

  • Sender, receiver, amount are all public.

Consequences:

  • No fungibility.
  • No privacy. (especially bad for

micropayment apps)

slide-31
SLIDE 31

Bitcoin

  • Decentralized currency w/ quick adoption.
  • No need to establish business relations

between banks, merchants and regulators.

  • To pay, just sign “from A to B: amt 4.3”.

LEDGER From To Amt Sign

⋮

A M 10 σA M N 2.3 σM A B 4.3 σA

Micropayments on Bitcoin?

5

Pass-Shelat (CCS 2015)

  • Probabilistic payments for Bitcoin.
  • Solves problem 1: Amortized tx fee.
  • Solves problem 2: Quick confirmation.

Zerocash (Oakland 2014)

  • Anonymous Bitcoin-like currency.
  • Solves problem 3: Hides sender, receiver

and amount.

slide-32
SLIDE 32

Goal

6

slide-33
SLIDE 33

Goal

6

micropayments that are:

slide-34
SLIDE 34

Goal

6

micropayments that are: decentralized (for ease of deployment),

slide-35
SLIDE 35

Goal

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

slide-36
SLIDE 36

Goal

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).
slide-37
SLIDE 37

Goal

Contributions

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).
slide-38
SLIDE 38

Goal

Contributions

  • 1. Definition of cryptographic primitive via ideal functionality.

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).
slide-39
SLIDE 39

Goal

Contributions

  • 1. Definition of cryptographic primitive via ideal functionality.
  • 2. Construction under standard crypto assumptions.

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).
slide-40
SLIDE 40

Goal

Contributions

  • 1. Definition of cryptographic primitive via ideal functionality.
  • 2. Construction under standard crypto assumptions.
  • 3. Techniques: we use two tools:

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).
slide-41
SLIDE 41

Goal

Contributions

  • 1. Definition of cryptographic primitive via ideal functionality.
  • 2. Construction under standard crypto assumptions.
  • 3. Techniques: we use two tools:
  • translucent crypto: new fractional message transfer protocol.

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).

(probabilistic)

slide-42
SLIDE 42

Goal

Contributions

  • 1. Definition of cryptographic primitive via ideal functionality.
  • 2. Construction under standard crypto assumptions.
  • 3. Techniques: we use two tools:
  • translucent crypto: new fractional message transfer protocol.
  • game theory: characterization of double-spending.

6

micropayments that are: decentralized (for ease of deployment), anonymous (for fungibility, etc.), and

  • ffline (for fast response).

(probabilistic)

slide-43
SLIDE 43

7

Probabilistic Payments

slide-44
SLIDE 44

7

Alice "pays" Bob $0.01

Probabilistic Payments

slide-45
SLIDE 45

7

$1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-46
SLIDE 46

7

$1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-47
SLIDE 47

7

$1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-48
SLIDE 48

7

w.p. 99/100

$1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-49
SLIDE 49

7

w.p. 99/100

$1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-50
SLIDE 50

7

nullpayment (Alice wins)

w.p. 99/100

$1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-51
SLIDE 51

7

nullpayment (Alice wins)

w.p. 1/100 w.p. 99/100

$1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-52
SLIDE 52

7

nullpayment (Alice wins)

w.p. 1/100 w.p. 99/100

$1 $1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-53
SLIDE 53

7

nullpayment (Alice wins) macropayment (Bob wins)

w.p. 1/100 w.p. 99/100

$1 $1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

slide-54
SLIDE 54

7

nullpayment (Alice wins) macropayment (Bob wins)

w.p. 1/100 w.p. 99/100

$1 $1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

Probabilistic payments imply micropayments:

slide-55
SLIDE 55

7

nullpayment (Alice wins) macropayment (Bob wins)

w.p. 1/100 w.p. 99/100

$1 $1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

Probabilistic payments imply micropayments:

Transaction fee is amortized over many payments.

slide-56
SLIDE 56

7

nullpayment (Alice wins) macropayment (Bob wins)

w.p. 1/100 w.p. 99/100

$1 $1 $1

Alice "pays" Bob $0.01

Probabilistic Payments

Probabilistic payments imply micropayments:

Transaction fee is amortized over many payments. Nullpayments are offline and do not require interaction with payment network.

slide-57
SLIDE 57

Pass-Shelat

8

Building Blocks

Zerocash

slide-58
SLIDE 58

Pass-Shelat

8

Building Blocks

Zerocash

coin-flipping + Bitcoin

slide-59
SLIDE 59

Pass-Shelat

8

Building Blocks

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA

Zerocash

coin-flipping + Bitcoin

slide-60
SLIDE 60

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA

Zerocash

coin-flipping + Bitcoin

slide-61
SLIDE 61

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA

Zerocash

coin-flipping + Bitcoin

slide-62
SLIDE 62

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA

Zerocash

coin-flipping + Bitcoin

slide-63
SLIDE 63

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

coin-flipping + Bitcoin

slide-64
SLIDE 64

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

slide-65
SLIDE 65

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

slide-66
SLIDE 66

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

slide-67
SLIDE 67

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

slide-68
SLIDE 68

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

a) derives sn1 from c1 and skA.

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

sn1

slide-69
SLIDE 69

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

a) derives sn1 from c1 and skA. b) creates new coin c3 with comm cm3.

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

sn1

slide-70
SLIDE 70

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

a) derives sn1 from c1 and skA. b) creates new coin c3 with comm cm3. c) creates ZK proof π3 for above.

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

sn1

slide-71
SLIDE 71

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

a) derives sn1 from c1 and skA. b) creates new coin c3 with comm cm3. c) creates ZK proof π3 for above. d) appends tx = (sn1, cm3, π3).

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

sn1

slide-72
SLIDE 72

coin-flip

Pass-Shelat

8

Building Blocks

  • 1. Alice escrows v.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger From To Amt Sign

⋮

M N 2.3 σM A M 10 σA A E 4.3 σA E B 4.3 σE

Zerocash

  • 1. Alice owns coin c1 with comm cm1.
  • 2. To pay Bob, Alice:

a) derives sn1 from c1 and skA. b) creates new coin c3 with comm cm3. c) creates ZK proof π3 for above. d) appends tx = (sn1, cm3, π3). Cannot link sn1 with cm1 without skA.

pkA, skA pkB, skB

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3 coin-flipping + Bitcoin zero knowledge proofs + Bitcoin

c1

sn1

slide-73
SLIDE 73

9

Naive Attempt: PS + Zerocash

slide-74
SLIDE 74

9

Naive Attempt: PS + Zerocash

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

slide-75
SLIDE 75

9

Naive Attempt: PS + Zerocash

  • 1. Alice escrows v in a Zerocash transaction.

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3

slide-76
SLIDE 76

9

Naive Attempt: PS + Zerocash

coin-flip

  • 1. Alice escrows v in a Zerocash transaction.
  • 2. Alice and Bob engage in coin-flip.

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3

slide-77
SLIDE 77

9

Naive Attempt: PS + Zerocash

coin-flip

  • 1. Alice escrows v in a Zerocash transaction.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3

slide-78
SLIDE 78

9

Naive Attempt: PS + Zerocash

coin-flip

  • 1. Alice escrows v in a Zerocash transaction.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3

sn3 cm4

π4

slide-79
SLIDE 79

9

Naive Attempt: PS + Zerocash

coin-flip

  • 1. Alice escrows v in a Zerocash transaction.
  • 2. Alice and Bob engage in coin-flip.
  • 3. If Alice wins: she can reuse escrow.
  • 4. If Bob wins: he gets v.

Ledger Old New Proof

⋮

8436378

cm1

π1

6327690

cm2

π2

sn1 cm3

π3

sn3 cm4

π4

Major Issues: Linkability Double Spending

slide-80
SLIDE 80

Problem 1: Linkability

10

slide-81
SLIDE 81

Problem 1: Linkability

  • To amortize transaction fees, Alice has to reuse escrow.
  • Bob always learns serial number of escrowed coin.

10

Ledger ⋮ tx1

Escrow

slide-82
SLIDE 82

Problem 1: Linkability

  • To amortize transaction fees, Alice has to reuse escrow.
  • Bob always learns serial number of escrowed coin.
  • Can track Alice when she spends coin w/ others.

10

Ledger ⋮ tx1

Escrow

sn

slide-83
SLIDE 83

Problem 1: Linkability

  • To amortize transaction fees, Alice has to reuse escrow.
  • Bob always learns serial number of escrowed coin.
  • Can track Alice when she spends coin w/ others.

10

Ledger ⋮ tx1

Escrow

sn

slide-84
SLIDE 84

Problem 1: Linkability

  • To amortize transaction fees, Alice has to reuse escrow.
  • Bob always learns serial number of escrowed coin.
  • Can track Alice when she spends coin w/ others.

10

Ledger ⋮ tx1

Escrow

tx

sn

slide-85
SLIDE 85

Problem 1: Linkability

  • To amortize transaction fees, Alice has to reuse escrow.
  • Bob always learns serial number of escrowed coin.
  • Can track Alice when she spends coin w/ others.
  • Further attacks lead to loss of most privacy.

10

Ledger ⋮ tx1 tx

Escrow

tx

∋ sn sn

slide-86
SLIDE 86

Solution: Make sn translucent

11

slide-87
SLIDE 87

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2

slide-88
SLIDE 88

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2

c = COMM(tx3)

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-89
SLIDE 89

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2

c = COMM(tx3)

c, π

  • 2. Sends commitment & proof to Bob.
  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-90
SLIDE 90

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.
  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-91
SLIDE 91

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin!

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-92
SLIDE 92

p

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2 tx3

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin! Macropayment: Bob gets tx and learns serial number.

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-93
SLIDE 93

p

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2 tx3

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin! Macropayment: Bob gets tx and learns serial number.

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

slide-94
SLIDE 94

p

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2 tx3

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin! Macropayment: Bob gets tx and learns serial number.

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

Fractional Message Transfer Fractional hiding: w.p 1-p, Bob learns nothing about message. Fractional binding: Bob can always open with probability p.

slide-95
SLIDE 95

p

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2 tx3

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin! Macropayment: Bob gets tx and learns serial number.

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

Fractional Message Transfer Fractional hiding: w.p 1-p, Bob learns nothing about message. Fractional binding: Bob can always open with probability p. Wants fractional hiding

slide-96
SLIDE 96

p

Solution: Make sn translucent

11 Ledger

⋮

tx1 tx2 tx3

c = COMM(tx3)

c, π

  • prob. opening
  • 3. Alice and Bob attempt

to open the commitment probabilistically.

  • 2. Sends commitment & proof to Bob.

Nullpayment: Alice can spend coin again, but Bob learns nothing about the coin! Macropayment: Bob gets tx and learns serial number.

1-p

  • 1. Creates tx, but doesn’t

append to ledger. Instead, commits to it and generates ZK proof of correctness.

Fractional Message Transfer Fractional hiding: w.p 1-p, Bob learns nothing about message. Fractional binding: Bob can always open with probability p. Wants fractional binding Wants fractional hiding

slide-97
SLIDE 97

Problem 2: Double-Spending

12

slide-98
SLIDE 98

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

slide-99
SLIDE 99

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

COMM(tx) COMM(tx)

slide-100
SLIDE 100

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

COMM(tx)

Ledger

⋮

tx1 tx2

COMM(tx)

slide-101
SLIDE 101

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

COMM(tx)

txC txB

Ledger

⋮

tx1 tx2

COMM(tx)

slide-102
SLIDE 102

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

COMM(tx)

txC txB

Ledger

⋮

tx1 tx2 txC

COMM(tx)

slide-103
SLIDE 103

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel.

12

COMM(tx)

txC txB

Ledger

⋮

tx1 tx2 txC

COMM(tx)

slide-104
SLIDE 104

Problem 2: Double-Spending

Malice can use the same coin in multiple payments in parallel. Offline setting ⇒ such attacks cannot be prevented.

12

COMM(tx)

txC txB

Ledger

⋮

tx1 tx2 txC

COMM(tx)

slide-105
SLIDE 105

Solution: deposits + rationality

13

slide-106
SLIDE 106

Solution: deposits + rationality

13

Ledger

⋮

tx1 tx2

slide-107
SLIDE 107

Solution: deposits + rationality

13

Ledger

⋮

tx1 tx2 txdep

dep

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

slide-108
SLIDE 108

Solution: deposits + rationality

13

c = COMM(txmp, ss1) Ledger

⋮

tx1 tx2 txdep

dep

ss1 ss2

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

  • 2. Commitment also contains

secret share of the deposit sn.

slide-109
SLIDE 109

Solution: deposits + rationality

13

c = COMM(txmp, ss1)

c, π

Ledger

⋮

tx1 tx2 txdep

dep

ss1 ss2

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

  • 3. Also proves deposit is valid

& secret share is correct.

  • 2. Commitment also contains

secret share of the deposit sn.

slide-110
SLIDE 110

Solution: deposits + rationality

13

c = COMM(txmp, ss1)

c, π

  • prob. opening

Ledger

⋮

tx1 tx2 txdep

dep

ss1 ss2

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

  • 3. Also proves deposit is valid

& secret share is correct.

  • 2. Commitment also contains

secret share of the deposit sn.

slide-111
SLIDE 111

Solution: deposits + rationality

13

c = COMM(txmp, ss1)

c, π

  • prob. opening

Ledger

⋮

tx1 tx2 txdep

dep

ss1 ss2

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

  • 3. Also proves deposit is valid

& secret share is correct.

  • 2. Commitment also contains

secret share of the deposit sn.

  • 4. If Bob wins, he gets

(txmp, ss1) and he posts this to the ledger.

slide-112
SLIDE 112

Solution: deposits + rationality

13

c = COMM(txmp, ss1)

c, π

  • prob. opening

Ledger

⋮

tx1 tx2 txdep txmp, ss1

dep

ss1 ss2

  • 1. Before any probabilistic

payments, Alice creates a deposit coin.

  • 3. Also proves deposit is valid

& secret share is correct.

  • 2. Commitment also contains

secret share of the deposit sn.

  • 4. If Bob wins, he gets

(txmp, ss1) and he posts this to the ledger.

slide-113
SLIDE 113

Why does this work?

14

slide-114
SLIDE 114

Why does this work?

14

Ledger

⋮

tx1 tx2

slide-115
SLIDE 115

Why does this work?

14

Ledger

⋮

tx1 tx2

slide-116
SLIDE 116

Why does this work?

14

Ledger

⋮

tx1 tx2

  • prob. payment
slide-117
SLIDE 117

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1

  • prob. payment
  • 1. Macropayment

txmp, ss1

slide-118
SLIDE 118

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1

  • prob. payment
  • 1. Macropayment

txmp, ss1

slide-119
SLIDE 119

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1

  • prob. payment
  • 1. Macropayment
  • prob. payment

txmp, ss1

slide-120
SLIDE 120

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1

  • prob. payment
  • 1. Macropayment
  • prob. payment
  • 2. Macropayment

again!

txmp, ss1 txmp, ss2

slide-121
SLIDE 121

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1 sndep

  • prob. payment
  • 1. Macropayment
  • prob. payment
  • 2. Macropayment

again!

txmp, ss1 txmp, ss2 ss1 + ss2 = sndep

slide-122
SLIDE 122

Why does this work?

14

Ledger

⋮

tx1 tx2 txmp, ss1 sndep

  • prob. payment
  • 1. Macropayment
  • prob. payment
  • 2. Macropayment

again!

txmp, ss1 txmp, ss2 ss1 + ss2 = sndep

  • ∞ utility!
slide-123
SLIDE 123

So far

15

slide-124
SLIDE 124

So far

Probabilistic opening:

15

slide-125
SLIDE 125

So far

Probabilistic opening: Deposits:

15

slide-126
SLIDE 126

So far

Probabilistic opening: Deposits: prevents linkability.

15

slide-127
SLIDE 127

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

slide-128
SLIDE 128

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done?

slide-129
SLIDE 129

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality:

slide-130
SLIDE 130

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality: Feature: Customers should be able to withdraw deposits.

slide-131
SLIDE 131

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality: Feature: Customers should be able to withdraw deposits. Problem: Customer can withdraw before revocation.

slide-132
SLIDE 132

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality: Feature: Customers should be able to withdraw deposits. Problem: Customer can withdraw before revocation. Problem: What if merchant refuses to reply?

slide-133
SLIDE 133

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality: Feature: Customers should be able to withdraw deposits. Problem: Customer can withdraw before revocation. Problem: What if merchant refuses to reply? Economic analysis: How to set deposit value?

slide-134
SLIDE 134

So far

Probabilistic opening: Deposits: prevents linkability. prevent double-spending.

15

Are we done? Functionality: Feature: Customers should be able to withdraw deposits. Problem: Customer can withdraw before revocation. Problem: What if merchant refuses to reply? Economic analysis: How to set deposit value? See paper for solutions!

slide-135
SLIDE 135

Takeaways

16

slide-136
SLIDE 136

Takeaways

16

Used translucent crypto + game theory to construct

slide-137
SLIDE 137

Takeaways

16

Used translucent crypto + game theory to construct Decentralized Anonymous Micropayments

slide-138
SLIDE 138

Takeaways

16

Used translucent crypto + game theory to construct Decentralized Anonymous Micropayments Game-theoretic analysis more broadly applicable:

Eg: Pass-Shelat do not specify value of deposit. Eg: Probabilistic smart contracts.

slide-139
SLIDE 139

Takeaways

16

Used translucent crypto + game theory to construct Decentralized Anonymous Micropayments We also discovered pain points in Zerocash interface. Resulted in a more “programmable” interface. Game-theoretic analysis more broadly applicable:

Eg: Pass-Shelat do not specify value of deposit. Eg: Probabilistic smart contracts.

slide-140
SLIDE 140

Takeaways

16

Used translucent crypto + game theory to construct

Thanks!

http://eprint.iacr.org/2016/1033

Decentralized Anonymous Micropayments We also discovered pain points in Zerocash interface. Resulted in a more “programmable” interface. Game-theoretic analysis more broadly applicable:

Eg: Pass-Shelat do not specify value of deposit. Eg: Probabilistic smart contracts.