In computer science, consensus refers to an agreement between multiple independent actors in a system on a single data value. In a blockchain, consensus signifies that each node, that is on a network, agrees upon the state of the blockchain. Consensus allows for blockchains to be self-auditing.
Consensus is a problem in any multi-agent network, particularly a decentralized one such as a public blockchain. However, the use cases for solving the consensus problem extend well beyond blockchain technology, and many were around years and even decades before the creation of Bitcoin. Some of the other uses cases for consensus in computing are data analysis, distributed machine learning, sensor networks, smart grids, and other control systems.
To achieve a reliable blockchain, consensus rules must be set to ensure each node on a network validates a block and its transactions under the same standards. This means that a block must be unanimously accepted as a requirement for validation.
Numerous new consensus mechanisms have been developed for use in blockchains since 2008, with the original being proof-of-work used in Bitcoin. In decentralized networks, it's critical that these various consensus systems have high Byzantine fault tolerance.