Snappy Fast On-chain Payments with Practical Collaterals Vasilios - - PowerPoint PPT Presentation

snappy
SMART_READER_LITE
LIVE PREVIEW

Snappy Fast On-chain Payments with Practical Collaterals Vasilios - - PowerPoint PPT Presentation

Snappy Fast On-chain Payments with Practical Collaterals Vasilios Mavroudis * , Karl Wst , Aritra Dhar Kari Kostiainen , Srdjan Capkun * University College London ETH Zurich 1 Cryptocurrencies s bas based on on pe


slide-1
SLIDE 1

Snappy

Fast On-chain Payments with Practical Collaterals

Vasilios Mavroudis*, Karl Wüst†, Aritra Dhar† Kari Kostiainen†, Srdjan Capkun†

*University College London †ETH Zurich

1

slide-2
SLIDE 2

Cryptocurrencies s bas based on

  • n pe

permiss ssionless blo blockchains cou

  • uld

❖ Decentralize the global financial system ❖ Reduce trust assumptions ❖ Increase operational transparency ❖ Improve user privacy

2

slide-3
SLIDE 3

Throughput Latency Privacy Centralized Processors Permissionless Blockchains Thousands

  • f txs/sec

Minutes to finality Confirmation in <3 sec [0, full privacy)

Open Challenges

Tenths

  • f txs/sec

Trusted third party needed

3

slide-4
SLIDE 4

Throughput Latency Privacy Centralized Processors Permissionless Blockchains Thousands

  • f txs/sec

Minutes to finality Confirmation in <3 sec [0, full privacy)

Open Challenges

Tenths

  • f txs/sec

Trusted third party needed

  • Retail Payments
  • Point-of-Sale Purchases
  • Time-critical Transactions

4

slide-5
SLIDE 5

On-chain Improvements

➢ e.g., Proof-of-Stake, Sharding ➢ Improve the throughput of the blockchain. ➢ Improve latency only under a relaxed threat model.

5

slide-6
SLIDE 6

On-chain Improvements

➢ e.g., Proof-of-Stake, Sharding ➢ Improve the throughput of the blockchain. ➢ Improve latency only under a relaxed threat model.

No improvement in latency under the original threat model.

6

slide-7
SLIDE 7

Layer 2 Protocols

➢ Move transactions off the chain. ➢ Use the blockchain only when necessary. ➢ High-throughput and low-latency.

7

slide-8
SLIDE 8

Layer 2 Protocols

➢ Move transactions off the chain. ➢ Use the blockchain only when necessary. ➢ High-throughput and low-latency.

Payment channels

❖ Large amount of locked-in funds for customers. ❖ Require a separate deposit for each channel. ❖ Pre-deposit their future expenditure.

8

slide-9
SLIDE 9

Layer 2 Protocols

➢ Move transactions off the chain. ➢ Use the blockchain only when necessary. ➢ High-throughput and low-latency.

Payment channels

❖ Large amount of locked-in funds for customers. ❖ Require a separate deposit for each channel. ❖ Pre-deposit their future expenditure.

Payment networks, Payment hubs, Side-chains

❖ Incompatible with the unilateral nature of retail payments (no rebalancing). ❖ Additional trust assumptions.

9

slide-10
SLIDE 10

Snappy

➢ Low latency (<2 secs) suitable for retail payments. ➢ Operates on top of low-throughput and high-latency blockchains. ➢ Future on top of high-throughput and high/mid-latency blockchains.

11

slide-11
SLIDE 11

Snappy

➢ Low latency (<2 secs) suitable for retail payments. ➢ Operates on top of low-throughput and high-latency blockchains. ➢ Future on top of high-throughput and high/mid-latency blockchains.

Key Features

❖ No changes to the underlying consensus protocol. ❖ No additional trust assumptions. ❖ No additional operational requirements.

12

slide-12
SLIDE 12

Snappy

➢ Low latency (<2 secs) suitable for retail payments. ➢ Operates on top of low-throughput and high-latency blockchains. ➢ Future on top of high-throughput and high/mid-latency blockchains.

Key Features

