How ILP Works
-
Upload
interledger -
Category
Technology
-
view
194 -
download
0
Transcript of How ILP Works
How It Works
Evan Schwartz & Stefan Thomas
ILP Packet, Addressing, Routing
Ledgers Track Accounts and Balances
Sender RecipientLedger
2
But Not Everyone Is on the Same Ledger
3
Connectors Relay Money
Connector
Alice 100
Chloe 0
Chloe 110
Bob 0100 110
4
Connectors Convert Currencies
Connector
Alice 100
Chloe 0
Chloe 110
Bob 0100 110
5
How do we ask a connectorto pass on a payment?
We Need a Way to Send Instructions to Connectors
Alice 100
Chloe 0
Chloe 110
Bob 0
7
Um, excuse me? ...hello there…? ZZZZZZ
address: "us.wf.bob"
Interledger In One Slide
Hierarchical identifier
Decimal amountamount: "1023.20"
us.wf.bob1023.20
Sender Attaches Packet to Local Transfer
Alice 100
Chloe 0
Chloe 110
Bob 0100
10
us.wf.bob1023.20
Connector Forwards the Packet via Another Transfer
Alice 0
Chloe 100
Chloe 110
Bob 0
11
us.wf.bob1023.20
110
Paths Can Be Short
12
Or Long
13
Uh oh...
14
Can we trust connectors?
If Connectors Fail, Would We Lose Money?
Alice 100
Chloe 0
Chloe 110
Bob 0
?
100
16
Holds Provide Security
Ledgers Provide Hold Functionality
Alice 100
On Hold 0
Chloe 0
Chloe 110
On Hold 0
Bob 0
18
Holds Are Dependent on Conditions + Expiries
19
EXECUTEROLLBACK
Condition Fulfillment Executes Transfer
20
EXECUTEROLLBACK
Timeouts Cause Funds to Be Returned
21
EXECUTEROLLBACK
address: "us.wf.bob"amount: "1023.20"expiry: "2016-07-06T09:00:10Z"condition: "cc:0:3:4a7DEpj8f9..."
Interledger In One Slide (Really)
Timestamp (ISO 8601)
Crypto Condition
Funds Are Committed From Left to Right
23
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
24
us.wf.bob1023.20cc:0:3:4a...2016-07...
Connector Gets Notification of Funds on Hold
Alice 0
On Hold 100
Chloe 0
Chloe 110
On Hold 0
Bob 0
25
us.wf.bob1023.20cc:0:3:4a...2016-07...
?
Connector Puts Funds on Hold
Alice 0
On Hold 100
Chloe 0
Chloe 110
On Hold 0
Bob 0
26
us.wf.bob1023.20cc:0:3:4a...2016-07...
110?
Recipient Gets Notification of Funds on Hold
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 110
Bob 0
27
us.wf.bob1023.20cc:0:3:4a...2016-07...
? ?
Recipient Triggers Payment by Fulfilling the Condition
Transfers Are Executed Right to Left
29
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
30
? ?
Signature Fulfills Condition, Ledger Releases Held Funds
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 110
Bob 0110
31
?
How Does the Connector Get Reimbursed?
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 0
Bob 110
32
?
?
Connector is Notified That Funds Have Been Released
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 0
Bob 110
33
?
Connector Passes on the Recipient’s Signature
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 0
Bob 110
34
?
Receipt Releases Funds from Hold
Alice 0
On Hold 100
Chloe 0
Chloe 0
On Hold 0
Bob 110
35
100
Sender Gets Non-Repudiable Proof of Payment
Alice 0
On Hold 0
Chloe 100
Chloe 0
On Hold 0
Bob 110
36
37
COMMITMENT
Transfers Are Committed L2R, Executed R2L
EXECUTION
(Now) Paths Can Be Short
38
Or Long
39
Or Long (And Still Secure)
40
The Interledger
address: "us.wf.bob"amount: "1023.20"expiry: "2016-07-06T09:00:10Z"condition: "cc:0:3:4a7DEpj8f9..."
Enabled By a Simple Packet Format
How do those addresses work?
address: "us.wf.bob"ledger account
Interledger Addresses
address: "us.wf.bob.mary"ledger subledger
Interledger Addresses
account
Connectors Convert Currencies
Connector
Alice 100
Chloe 0
Chloe 110
Bob 0100 110
46
Where does this rate come from?
Liquidity Curves Determine Exchange Rates
48
Connie
Connectors Set Rates per Ledger Pair
49
Ledger A
Ledger B
Ledger C
Ledger DA ⇒ B
A ⇒ C
A ⇒ D
Connectors Advertise Their Routes
50
A ⇒ BLedger Z Carmine
Synthetic Routes Are Created
51
A ⇒ BZ ⇒ A
Synthetic Routes Are Created
52
A ⇒ BZ ⇒ A
= Z ⇒ A ⇒ B
And Added to the Routing Table
53
Z ⇒ A ⇒ B
Connie
Z ⇒ A ⇒ C
Connie
Z ⇒ A ⇒ D
Connie
Routing Tables Grow Quickly
54
Z ⇒ A Local
Z ⇒ A ⇒ B
Connie
Z ⇒ A ⇒ C
Connie
Z ⇒ A ⇒ D
Connie
Z ⇒ C Local
Z ⇒ C ⇒ E Chao
Z ⇒ C ⇒ F Carl
Autonomous Systems
Core vs. Periphery
Routing a Payment
us.wf.bob.car1023.20
First We Route Up
us.wf.bob.car1023.20
Then Across
us.wf
us.wf.bob.car1023.20
Then Across
us.wf
us.wf.bob.car1023.20
And Finally Down
us.wf
us.wf.bob.car1023.20
us.wf.bob
And Finally Down
us.wf
us.wf.bob
us.wf.bob.carus.wf.bob.car1023.20
Some Ledgers Aren't Real Ledgers
us.wf
us.wf.bob
us.wf.bob.car
us.*
Questions?