pathshuffle: credit mixing and anonymous payments for ripple · pedro moreno-sanchez purdue...

81
Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing Saarland University Aniket Kate Purdue University

Upload: others

Post on 31-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Pedro Moreno-Sanchez Purdue University

$

$

$$

$

PathShuffle: Credit Mixing and Anonymous Payments for Ripple

Tim Ruffing Saarland University

Aniket Kate Purdue University

Page 2: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Credit (or IOU Settlement) Networks: Basics

2

Page 3: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Credit (or IOU Settlement) Networks: Basics

Dinner

Transactions in the real world

IOweYou $40

2

Aniket Pedro

Aniket Pedro

Page 4: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Credit (or IOU Settlement) Networks: Basics

Dinner

Transactions in the real world A credit network representation

IOweYou $40

40

2

Aniket Pedro

Aniket Pedro

Aniket

Pedro

Page 5: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

IOweYou $10

Credit (or IOU Settlement) Networks: Basics

Dinner

Transactions in the real world A credit network representation

IOweYou $40

Beer

40

During a visit from Antonio

2

Aniket Pedro

Aniket Pedro

Aniket Antonio

Aniket Antonio

Aniket

Pedro

Page 6: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

IOweYou $10

Credit (or IOU Settlement) Networks: Basics

Dinner

10

Transactions in the real world A credit network representation

IOweYou $40

Beer

40

During a visit from Antonio

2

Aniket Pedro

Aniket Pedro

Aniket Antonio

Aniket Antonio

Aniket

Pedro

Antonio

Page 7: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

IOweYou $10

Credit (or IOU Settlement) Networks: Basics

Dinner

10

Transactions in the real world A credit network representation

IOweYou $40

Beer

4050

During a visit from Antonio

2

Aniket Pedro

Aniket Pedro

Aniket Antonio

Aniket Antonio

Aniket

Pedro

Antonio

Page 8: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

Alice

115

10Eve

Carol

20

3

Page 9: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

Alice

115

15

10Eve

Carol

20

3

Page 10: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

Alice

115

15

10Eve

Carol

20

3

Page 11: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

Alice

115

15

10Eve

Carol

20

3

Sender BobReceiver CarolPath1 {10}, Path2 {5}

Bob

Page 12: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

Alice

115

15

100Eve

Carol

20

3

Sender BobReceiver CarolPath1 {10}, Path2 {5}

Bob

Page 13: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

40

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

25

Alice

115

15

100Eve

Carol

20

3

Sender BobReceiver CarolPath1 {10}, Path2 {5}

Bob

Page 14: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

05

4050

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

25

Alice

115

15

100Eve

Carol

20

3

Sender BobReceiver CarolPath1 {10}, Path2 {5}

Bob

Page 15: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

0

4050

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

25

Alice

115

15

100Eve

Carol

20

3

Sender BobReceiver CarolPath1 {10}, Path2 {5}

Bob

Page 16: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

0

4050

15

Ripple Credit Network: an Example of Transaction

Bob

Dave

25

Alice

115

100Eve

Carol

20

3

Page 17: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 18: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 19: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 20: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 21: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 22: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 23: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Ripple Credit Network

4

Page 24: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

£ 70

CAD 100

$ 60

€ 45€ 30

Ripple Credit Network

4

AED 10

Page 25: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

£ 70

CAD 100

$ 60

€ 45€ 30

Ripple Credit Network

4

BTC 5 BTC 10AED 10

Page 26: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

£ 70

CAD 100

$ 60

€ 45€ 30

Ripple Credit Network

4

BTC 5 BTC 10

Coffee 4

Books 2

Meal 10Car rides 3

AED 10

Page 27: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

£ 70

CAD 100

$ 60

€ 45€ 30

Ripple Credit Network

4

BTC 5 BTC 10

Coffee 4

Books 2

Meal 10Car rides 3

~ 1 day

~ 5 seconds

High fees

Tiny fees

Tx time Worldwide, cross-currency tx Integrity

Bank only

Public verifiability

AED 10

Ripple can significantly

improve cross-currency

remittance and settlements

Page 28: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Public Verifiability & Privacy Problem

5

The Ripple Ledger

Page 29: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Public Verifiability & Privacy Problem

5

Credit Graph

Transaction Details

The Ripple Ledger

Page 30: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Public Verifiability & Privacy Problem

5

Credit Graph

Transaction Details

The Ripple Ledger

Listening to Whispers of Ripple: Linking Wallets and Deanonymizing Transactions

in the Ripple Network

Pedro Moreno-Sanchez, Muhammad Bilal Zafar, Aniket Kate.

PETS ‘16

Page 31: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

6

Can we achieve anonymous payments in the current Ripple network?

