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).
Each UNL has to have a 40% overlap with other nodes in the Ripple network . 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.