Asynchronous Byzantine Consensus With 2f+1 Processes
Consensus is an important distributed computing problem, both in theoretical and practical terms. The problem consists in making a set of processes to agree on one of the values that each one of them proposes. From a theoretical point of view, consensus has been used to show important impossibility and possibility results, the most well-known of which is probably the Fischer-Lynch-Paterson (FLP) impossibility of solving consensus deterministically in an asynchronous system if one process can fail. From a practical point of view, the problem has been shown to be equivalent to several distributing computing problems, so an implementation of a consensus algorithm can be used as a building block of distributed systems.