Interledger - World Wide Web Consortium · 7/1/2016 · ILP OTP UTP ATP APPLICATIONS ACH SEPA...
Transcript of Interledger - World Wide Web Consortium · 7/1/2016 · ILP OTP UTP ATP APPLICATIONS ACH SEPA...
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. [email protected])
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:[email protected]",
"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": "[email protected]",
"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