jspωiki
Ripple Consensus Protocol Algorithm

Overview#

Ripple Consensus Protocol Algorithm is a Distributed Consensus protocol based on Byzantine Fault Tolerance that requires each node to define a Unique Node List (UNL).

The UNL comprises of other Ripple nodes that are trusted by the given node not to collude against it. Consensus in the Ripple network is achieved by each node by consulting other nodes in its UNL.

Each UNL has to have a 40% overlap with other nodes in the Ripple network [12]. Consensus happens in multiple rounds where each node collects transactions in a data structure called “candidate set” and broadcasts its candidate sets to other nodes in its UNL.

Nodes validate the transactions, vote on them and broadcast the votes. Based on the accumulated votes, each node refines its candidate set and transactions receiving the largest number of votes are passed to the next round. When a candidate set receives a super-majority of 80% of votes from all nodes in the UNL, the candidate set becomes a valid block or in Ripple terms a “ledger”. This ledger is finalized and considered the “Last Closed Ledger (LCL)” and added to the Ripple blockchain by each node. Next round of consensus is started with newer transactions and pending transactions that did not make it into the last round of consensus.

Consensus in the entire network is reached when each individual sub-network reaches consensus.

More Information#

There might be more information for this subject on one of the following: