Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How ILP Works

507 views

Published on

Interledger packet, addressing, and routing. Presented at the Interledger workshop in London, 7/6/2016. Full presentation available here: https://interledger.org/presentations/2016-07-06%20-%20ILP%20Workshop%20London%202016.pdf

Published in: Technology
  • Be the first to comment

  • Be the first to like this

How ILP Works

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

×