The Ripple Protocol Consensus Algorithm

Schwartz, D., Youngs, N., & Britto, A. (2014). The Ripple protocol consensus algorithm. Ripple Labs Inc White Paper, 1–8. Retrieved from ripple.com.

Consensus

The Ripple Protocol Consensus Algorithm (RPCA)

  1. Each node publishes all valid transactions it has seen that are not yet part of the ledger, forming a candidate set
  2. Each node amalgamates the candidate sets of all the nodes in its UNL, then votes on the veracity of each transaction.
  3. Transactions with more than a certain percentage of ‘no’ votes are either discarded or included in the next candidate set.
  4. If at least 80% of a node’s UNL agrees on a transaction, it is applied to the ledger.
  5. The ledger is closed, becoming the new last-closed ledger.
\[p^* = \sum_{i=0}^{\lceil (n-1)/5 \rceil} \binom{n}{i} p_c^i (1-p_c)^{n-i}\]