Ripple: real-time international gross settlement system

From CryptoWiki
Jump to: navigation, search
Fig. 1 – Logo Ripple

Ripple - real-time international gross settlement system. Ripple is used for currency exchange and money transfer network. Also called the Protocol Interledger (ILP), open source software based on the concept of consensus (trust agreement). Has internal cryptocurrency called the XRP (ripples) (Fig. 1).

Ripple is based on the idea "secure, instant and nearly free global financial transactions of any size with no chargebacks." The Ripple protocol enables the instant and direct transfer of money between two parties. As such the protocol can circumnavigate the fees and wait times of the traditional correspondent banking system.

Ripple relies on a common shared ledger that has its contents decided on by consensus, and which is a distributed database storing information about all Ripple accounts.

As of 2016, Ripple is the third largest by market capitalization cryptocurrency after Bitcoin and Ethereum.

Contents

Concept

Ripple - a network for financial transactions (Fig. 2). In addition to balances, the ledger holds information about offers to buy or sell currencies and assets, creating the first distributed exchange.To make the transaction process, participants must accept (consensus) with the ledger. The process of consensus occurs every 2-5 seconds.

In Ripple, users make payments between each other by using Digital signature transactions denominated in either fiat currencies or Ripple's internal currency (XRP). For XRP-denominated transactions Ripple can make use of its internal ledger, while for payments denominated in other assets, the Ripple ledger only records the amounts owed, with assets represented as debt obligations. Users have to specify which other users they trust and to what amount. When a non-XRP payment is made between two users that trust each other, the balance of the mutual credit line is adjusted, subject to limits set by each user. In order to send assets between users that have not directly established a trust relationship, the system tries to find a path between the two users such that each link of the path is between two users that do have a trust relationship. All balances along the path are then adjusted simultaneously and atomically. This mechanism of making payments through a network of trusted associates is named 'rippling' [2].

Fig. 2 – Real-time international gross settlement system Ripple
Fig. 2 – Real-time international gross settlement system Ripple

Consensus Ripple

As mentioned above, Ripple is based on a distributed database. Ledger data is contained on each server in a network that constantly compare their records of transactions. The ledger is updated every few seconds and is called «last closed ledger». The last closed ledger is a perfect record of all Ripple accounts as determined by the network of servers. A transaction is any proposed change to the ledger and can be introduced by any server to the network. The servers attempt to come to consensus about a set of transactions to apply to the ledger, creating a new ‘last closed ledger’.

The consensus process is distributed, and the goal of consensus is for each server to apply the same set of transactions to the current ledger. Servers continually receive transactions from other servers on the network, and the server determines which transactions to apply based on if a transaction came from a specified node in the ‘unique node list’ or UNL. Transactions that are agreed upon by a "supermajority" of peers are considered validated. If the supermajority isn't in consensus, "this implies that transaction volume was too high or network latency too great for the consensus process to produce consistent proposals," then the consensus process is again attempted by the nodes. Each round of consensus reduces disagreement, until the supermajority is reached. The intended outcome of this process is that disputed transactions are discarded from proposals while widely accepted transactions are included. Ripple Labs acknowledges that most people will use the default UNL supplied by their client.

Gateways

Gateways connect the Ripple network with holdings in the outside world (services, shops, etc.). Gateway is a standard interface for issuing funds or exchange within the Ripple network. Gateway helps put money in the network. Thus, placing the funds on personal account Ripple, you can perform operations within the network. Interaction with the gateway is through integration with the bank payment systems. Gatewayd's features include:

  • Deposits and withdrawals
  • Issuing currency
  • Robust Ripple payment sending
  • Incoming Ripple payment monitoring
  • Gateway administration
  • Support for custom plugins.

There are three major models that gateways can follow, with different purposes and modes of operation.

  1. An Issuing Gateway receives money (or other assets of value) outside of Ripple, and creates issuances in the Ripple Consensus Ledger. This provides a direct way for customers to get money in and out of the RCL. All currencies in the Ripple Consensus Ledger, except for XRP, take the form of issuances tied to a specific issuing gateway.
  2. A Private Exchange holds XRP and lets its customers buy and sell that XRP in its own system. Most cryptocurrencies rely on private exchanges to provide a market for the cryptocurrency, but the Ripple Consensus Ledger has a currency exchange built into the protocol itself.
  3. Merchants accept payment within the Ripple Consensus Ledger in exchange for goods and services in the outside world. Currently, Ripple does not have widespread support for merchant operations [4].

Depending on the type and degree of interaction a user has with a gateway, the gateway may have anti-money laundering (AML) or know your customer (KYC) policies requiring verification of identification, address, nationality, etc. to prevent criminal activity.

Ripple Trust Lines

The Ripple Consensus Ledger has a system of directional accounting relationships, called trust lines, to make sure that users only hold issuances from counterparties they trust.

A "trust line" is link between two addresses in Ripple [1]. A trust line represents an explicit statement of willingness to hold gateway debt obligations. When a customer sends money into the RCL, a gateway takes custody of those assets outside of Ripple, and sends issuances in the RCL to the customer's address. When a customer sends money out of the RCL, she makes a Ripple payment to the gateway, and the gateway credits the customer in its own system of record, or in some other account.

Users must ‘extend trust’ to the Ripple gateway that holds their deposit. This manual creation of a trustline indicates to the Ripple network that the user is comfortable with the gateway’s counterparty risk. Furthermore, the user must put a quantitative limit on this trust and create a similar limit for each currency on deposit at that gateway. For example, if a user deposits US$50 and BTC2.00 at The Rock Trading, the user will have to grant trust of at least that much in both currencies to the gateway for the monies to be available in the Ripple network. When a user has allowed multiple gateways in the same currency, there is an advanced option to allow "rippling," which subjects the user’s balance of that currency to switch (or ripple) between gateways [5].