❖ No changes to the underlying consensus protocol. ❖ No additional trust assumptions. ❖ No additional operational requirements. ❖ Small opportunity cost. ❖ Requires smartcontract language.

13

slide-13
SLIDE 13

Snappy

Application scenarios

❖ A large number of users (e.g., 1,000,000 customers). ❖ A moderate set of recipients (e.g., 100 merchants).

14

slide-14
SLIDE 14

Snappy

Application scenarios

❖ A large number of users (e.g., 100,000 customers). ❖ A moderate set of recipients (e.g., 100 merchants). ❖ Users pay the recipients. ❖ Small- to mid-value transactions.

15

slide-15
SLIDE 15

Snappy

Application scenarios

❖ A large number of users (e.g., 100,000 customers). ❖ A moderate set of recipients (e.g., 100 merchants). ❖ Users pay the recipients. ❖ Small- to mid-value transactions. ❖ The recipients give the products, once they receive the funds.

16

slide-16
SLIDE 16

How does latency occur?

❖ Block interval (e.g., ~13 seconds for Ethereum) ❖ Probabilistic finality (>1 confirmations) ❖ The number of confirmations,

depends on the transaction value

17

slide-17
SLIDE 17

How does latency occur?

❖ Block interval (e.g., ~13 seconds for Ethereum) ❖ Probabilistic finality (>1 confirmations) ❖ The number of confirmations,

depends on the transaction value

Can we do zero-confirmation txs?

18

m c

slide-18
SLIDE 18

How does latency occur?

❖ Block interval (e.g., ~13 seconds for Ethereum) ❖ Probabilistic finality (>1 confirmations) ❖ The number of confirmations,

depends on the transaction value

Can we do zero-confirmation txs?

m c

19

slide-19
SLIDE 19

Trivial Solutions

❖ Convince your supermarket to trust you? ❖ Pre-deposit funds to your local supermarket? ❖ Try to catch double-spending early?

20

slide-20
SLIDE 20

Trivial Solutions

❖ Convince your supermarket to trust you? ❖ Pre-deposit funds to your local supermarket? ❖ Try to catch double-spending early?

Can we do better?

❖ Customers keep their money in their wallet. ❖ Merchants guaranteed to get their money. ❖ No trust to/reliance on third parties.

21

slide-21
SLIDE 21

Idea: Collaterals

1. Customer places collateral (e.g., $100) on a smartcontract. 2. Victim merchants can claim funds if the customer cheats.

m Arb c

22

slide-22
SLIDE 22

Idea: Collaterals

1. Customer places collateral (e.g., $100) on a smartcontract. 2. Victim merchants can claim funds if the customer cheats.

A settlement “claim” requires

❖ The payment transaction (given to the merchant by the customer). ❖ Its conflicting transaction (from the blockchain). ❖ In Ethereum, conflicting transactions share the same nonce.

m Arb c

The collateral is used only when doublespending!

23

slide-23
SLIDE 23

Triple-spending Attack Scaling collaterals to multiple merchants

❖ Need to keep track of “pending” transactions. ❖ Merchants accept payment, if the collateral suffices for everyone.

m1 Arb c m2

24

slide-24
SLIDE 24

Proposal #1: Trusted Merchants

25

slide-25
SLIDE 25

Proposal #1: Trusted Merchants

26

slide-26
SLIDE 26

Proposal #1: Trusted Merchants

27

slide-27
SLIDE 27

Proposal #1: Trusted Merchants

28

slide-28
SLIDE 28

Proposal #1: Trusted Merchants

29

slide-29
SLIDE 29

Proposal #1: Trusted Merchants

30

slide-30
SLIDE 30

Proposal #1: Trusted Merchants

31

slide-31
SLIDE 31

Proposal #1: Trusted Merchants

Drawbacks

❖ Assumes all merchants are trustworthy. ❖ Requires 100% availability of all merchants.

Side-chain variant

❖ Additional trust assumptions ❖ e.g., BFT -> 1/3 malicious merchants

32

slide-32
SLIDE 32

Proposal #2: Trusted Third Party

34

slide-33
SLIDE 33

