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.