The Byzantine consensus problem was originally defined in 1982. The idea is for correct machines (or nodes) to propose values and reach a consensus despite the presence of malicious (or Byzantine) ones. More precisely, three properties must be satisfied: these correct nodes must eventually decide (termination); their decision should be identical (agreement); and the value they decide should be one of the proposed values (validity). Since then, there have been many protocols for different models.
Most of the classical consensus solutions were unfortunately designed for local area networks and were typically illustrated with four well-connected nodes running a network file system. With the advent of blockchain technologies, the consensus problem became crucial for blockchain nodes to agree on the same blocks. But blockchains are deployed among many nodes spread across the open Internet, which naturally raises new challenges like making consensus protocols robust and efficient at large scale and in non-purely synchronous networks. As the classic consensus protocols were not designed for the qualitatively different large and open Internet, the blockchain consensus faced limitations and required new perspectives to address them.
No entries found