XRP

XRP is the native cryptocurrency of the Ripple Consensus Ledger. Like issuances, XRP can be freely sent and exchanged among Ripple addresses. Unlike issuances, XRP is not tied to an accounting relationship. XRP can be sent directly from any Ripple address to any other, without going through a gateway or liquidity provider. This helps to make XRP convenient intermediate currency.

When a user conducts a financial transaction in a non-native currency, Ripple charges a transaction fee. The purpose of the fees is to protect against network flooding by making the attacks too expensive for hackers. If Ripple were completely free to access, adversaries could broadcast large amounts of "ledger spam" (i.e. fake accounts) and fake transactions in an attempt to overload the network. This could cause the size of the ledger to become unmanageable and interfere with the network’s ability to quickly settle legitimate transactions. Thus, to engage in trade, each Ripple account is required to have a small reserve of 20 XRP, (US$0.16 as of October 3, 2016), and a transaction fee starting at .00001 XRP must be spent for each trade. This transaction fee is not collected by anyone, the XRP is destroyed and ceases to exist [3].

XRP as a bridge currency

One of the specific functions of XRP is as a bridge currency, which can be necessary if no direct exchange is available between two currencies at a specific time, for example when transacting between two rarely traded currency pairs. Within the network’s currency exchange, XRP are traded freely against other currencies, and its market price fluctuates against dollars, euros, yen, bitcoin, etc. The feature is also intended to expose more of the network to liquidity and better FX rates [3].

Use as a payment/forex system

Ripple allows users or businesses to conduct cross-currency transactions in 3 to 5 seconds. Payments can only be authorized by the account holder and all payments are processed automatically without any third parties or intermediaries. Ripple validates accounts and balances instantly for payment transmission and delivers payment notification with very little latency (within a few seconds). Payments are irreversible, and there are no chargebacks, XRP cannot be frozen or seized. By 2015 identity verification procedures had been implemented. Ripple's Path-finding Algorithm searches for the fastest, cheapest path between two currencies. In the case of a user who wants to send a payment from USD to EUR, this could be a "one-hop" path directly from USD to EUR, or it could be a multi-hop path, perhaps from USD to CAD to XRP to EUR. Path finding is designed to seek out the cheapest conversion cost for the user. As of May 14, 2014, Ripple's gateways allow deposits in a limited number of fiat currencies (USD, EUR, MXN, NZD, GBP, NOK, JPY, CAD, CHF, CNY, AUD), a handful of crypto currencies (BTC, XRP, LTC, NMC, NXT, PPC, XVN, SLL) and a few commodities (gold, silver, platinum) [5].

Wallets

In the Ripple Consensus Ledger, financial institutions typically use multiple Ripple addresses to minimize the risk associated with a compromised secret key. Ripple strongly recommends the following separation of roles [4].:

  • One issuing address, also known as a "cold wallet." This address is the hub of the financial institution's accounting relationships in the ledger, but sends as few transactions as possible.
  • One or more operational addresses, also known as "hot wallets." Automated, internet-connected systems use the secret keys to these addresses to conduct day-to-day business like transfers to customers and partners.
  • Optional standby addresses, also known as "warm wallets." Trusted human operators use these addresses to transfer money to the operational addresses.


Key Features

Ripple’s solution is built around an open, neutral protocol (Interledger Protocol or ILP) to power payments across different ledgers and networks globally. It offers a cryptographically secure end-to-end payment flow with transaction immutability and information redundancy. Architected to fit within a bank’s existing infrastructure, Ripple is designed to comply with risk, privacy and compliance requirements [4]..

Interledger Protocol (ILP)

All banks and payment providers — from the smallest to the largest — can leverage the Interledger Protocol to securely and efficiently transact cross currency. ILP can work with any new network or system, regardless of its underlying technology. It ensures the payment speed and certainty necessary to service high volumes of all payment types and sizes, while making them cost-effective for customers and profitable for banks [4]..

Ripple Connect

Ripple Connect links the ledgers of financial institutions through ILP for real-time settlement of cross-border payments in a way that preserves the ledger and transaction privacy of the financial institution. Additionally, Ripple Connect provides a way for banks to exchange originator and beneficiary information, fees and the estimated delivery time of the payment before it is initiated — providing unprecedented visibility into each transaction (Fig. 3) [4]..

Fig. 3 – Ripple Network
Fig. 3 – Ripple Network

DISTRIBUTED

  • Direct bank-to-bank settlement with no central operator
  • Decentralized network containing a single source of truth
  • Transaction immutability and information redundancy

SECURE

  • Complete transaction privacy for each financial institution
  • PII data stays behind your bank’s firewall
  • Transactions cryptographically signed using ECDSA and ED25519 algorithms

SCALABLE

  • Capacity to process the world’s cross-border payments volume
  • Unbounded transaction processing capability
  • Option to access liquidity through a competitive FX marketplace

Tool Security

Any time you submit a Ripple transaction, it must be signed using your secret key. The secret key gives full control over your Ripple address. Never send your secret key to a server operated by someone else. Either use your own rippled server, or sign the transactions locally before sending them to a rippled server. This is safe if you control rippled server yourself, and you connect to it over a connection that is secure from outside listeners. (For example, you could connect over a loopback (localhost) network, a private subnet, or an encrypted VPN .) Alternatively, you could use RippleAPI to sign transactions locally before submitting them to a third-party server.

Glossary

Bibliography

Go to References for Ripple: real-time international gross settlement system

Nekoz V. A., 2016