-
Notifications
You must be signed in to change notification settings - Fork 33
Update ILP Glossary #123
base: master
Are you sure you want to change the base?
Update ILP Glossary #123
Conversation
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: Evan Schwartz <evan@ripple.com>
Co-Authored-By: David Fuelling <sappenin@gmail.com>
|
General comment/concern: Why are we providing our own definitions for terms that are not specific to the Interledger domain? I assume the goal of the glossary is to reduce confusion that stems from members of the community having different interpretations of ILP concepts. However by redefining known terms I'd argue we risk making the situation worse, not better. |
True.
Hence the reason for opening this PR for review by you all. Please let me know if there are any terms and/or definitions that you think are irrelevant or are not specific to Interledger, I will fix them :) |
sappenin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However by redefining known terms I'd argue we risk making the situation worse, not better.
@adrianhopebailie I'm sympathetic to your concern, though IMHO many existing financial terms have very broad definitions (or can mean multiple things), whereas Interledger tends to use these terms by narrowing their context and meaning (as opposed to simply re-defining them).
For example, an "account" can mean many things in the world, but in Interledger this has a specific meaning that limits the relationship to being between two peers; limits the relationship to a single asset type; etc.
Maybe it would be better to call out definitions of specific concern here? For example, is there somewhere in this PR where a definition is re-defining something as opposed to simply narrowing the meaning of an existing word that might have many definitions?
@sappenin this is an example of exactly what worries me. If we co-opt the word account then how do we know when we are talking about the Interledger-defined version or the more general version. If the answer is context then what should I call the various other accounts that come up in conversations in this community? For this specific example you'll note that I explicitly called this type of account an "Interledger account" in ILP-RFC 33. That wasn't an accident 😃 Every time we do these things that seem easier we need to realise they are easier for everyone that is already in the community but make it harder for anyone new. I'll try to compile a list later today of terms I suggest we reconsider or at least contextualise. |
|
|
||
| Application Layer protocols specify all of the data and methods required to set up a payment for a specific category of use cases or applications. For example, the [Simple Payment Setup Protocol](#simple-payment-setup-protocol-spsp) uses HTTPS for account detail lookup. | ||
|
|
||
| ## Arbitrage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we remove this? I don't feel it's that relevant to Interledger or that useful to define
|
|
||
| ## Settlement | ||
|
|
||
| The finalization of a payment, such that the payee takes the ownership of the transferred funds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The settlement itself can be a payment (such as a ledger transfer), so it seems confusing to define a settlement in terms of (what I inferred was?) an Interledger payment. "Payee" elsewhere in this document is used to describe the recipient of an Interledger payment, but settlement can occur between any two peers. "Settlement" may also occur independently from packets at the Interledger layer.
Here's the definition from the Settlement RFC, which might be helpful (but I think this can also be improved): https://github.com/interledger/rfcs/pull/536/files#diff-6a66521f4ffb9de726e43fb324cd0690R65
|
|
||
| ## Payment | ||
|
|
||
| In the context of ILPv4, a payment is understood to mean the transfer of value from the sender (payer) to the receiver (payee). Higher-level protocols may execute a "payment" by sending a series of ILP Packets whose sum is equal to the desired payment value. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The clearing and settlement definitions also reference "payer" and "payee," but those are between two peers, not between the sender and receiver
|
|
||
| ## Peer | ||
|
|
||
| A router with which another router holds an account and exchanges routing information via the Interledger routing protocol. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sender and a router or a router and the recipient can be peers with respect to one another, no?
|
|
||
| ## Balance | ||
|
|
||
| An account balance is the net total of the amounts on any packets "successfully" routed between the peers. When a [node](#node) sends an ILP [Prepare packet](#interledger-packet) to a [peer](#peer), and receives a valid ILP [Fulfill](#interledger-packet) response, before the expiry of the ILP Prepare, their balance with that peer decreases, meaning the nodes owes the peer money. When a node receives an ILP Prepare packet and returns a valid ILP Fulfill response, before the expiry of the ILP Prepare, their balance with that peer increases, meaning the peer owes the node money. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do settlements affect the balance?
|
|
||
| ## Prepare Phase | ||
|
|
||
| The first phase of an ILP payment, in which the ILP packet is passed from the sender, via the router(s), to the receiver. This represents an intent to pay, so long as the Fulfillment is delivered before the expiry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This represents an intent to pay
Prepayment is supported, too. My preference is to describe the Prepare as an IOU between two peers, which is enforced/accounted for in the balance if the Fulfill is returned, or is called off if the Reject is returned.
| ## Settlement | ||
|
|
||
| The finalization of a payment, such that the payee takes the ownership of the transferred funds. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add definition for settlement system?
|
|
||
| ## Cyclic Transaction | ||
|
|
||
| A transaction that is sent out from some sender's account and is received to another one of the sender's accounts. This can be useful when rebalancing liquidity (to enable future payments), or when rebalancing stored value (to spread risk, or to take advantage of changing exchange rates). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe also note that a cyclic transaction can be used to trade between two different assets?
|
|
||
| ## Clearing | ||
|
|
||
| The transferring (transmitting, reconciling, and confirming) of funds from payer to payee, such that the payer's account is debited for the promised amount and the payee's account is credited for the equal amount. In Interledger this would involve the two peers exchanging data on what their current balance is and, if there is a discrepancy, resolving this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@adrianhopebailie Thoughts on this? What does clearing mean in the context of Interledger?
|
|
||
| ## Account | ||
|
|
||
| An accounting relationship between two Interledger participants. In Interledger, two participants establish an account with one another to track the current obligations they hold with one another. An Interledger account has a [balance](#balance) denominated in a mutually agreed upon asset (e.g. USD) at an agreed upon scale (e.g. 2). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since "scale" is not defined here (and AFAIK is a concept we invented), maybe replace "scale" with "denomination"?
I have used the existing glossary - IL-RFC 19 - and updated it by removing/updating outdated terms and definitions. I have also added some new terms. I plan to publish this glossary on the website.
Please review and let me know if any terms are missing or any definition is unclear.