Consensus in Distributed System
The distributed consensus problem deals with reaching an agreement on a single data value among a group of process connected by an unreliable network. The processes must put forth their candidate values, communicate with one another, and agree on a single consensus value in presence of failures of some processes. Examples of applications of consensus include: Leader election / Mutable Exclusion Commit or Abort in distributed transactions Reaching agreement about which process has failed Clock phase synchronization Load balancing A visual diagram of this problem unfolds in the following. Each process pk with an input value uk runs a program to exchange its value. Finally the output of all non-faulty processes become identical. It is permissive that one or more processes may fail at any time, but the output v must be equal to the value of at least one process. ...