51
Adrian Hope-Bailie @ahopebailie W3C Web Payments, and The Interledger Protocol The Future of Payments

The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Adrian Hope-Bailie@ahopebailie

W3C Web Payments, and The Interledger Protocol

The Future of Payments

Page 2: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

What is the future of payments?

Image credit: https://www.pexels.com/photo/smart-watch-smartwatch-futuristic-technology-9051/

Page 3: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

How will we get there?

Page 4: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

In the future there will be no payments...

Page 5: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Because in the future:

● Payment initiation will be frictionless● Payment networks will be interoperable

● New business models will be viable● New ecosystems will emerge

Page 6: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

In the future there will be no payments...

...because payments will be

completely UBIQUITOUS

Page 7: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Getting there...

1. Standardize the handshake2. Standardize the messaging3. Standardize the transport

Page 8: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The 4-corner model

Page 9: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Payee centric model

Static Dynamic

Page 10: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Introducing Payment Apps

Payment Request API

Photo credit: https://www.flickr.com/photos/78855484@N03/7223384344

Page 11: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

11

Matchmaking based on payment methods

Sender Recipient

Payment App Website

Page 12: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The circle is complete

Page 13: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

13

Sender Recipient

Payment App Website

What if there is no common payment method?

?

Page 14: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

14

Sender Recipient

Payment App Website

We need a way to pay across networks?

Page 15: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

15

Sender Recipient

Payment App Website

And the answer is not another network

Page 16: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

It’s a network of networks

Page 17: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

17

Lessons from the evolution of the Internet

RFC 1122 - Requirements for Internet Hosts -- Communication LayersRFC 1123 - Requirements for Internet Hosts -- Application and SupportRFC 1009 - Requirements for Internet Gateways

Network Interface Layer

Internet Layer

Transport Layer

Application Layer

Ethernet

IP

TCP

HTTP

RS232 X25

UDP

SMTP FTP

Page 18: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

But, how do you actually move digital assets?

Sender Recipient

$$$

18

Page 19: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Well, digital assets are just balances in a ledger

Sender RecipientLedger

19

Sender 100

Receiver 0

Page 20: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

So you just change the balances in the ledger

Sender Recipient50

20

Sender 50

Receiver 5050

Page 21: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

21

Ledger protocols move assets in a ledger

Ledger Interface Layer SLP Bitcoin ...

Page 22: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

But not everyone has accounts on the same ledger

22

Sending Ledger Receiving Ledger

$ ¥

Page 23: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

We need a connector that has accounts on both ledgers. A digital asset “switch”.

Connector

23

Page 24: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The connector accepts a transfer on one ledger in exchange for making a transfer on another

Sender 100

Connector 0

Connector 100

Receiver 0

24

Page 25: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The result is that the assets move from the sender’s account to the receiver’s

Sender 75

Connector 25

Connector 75

Receiver 25

25

25 25

Page 26: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

26

The Interledger protocols define how connectors route and transfer digital assets between ledgers

Ledger Interface Layer SLP Bitcoin ...

Interledger Layer ILP

Page 27: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

But how can we be sure the connector won’t drop the transfer?

Sender 75

Connector 25

Connector 100

Receiver 0

?

25

27

Page 28: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

28

Different transport layer protocols offer different delivery guarantees

Ledger Interface Layer SLP Bitcoin ...

Interledger Layer

Transport Layer

ILP

OTP UTP ATP

Page 29: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Optimistic Transfer Protocol is… optimistic

Sender 75

Connector 25

Connector 100

Receiver 0

?

25

29

?

?

● High volume, extremely low value use cases● Micropayments

Page 30: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

To improve on OTP we need atomicity.

30

Page 31: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Either all transactions complete...

Sender 75

Connector 25

Connector 75

Receiver 2525 25

31

Page 32: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

...Or none of them do

32

Sender 100

Connector 0

Connector 100

Receiver 0

Page 33: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

This problem is commonly solved using the two phase commit pattern for transaction atomicity.

33

Page 34: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

To support the Universal Transfer Protocol ledgers must be capable of staging a transfer through escrow

Sender 100

Escrow 0

Connector 0

Connector 100

Escrow 0

Receiver 0

34

Page 35: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The payment is prepared by putting assets in escrow on each ledger and all ledgers agreeing on a release condition proposed by the receiver

25

35

Sender 75

Escrow 25

Connector 0

Connector 75

Escrow 25

Receiver 0

25

Page 36: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The payment is executed by releasing funds to the receiver first and then passing the signed release fulfillment back down the line

36

Sender 75

Escrow 25

Connector 0

Connector 75

Escrow 0

Receiver 2525

Page 37: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Connectors have an incentive to pass the fulfillment proof to the next and get paid

37

Sender 75

Escrow 0

Connector 25

Connector 75

Escrow 0

Receiver 2525

Page 38: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

The Atomic Transfer Protocol uses trusted notaries to trigger the execution of the transfers

2525

38

Sender 75

Escrow 0

Connector 25

Connector 75

Escrow 0

Receiver 25

Page 39: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

These basic building blocks enable digital assets to be securely relayed across multiple ledgers and networks

39

Page 40: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Chained PaymentsFrom any sender to any receiver through one or more connectors

40

Page 41: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Limitlessly ScalableConnectors and Ledgers can be added to handle more payments

41

Page 42: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Connecting Disparate SystemsMinimal standard to link banks, networks, telcos, etc

42

Central Bank

Payment Network Mobile Network Operator

Page 43: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Free the world’s liquidityUnlocking liquidity from multiple sources to lower capital costs

43

Sender Receiver

Connectors Connectors ConnectorsNetworks, FIs Networks, FIs

Page 44: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

44

Use case specific application layer protocols can be developed on top of the Interledger stack

Ledger Interface Layer SLP Bitcoin ...

Interledger Layer

Transport Layer

Application Layer

ILP

OTP

OWPS

UTP

? ?

ATP

Page 45: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

45

Open Web Payment Scheme provides basic consumer payments across networks

Sender Recipient

Payment App Website

Page 46: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Payment Apps + Interledger = ?

Page 47: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Payment Apps + Interledger = ?

● Autonomous payments and the Internet of Things○ Massive increase in global payments volume○ Financial incentives driving new behaviour

● Micropayments-based business models ○ Goodbye advertising and DRM○ Privacy and convenience… together

● Personal ledgers

Page 48: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

48

1880

1890

1900

1910

1920

1930

1940

1950

1960

1970

1980

1990

2000

2010

2020

Volu

me

of In

form

atio

nInternet reaches

global market

Increasing speed increases the volumeInformation exchange exploded because of the Internet’s speed and reach

Page 49: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Payment RequiredThis code is reserved for future use

402https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.3

Page 50: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Payment RequiredThis code is ready for use

402https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.3

Page 51: The Interledger Protocol W3C Web Payments, and · 2016-04-13 · The connector accepts a transfer on one ledger in exchange for making a transfer on another Sender 100 Connector 0

Adrian Hope-Bailie@ahopebailieThank You

Web Payments Activityhttps://w3.org/payments

Interledger Protocolhttps://interledger.org