Image source: https://community.dynamics.com/crm/b/crmbusiness/archive/2014/10/31/how-to-check-what-products-are-compatible-with-different-microsoft-dynamics-crm-versions

Page 32: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Page 33: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Privacy Preserving Payments in Credit Networks

Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei, Kim Pecina

NDSS ‘15

SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei

NDSS ‘17

Privacy Preserving Credit Networks

Page 34: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Privacy Preserving Payments in Credit Networks

Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei, Kim Pecina

NDSS ‘15

SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei

NDSS ‘17

Privacy Preserving Credit Networks

Require structural changes in the Ripple network

Page 35: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Privacy Preserving Payments in Credit Networks

Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei, Kim Pecina

NDSS ‘15

SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei

NDSS ‘17

Privacy Preserving Credit Networks

Require structural changes in the Ripple network

Privacy Preserving Cryptocurrencies

Monero, Zcash, …

Page 36: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Privacy Preserving Payments in Credit Networks

Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei, Kim Pecina

NDSS ‘15

SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei

NDSS ‘17

Privacy Preserving Credit Networks

Require structural changes in the Ripple network

Privacy Preserving Cryptocurrencies

Monero, Zcash, …

Solutions tied to cryptocurrencies: - Specific cryptographic algorithms

Page 37: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Related Work

7

Privacy Preserving Payments in Credit Networks

Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei, Kim Pecina

NDSS ‘15

SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, Matteo Maffei

NDSS ‘17

Privacy Preserving Credit Networks

Require structural changes in the Ripple network

Privacy Preserving Cryptocurrencies

Monero, Zcash, …

Solutions tied to cryptocurrencies: - Specific cryptographic algorithms

Bitcoin Mixing (CoinJoin)Input

AddressesOutput

AddressesA (1 BTC) B’ (1 BTC)B (1 BTC) C’ (1 BTC)C (1 BTC) A’ (1 BTC)

AliceBobCarol

Page 38: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Path Mixing for Privacy-preserving Transactions

8

Gateway

Page 39: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

15

30

60

12

10

20

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed

8

A

B

C

Gateway

Page 40: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

15

30

60

12

10

20

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed✦ Goal: Hide who pays to whom (unlinkability) from an adversary

who controls up to (n-2) input wallets

8

A

B

C

Gateway

Page 41: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

12

10

20

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed✦ Goal: Hide who pays to whom (unlinkability) from an adversary

who controls up to (n-2) input wallets

50

20

05

8

A

B

C

Gateway

Page 42: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed✦ Goal: Hide who pays to whom (unlinkability) from an adversary

who controls up to (n-2) input wallets

3050

20

05

20

22

8

A

B

C

Gateway

Page 43: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed✦ Goal: Hide who pays to whom (unlinkability) from an adversary

who controls up to (n-2) input wallets

3050

20

05

20

22

8

✦ Multi-input-multi-output (CoinJoin) transaction: Not supported in Ripple.

A

B

C

Gateway

Page 44: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

C’

B’

A’

Path Mixing for Privacy-preserving Transactions

✦ Idea: Transaction paths sharing a common node can be mixed✦ Goal: Hide who pays to whom (unlinkability) from an adversary

who controls up to (n-2) input wallets

3050

20

05

20

22

8

✦ Multi-input-multi-output (CoinJoin) transaction: Not supported in Ripple.✦ Atomicity problem: Who sends first?

A

B

C

Gateway

Page 45: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 46: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 47: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 48: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 49: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 50: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 51: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

9

Page 52: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Key Idea: Synchronization Using Shared Wallets

A

B

C

C’

B’

A’

A’/B’/C’

✦ Shared Wallet: Using a distributed signature scheme to share the ownership of the wallet

✦ The atomicity problem persists ✦ Who sends first to the shared wallet? ✦ Funds can be locked

9

Page 53: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

C’

B’

A’

20

30

40

10

Page 54: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

C’

B’

A’

✦ Two shared wallets (two rounds of synchronization suffice)

20

30

40

10

Page 55: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

C’

B’

A’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)

20

30

40

10

Page 56: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)

20

30

40

10

Page 57: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)

20

30

40

10

10

10

10

Page 58: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)

20

30

40

10

10

10

10

Page 59: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)

20

30

40

10

10

10

10

1010

0

10

Page 60: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

20

30

40

10

10

10

10

1010

0

10

Page 61: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

20

30

40

10

10

10

10

1010

0

10

Page 62: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

20

30

40

10

10

10

10

1010

0

10

Page 63: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

20

30

40

10

1010

0

0

0

0

10

Page 64: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

10

1010

0

0

0

0

10

20

30

10

Page 65: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Gateway

Our Protocol for Atomic Transactions: PathJoin

A

B

C

A/B/C

C’

B’

A’

