Consensus is a problem of coordination between nodes - getting them to either agree or reject something together.
This means the nodes need a protocol, some established set of procedures and rules, that governs how they communicate with one another and come to a decision. That’s what a consensus protocol is.
Two of the most common classes of consensus protocol include:
- “Nakamoto” consensus - which is used in Bitcoin and Ethereum (as at June 2021); and can be considered probabilistic.
- “BFT-style” consensus - which is used in Tendermint and HotStuff, which is the protocol that Cerberus, Radix’s consensus protocol, draws heavily from. BFT-style consensus can be considered more deterministic.
Consensus protocols should not be confused with Sybil resistance mechanisms, such as Proof of Work or Proof of Stake.
To understand how both Nakamoto and BFT-style consensus protocols work, check out the Cerberus Infographic Series - Episode 10 - Nakamoto vs BFT-style consensus.
Further reading: