Need of consensus in a distributed system
In a distributed system, nodes are distributed across the network. Some of these nodes might get failed(crash fault) or starts behaving abnormally (Byzantine Fault). In such a scenario, it becomes difficult to come to a common decision. More concisely,
- There are n processes, m of which may be faulty.
- The task is to make all the Nonfaulty processes agree on some value(s) even in the presence of the faulty processes.
So we can remove these problems by given below solutions:
- Consensus Without Any Fault
- Consensus With at most m Crash Faults
- Consensus With at most m Byzantine Faults
Consensus Problem of Distributed Systems
Consensus is a general agreement on a decision made by the majority of those involved. For example, the problem may be as simple as friends trying to decide which restaurant has multiple options to choose from or complex as decisions on distributed systems.