Proposal #2: Trusted Third Party

35

slide-34
SLIDE 34

Proposal #2: Trusted Third Party

36

slide-35
SLIDE 35

Proposal #2: Trusted Third Party

37

slide-36
SLIDE 36

Proposal #2: Trusted Third Party

38

Drawbacks

  • What if the statekeeper equivocates?
  • What if the statekeeper colludes with customers?
slide-37
SLIDE 37

Proposal #3: Untrusted Third Party

❖ Almost the same as before ❖ Statekeeper places collateral per merchant. ❖ If the customer’s collateral get depleted,

the statekeeper’s collateral is used.

41

slide-38
SLIDE 38

Proposal #3: Untrusted Third Party

❖ Almost the same as before ❖ Statekeeper places collateral per merchant. ❖ If the customer’s collateral get depleted,

the statekeeper’s collateral is used.

42

Drawbacks

  • We still rely on a third party.
slide-39
SLIDE 39

Snappy: Statekeeping Merchants

44

slide-40
SLIDE 40

Snappy: Statekeeping Merchants

45

slide-41
SLIDE 41

Snappy: Statekeeping Merchants

46

slide-42
SLIDE 42

Snappy: Statekeeping Merchants

47

slide-43
SLIDE 43

Snappy: Statekeeping Merchants

48

slide-44
SLIDE 44

Snappy: Statekeeping Merchants

49

slide-45
SLIDE 45

Snappy: Statekeeping Merchants

50

50%+1 Approvals

slide-46
SLIDE 46

Snappy: Statekeeping Merchants

51

Approval: “I haven’t approved another transaction from c1 with the same index number.” 50%+1 Approvals

slide-47
SLIDE 47

Snappy: Statekeeping Merchants

52

slide-48
SLIDE 48

Snappy: Statekeeping Merchants

53

slide-49
SLIDE 49

Proof of Merchant Equivocation

54

slide-50
SLIDE 50

Proof of Merchant Equivocation

55

slide-51
SLIDE 51

Proof of Merchant Equivocation

56

slide-52
SLIDE 52

Approval Protocol

1. The customer initializes the payment. 2. Merchant verifies the collateral suffices. 3. Payment approval (50%+1). 4. Statekeeper evaluation. 5. Signature aggregation (e.g., BLS). 6. Customer signs final transaction. 7. Merchant verifies and completes checkout. 8. Transaction logged in blockchain and by the smartcontract.

s1 s2 sl ...

Sc, INTc

m c τc m

Α

τc m

SigAggr Cust Eval Payment Approval

INTc

>k/2

Sk Eval

3

3

6

2 1 4 5 7 8

Tx Fin

Blockchain

57

slide-53
SLIDE 53

Approval Protocol

1. The customer initializes the payment. 2. Merchant verifies the collateral suffices. 3. Payment approval (50%+1). 4. Statekeeper evaluation. 5. Signature aggregation (e.g., BLS). 6. Customer signs final transaction. 7. Merchant verifies and completes checkout. 8. Transaction logged in blockchain and by the smartcontract.

s1 s2 sl ...

Sc, INTc

m c τc m

Α

τc m

SigAggr Cust Eval Payment Approval

INTc

>k/2

Sk Eval

3

3

6

2 1 4 5 7 8

Tx Fin

Blockchain

58

slide-54
SLIDE 54

Scalability: Latency

64

slide-55
SLIDE 55

Scalability: Small Collaterals

❖ Only need to cover the expenditure within the latency period. ❖ Reusable. ❖ Flexible. ❖ Independent of the number of customers.

65

slide-56
SLIDE 56

Takeaways

❖ An honest merchant never loses funds. ❖ Deployable on top of existing blockchains (e.g.,Ethereum). ❖ No additional trust assumptions. ❖ Small amount of locked in funds. ❖ Very low latency.

66

slide-57
SLIDE 57

Snappy

Fast On-chain Payments with Practical Collaterals

Vasilios Mavroudis, Karl Wüst, Aritra Dhar, Kari Kostiainen, Srdjan Capkun

Thank you! Questions?

68