In computer science, a consensus algorithm is a process that is used to reach an agreement on a single data value.
On a blockchain network, consensus algorithms are used to confirm transactions.
They ensure that each block or bundle of data that is added to a blockchain public ledger is the singular version of the truth.
This is essential to preventing against fraudulent transactions and other kinds of tampering.
The two most common kinds of consensus algorithms are called Proof of Work (PoW) and Proof of Stake (PoS).
PoW algorithms require the computers that uphold the network and process transactions known as nodes to solve complex equations in order to reach consensus.
This process is called mining. By extension, miners are chosen based on which one of them has the most powerful equipment.
As a result, a PoW-based network can use massive amounts of electricity. The Bitcoin network has been estimated to use as much energy per year as a small county.
PoS algorithms do not select the nodes that confirm transactions based on how powerful their equipment is.
Instead, the nodes that confirm transactions known as forgers or minters are selected randomly from a pool of nodes that continuously hold or stake a certain amount of cryptocurrency in a network.
Consensus Algorithm Failures
There are two types of failures this overall process can suffer from, which includes a crash failure or Byzantine failure.
A crash failure occurs when the aforementioned process abruptly stops without resuming. Conversely, a Byzantine failure reflects failures in which absolutely no conditions are imposed.
For example, this scenario may occur as a result of the malicious actions of an additional party.
A process that experiences a Byzantine failure may send contradictory or conflicting data to other processes, or it may sleep and then resume activity after a lengthy delay.
Byzantine failures represent a far more disruptive and problematic failure.