This website is no longer actively supported. Please see the Ripple Developer Center for up-to-date documentation and other resources.

Consensus Process

From Ripple Wiki
Jump to: navigation, search

The Consensus Process is the algorithm that makes it possible for the Ripple Consensus Ledger to exist without a central managing authority. It's one possible solution to the Double Spend Problem.

Explanations


Compared to Mining

"Mining" is a proof-of-work solution to the double-spend problem, popularized by Bitcoin. It also serves as a way to distribute the cryptocurrency: whoever correctly guesses the hash value for the next block of transactions gets rewarded with an amount of Bitcoin. Most other cryptocurrencies are Bitcoin derivatives that also use mining. Mining makes Bitcoin a competition for the most computing power, which makes it fairly resistant to any one party being able to take over the network. Unfortunately, that same fact makes it incredibly wasteful - In 2014, Bitcoin mining used about as much electricity as the island nation of Cyprus. In comparison, Ripple's Consensus process only needs enough processing power to update the ledger and verify the digital signatures of the participants, which makes the Ripple Network far more efficient.

Consensus is also faster than mining Bitcoin: a typical consensus round completes in 4-7 seconds, compared to 5-10 minutes to confirm a Bitcoin transaction.

Whereas mining depends on the assumption that no single actor can amass more than 50% of the network's computing power, the Consensus Process relies on the assumption that most participants won't collude to manipulate the network: it would take at least 80% of validators to collude in order to actually confirm a transaction fraudulently. As long as participants in the network populate their lists of trusted validators with parties who are unlikely to collude, the Ripple Network cannot be manipulated even by parties who control a massive amount of computing power. One disadvantage is that the Consensus Process can be brought to a halt if more than 20% of trusted validators are either faulty or malicious. However, participants can modify their lists of trusted validators in order to exclude bad actors and thus resume the consensus process -- a luxury that Bitcoin mining does not have.

One advantage of mining is that it does not need any management of configuration, like Ripple's list of trusted validators, in order to operate successfully.


Validators

The Consensus Process depends on validators who won't collude: ideally, validators are invested in the consistency of the Ripple Consensus Ledger and neutral to the inclusion or exclusion of transactions from any party. Becoming a validator is as simple as installing rippled, generating cryptographic keys, and adding them to your configuration. The larger challenge is becoming a trusted validator: without other server operators who include you in their lists of trusted validators, your validation votes are ignored.

Certain properties make a validator much more appealing:

  • Availability - a validator should be online as much as possible, submitting validation votes for every proposed ledger.
  • Agreement - a validator's votes should match the outcome of the consensus process as often as possible. To do otherwise could indicate that the validator's software is outdated, buggy, or intentionally biased.
  • Timeliness - a validator's votes should not arrive after a consensus round has already finished
  • Identified - it should be clear who runs the validator. Ideally, a list of trusted validators should include validators operated by several owners in multiple legal jurisdictions and geographic areas, to reduce the chance that any localized events could interfere with the validator.

At present, Ripple, Inc. cannot recommend any validators aside from the 5 core validators run by Ripple itself: these validators are included in the default rippled configuration. However, we are collecting data on other validators and building tools to report on their trustworthiness. For metrics on the validators currently operating, see validators.ripple.com.