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

Hi Melvin,

We also have this internal discussion, but more related to intellectual
property: music, books, images, video, ...
My take is to instantiate multiple ledgers, on per asset and connect them
with ILP. Hence I am on a mission to convince my peer devs at BigchainDB.
The nice thing is that a ledger then acts as a unique asset resource, much
like you would refer to objects in an API.
For us it adds the additional benefit to do per-asset validation and
configuration.

Of course, the other approach could be an intra-ledger approach, where you
have exchanges inside of your heterogeneous ledger.
Would be cool to see this happen (eg for colored coins and such).

Anyway, just some thoughts

Op wo 1 jun. 2016 om 03:18 schreef Melvin Carvalho <melvincarvalho@gmail.com
>:

> On 1 June 2016 at 02:46, Evan Schwartz <evan@ripple.com> wrote:
>
>> 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)
>>
>
> I see what you're saying.  And I can see both side.
>
> Consider a primitive ledger:
> Alice has 3 sheep, 2 pigs and 4 chickens
> Bob has 2 sheep, 10 coins and 2 knives
>
> This could be a ledger just keeping record of stuff.
>
> I wonder if we could have Ledger as a parent term, with single currency
> ledger, and multi currency ledger as child terms?
>
>
>>
>> On Tue, May 31, 2016 at 5:46 PM, Jehan Tremback <jehan.tremback@gmail.com
>> > wrote:
>>
>>> 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 08:12:08 UTC