W3C home > Mailing lists > Public > public-interledger@w3.org > June 2016

Re: Interledger RFCs, ILP Packet, and Ledger Plugin Interface

From: Evan Schwartz <evan@ripple.com>
Date: Tue, 31 May 2016 17:46:40 -0700
Message-ID: <CAONA2jUa6Kuvbm_frVh5g8=XQe+LSLdLoekjfnfnky7qMQX=yA@mail.gmail.com>
To: Jehan Tremback <jehan.tremback@gmail.com>
Cc: Melvin Carvalho <melvincarvalho@gmail.com>, Interledger Community Group <public-interledger@w3.org>
Correct, Jehan.

If you have a "ledger" with multiple currencies, it must implicitly support
converting one to the other to fulfill the transfer requirement. In ILP,
connectors are the ones that convert currencies. Thus, it is simpler to
model "ledgers" such as WebCredits, the Ripple Consensus Ledger, or many
bank systems as multiple single-currency ledgers connected by connectors
that handle the exchange.

(I've gone back and forth a bunch of times with Stefan about this point so
I can empathize with the question but in the end he convinced me that this
is the right way to go)

On Tue, May 31, 2016 at 5:46 PM, Jehan Tremback <jehan.tremback@gmail.com>

> Melvin, I think I remember someone saying that ledgers containing
> different currencies would be considered as separate ledgers, with each
> currency being it's own ledger.
> On Tue, May 31, 2016 at 5:39 PM, Melvin Carvalho <melvincarvalho@gmail.com
> > wrote:
>> On 1 June 2016 at 00:22, Evan Schwartz <evan@ripple.com> wrote:
>>> I want call your attention to the Interledger RFCs repo
>>> <https://github.com/interledger/rfcs>, and to three of the documents in
>>> particular. These reflect the latest ideas, which includes some new
>>> developments that clarify the structure of Interledger and make the analogy
>>> between Interledger and the internet protocols even stronger.
>>>    - IL-RFC-1: Interledger Architecture
>>>    <https://github.com/interledger/rfcs/blob/master/0001-interledger-architecture/0001-interledger-architecture.md>
>>>    This provides an overview of how the protocols in the Interledger
>>>    suite fit together and may be useful for answering the question "so what
>>>    *is* interledger?" (the whitepaper is more a theoretical defense of
>>>    the concepts underpinning interledger, rather than a description of the
>>>    components and how they work)
>>>    - IL-RFC-3: Interledger Protocol
>>>    <https://github.com/interledger/rfcs/blob/master/0003-interledger-protocol/0003-interledger-protocol.md>
>>>    This spec describes the ILP Packet format (a new and important
>>>    concept), which is heavily inspired by IP packets. Notably, it only
>>>    includes the destination address, destination amount and a nextHeader field
>>>    for adding additional headers (inspired by IPv6's extension format). It
>>>    does not include conditions, because we realized those actually fit into
>>>    "transport layer" protocols such as Universal and Atomic.
>>>    - IL-RFC-4: Ledger Plugin Interface
>>>    <https://github.com/interledger/rfcs/blob/master/0004-ledger-plugin-interface/0004-ledger-plugin-interface.md>
>>>    This is the Interledger protocol, right? So it's time for us to be
>>>    able to support other types of ledgers. This spec defines the abstraction
>>>    layer we will use to enable Interledger payments over new ledger types
>>>    (Bitcoin, Ethereum, BigchainDB, etc). We'll be refactoring the
>>>    five-bells-sender and -connector to use this interface. The goal is to make
>>>    supporting new ledgers as easy as writing a library that defines these
>>>    functions and plugging it in to the existing client and connector code
>>>    bases.
>>> As the name suggests, these are requests for comments, so comment away!
>>> These are all still drafts (and the other specs in the repo are just
>>> placeholders for now) but we're excited about these developments and
>>> realizations so we wanted to make sure you saw them.
>> Great job on the modularity.
>> Question:  why should a ledger contain only one type of currency?  In my
>> wallets the ledgers can contain multiple currencies.  Perhaps this is just
>> a naming issue.
>>> --
>>> Evan Schwartz | Software Architect | Ripple
>>> [image: ripple.com] <http://ripple.com>

Evan Schwartz | Software Architect | Ripple
[image: ripple.com] <http://ripple.com>
Received on Wednesday, 1 June 2016 00:47:28 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 1 June 2016 00:47:29 UTC