A’/B’/C’

✦ Two shared wallets (two rounds of synchronization suffice)✦ Pre-fund the input and output shared wallets (e.g., mix 10 credit)✦ Perform the mixing transaction

10

1010

0

0

0

0

10

20

30

30

10

Page 66: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

Page 67: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

✦ Atomic transactions (PathJoin) alone do not suffice✦ How to know the output wallets in the first place?

Page 68: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

✦ Atomic transactions (PathJoin) alone do not suffice✦ How to know the output wallets in the first place?

✦ We require:✦ Mechanism to find participants (bootstrapping)

10

10

10

A

B

C

Page 69: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

✦ Atomic transactions (PathJoin) alone do not suffice✦ How to know the output wallets in the first place?

✦ We require:✦ Mechanism to find participants (bootstrapping)✦ Anonymously construct the list of output wallets (DiceMix)

A’

B’

C’

10

10

10

A

B

C

Page 70: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

✦ Atomic transactions (PathJoin) alone do not suffice✦ How to know the output wallets in the first place?

✦ We require:✦ Mechanism to find participants (bootstrapping)✦ Anonymously construct the list of output wallets (DiceMix)

A’

B’

C’

10

10

10

P2P Mixing and Unlinkable Bitcoin Transactions

Tim Ruffing, Pedro Moreno-Sanchez, Aniket Kate.

NDSS ‘17

A

B

C

Page 71: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

PathShuffle: PathJoin + DiceMix

11

✦ Atomic transactions (PathJoin) alone do not suffice✦ How to know the output wallets in the first place?

✦ We require:✦ Mechanism to find participants (bootstrapping)✦ Anonymously construct the list of output wallets (DiceMix)

A’

B’

C’

10

10

10

P2P Mixing and Unlinkable Bitcoin Transactions

Tim Ruffing, Pedro Moreno-Sanchez, Aniket Kate.

NDSS ‘17

A

B

C

Page 72: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Discussion

12

Page 73: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Discussion

✦ PathJoin enables atomic transactions ✦ Interesting applications other than privacy (e.g., crowdfunding) ✦ Discussion on forums (e.g., ICO):

https://www.xrpchat.com/topic/6879-pathjoin/

12

Page 74: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Discussion

✦ PathJoin enables atomic transactions ✦ Interesting applications other than privacy (e.g., crowdfunding) ✦ Discussion on forums (e.g., ICO):

https://www.xrpchat.com/topic/6879-pathjoin/

✦ PathShuffle enables path mixing in the Ripple network ✦ Successfully tested in the real Ripple network! ✦ Compatible with other credit networks (e.g., Stellar)

12

Page 75: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Discussion

✦ PathJoin enables atomic transactions ✦ Interesting applications other than privacy (e.g., crowdfunding) ✦ Discussion on forums (e.g., ICO):

https://www.xrpchat.com/topic/6879-pathjoin/

✦ PathShuffle enables path mixing in the Ripple network ✦ Successfully tested in the real Ripple network! ✦ Compatible with other credit networks (e.g., Stellar)

✦ PathShuffle is a simple smart contract ✦ However, Ripple does not have script language ✦ Are other “scriptless” contracts possible? Limitations?

12

Page 76: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

Page 77: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

✦ Credit Networks (e.g., Ripple) allow worldwide, fast, cheap, cross-currency transactions

Page 78: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

✦ Credit Networks (e.g., Ripple) allow worldwide, fast, cheap, cross-currency transactions

✦ There exist privacy breaches because of the publicly available Ripple ledger

Page 79: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

✦ Credit Networks (e.g., Ripple) allow worldwide, fast, cheap, cross-currency transactions

✦ There exist privacy breaches because of the publicly available Ripple ledger

✦ PathJoin: protocol for atomic payments in Ripple with interesting applications

Page 80: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

✦ Credit Networks (e.g., Ripple) allow worldwide, fast, cheap, cross-currency transactions

✦ There exist privacy breaches because of the publicly available Ripple ledger

✦ PathJoin: protocol for atomic payments in Ripple with interesting applications

✦ PathShuffle: protocol for anonymous payments fully compatible with current Ripple

Page 81: PathShuffle: Credit Mixing and Anonymous Payments for Ripple · Pedro Moreno-Sanchez Purdue University $ $ $ $ $ PathShuffle: Credit Mixing and Anonymous Payments for Ripple Tim Ruffing

Take Home Message

13

✦ Credit Networks (e.g., Ripple) allow worldwide, fast, cheap, cross-currency transactions

✦ There exist privacy breaches because of the publicly available Ripple ledger

✦ PathJoin: protocol for atomic payments in Ripple with interesting applications

✦ PathShuffle: protocol for anonymous payments fully compatible with current Ripple

Thanks! @pedrorechez