Defining the Consensus Problem
Let's look into the consensus and its use-cases.
Most problems in distributed systems space share a common trait that characterizes most, if not all, of them.
It’s the fact that the various nodes of a distributed system try to reach an agreement on a specific thing.
- In the case of a distributed transaction, it’s whether a transaction has been committed or not.
- In the case of message delivery, it’s whether a message has been delivered or not.
This underlying property is common in many more problems in the distributed systems space.
As a result, researchers formally defined this problem and researched possible solutions, since these can then be used as building blocks for more complicated problems. This is known as the consensus problem.
Get hands-on with 1400+ tech skills courses.