interledger - world wide web consortium · 7/1/2016  · ilp otp utp atp applications ach sepa...

Post on 08-Oct-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Interledger

Adrian Hope-Bailie

Project Overview and Update

Ledgers Track Accounts and Balances

Sender RecipientLedger

3

Central Ledger Model

Distributed Ledger Model

The World Will Never AgreeOn One Ledger

Diversity Is A Good Thing

7

BlockchainSEPA M-PESA Visa

But Why Is Everything Disconnected?

8

BlockchainSEPA M-PESA Visa

Learning From History

Internet: Network of Networks

Internet Architecture

IP

TCP UDP

HTTP SMTP NTPRTP DNS ...

FIREFOX THUNDERBIRD WHATSAPP ...

PPPETHERNET

WIFI COPPER BLUETOOTH SAT

Internet: Network of Networks

204.28.124.148IP Address

The internet protocol implements two basic functions:addressing and fragmentation.

— RFC 791

InterledgerThe protocol for connecting ledgers.

Interledger Architecture

ILP

OTP UTPATP

APPLICATIONS

ACH SEPABITCOIN PAYPAL

amount: "1023.20"← Hierarchical identifieraddress: "us.wf/bob"← Decimal amount

ledger account

Interledger In One Slide

Ledgers Track Accounts and Balances

Sender RecipientLedger

17

But Not Everyone Is on the Same Ledger

18

We Know That There Must Be Local Transfers

19

Alice 100

??? 0

??? 110

Bob 0100 110

Connectors Relay Money

Connector

Alice 100

Chloe 0

Chloe 110

Bob 0100 110

20

What If theConnector Drops It?

21

Money Would Be Lost

Alice 100

Chloe 0

Chloe 110

Bob 0

?

100

22

Holds Provide Security

23

Holds Provide Security

Alice 100

On Hold 0

Chloe 0

Chloe 110

On Hold 0

Bob 0

24

Funds Are Committed From Left to Right

25

Alice 100

On Hold 0

Chloe 0

Chloe 110

On Hold 0

Bob 0

COMMITMENT

Sender Puts Funds On Hold

Alice 100

On Hold 0

Chloe 0

Chloe 110

On Hold 0

Bob 0

100

26

condition: CAamount: 110.00address: us.wf/bob

amount: 100address: Chloe

Connectors Is Notified of Funds On Hold

Alice 0

On Hold 100

Chloe 0

Chloe 110

On Hold 0

Bob 0

27

condition: CAamount: 110.00address: us.wf/bob

amount: 100address: Chloe

Connector Puts Funds On Hold

Alice 0

On Hold 0

Chloe 0

Chloe 110

On Hold 0

Bob 0

28

110

condition: CAamount: 110.00address: us.wf/bob

amount: 110address: Bob

Receiver is Notified of Funds On Hold

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 110

Bob 0

29

condition: CAamount: 110.00address: us.wf/bob

amount: 110address: Bob

Transfers Are Executed Right to Left

30

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 110

Bob 0

EXECUTION

Recipient Signs Receipt

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 110

Bob 0

31

fulfillment: F(CA)

Receipt Releases Funds from Hold

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 110

Bob 0110

32

fulfillment: F(CA)

How Does the Connector Get Reimbursed?

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 0

Bob 110

33

?

Connector is Notified that funds have been released

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 0

Bob 110

34

fulfillment: F(CA)

Connector Passes on the Receipt

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 0

Bob 110

35

fulfillment: F(CA)

Receipt Releases Funds from Hold

Alice 0

On Hold 100

Chloe 0

Chloe 0

On Hold 0

Bob 110100

36

fulfillment: F(CA)

Sender has Non-Repudiable Proof of Payment

Alice 0

On Hold 0

Chloe 100

Chloe 0

On Hold 0

Bob 110

37

fulfillment: F(CA)

38

COMMITMENT

Transfers Are Committed L2R, Executed R2L

EXECUTION

Paths Can Be Short

39

Or Long

40

Or Even Longer

41

The Interledger

BlockchainSEPA M-PESA Visa

43

A Standard for Real-Time Payments Across Networks

Interledger.org

Setting up an Interledger payment requires a few things:

● DiscoveryResolve and discover receiving ledger services from receiver’s account identifier

● QueryQuery receiving ledger to get currency, precision etc

● QuoteGet a quote from the network

● SetupPrepare the ILP packet (get condition etc)

The “Simple Payment Setup Protocol”

● DiscoveryUse WebFinger to resolve account@ledger identifiers

● QueryStandard Web APIs for getting receiver info

● QuoteGet a quote from the network

● SetupStandards Web API for getting a condition from the receiver

The “Simple Payment Setup Protocol” - Discovery

Webfinger (RFC 7033) to look up an identifier (e.g. bob@red.ilpdemo.org)

GET /.well-known/webfinger?resource=acct%3Abob%40red.ilpdemo.org HTTP/1.1

Host: red.ilpdemo.org

Accept: application/json

HTTP/1.1 200 OK

Content-Type: application/json

{

"subject": "acct:bob@red.ilpdemo.org",

"links": [

{

"rel": "https://interledger.org/rel/receiver",

"href": "https://red.ilpdemo.org/api/receivers/bob"

}

]

}

The “Simple Payment Setup Protocol” - Query

Two receiver types:

PayeePayee information consists of basic account details. Amounts are chosen by the sender.

InvoiceInvoice information includes an exact amount as well as the status of the invoice. (Invoices can only be paid once.)

The “Simple Payment Setup Protocol” - Quote

● Quoting can be done using a quoting protocol

● Getting a quote is done by asking next connector

● Could be multiple quoting protocols based on both dynamic queries or static data

The “Simple Payment Setup Protocol” - Setup

POST /api/receiver/bob/payments HTTP/1.1

Host: red.ilpdemo.org

Accept: application/json

{

"amount": "10.40",

"source_identifier": "alice@blue.ilpdemo.org",

"memo": "Hey Bob!"

}

HTTP/1.1 201 Created

Content-Type: application/json

{

"receipt_condition": "cc:1:1:47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU:1"

}

Project Activity Update

● Working implementations from variety of contributors● 190 community group participants● 50+ attendees at first workshop in San Francisco● 150+ registered for workshop in London on 6 July● IETF BoF scheduled for 21 July● Collab with Christopher Allen and Peter Todd on Smart

Signatures/Dex/Crypto-conditions● Plans to collab with Lightning community on payment

channels and integrating crypto-ledgers into the Interledger

What’s next for the W3C?

● Implementations will drive standardization○ BigchainDB/Ascribe.io○ SkuChain○ Financial Inclusion projects○ Multiple Wallets○ Crypto-ledger “plugins”

● Formalization of payment setup protocols will likely be done in a W3C WG

● A payment setup protocol will likely also be spec’d as a payment method by the WG

Q&A

top related