Consensus algorithms are a set of protocols through which all nodes in a distributed system can reach a joint agreement on the current state of the network. One of these protocols is the ripple protocol consensus algorithm (RCPA).
In RPCA, each node maintains a unique node list (UNL). It is a subset of trusted nodes that the server will consider when determining consensus.
The probability of a node colluding with other nodes is
Thus while choosing a UNL, nodes try to minimize
RPCA works as follows:
A user publishes their transactions and sends them to all the nodes in the network.
Each node publishes a candidate set (as a proposal), consisting of all valid transactions it has seen that are not yet part of the ledger.
Each node stores the candidate sets sent to it by the nodes in the UNL. All the candidate sets sent by nodes, not in the UNL are discarded.
Every node checks all the transactions in its own candidate set and compares it with all the candidate sets (in the proposals) sent to it by other nodes in the UNL.
If a transaction is present in the proposals sent by at least
In the next round, the threshold is increased to
All the transactions approved by at least
This updated ledger version now becomes the last-closed ledger (LCL).
Strong correctness is guaranteed if the number of faulty nodes (Byzantine failures) is less than
Where
Weak correctness is when the number of faulty nodes (Byzantine failures) is between
Where
Free Resources