Blockchain Academy
We'll get together for networking with people interested in Blockchain including developers and anyone curious about Blockchain.

Consensus Algorithm

A blockchain network uses a distributed ledger that the participants record and share the data instead of the central organization. All nodes in the distributed network must share the same data.

However a distributed network system has an unresolved problem called 'FLP Impossibility'. It was impossible to satisfy both 'Safety' and 'Liveness' in asynchronous networks.

  • Safety : the consensus between the nodes must have the equal value
  • Liveness : the consensus between all the nodes must be achieved, when there are no problems with the nodes

The existing distributed networks emphasized on sharing the same value of the data among all nodes rather than the simultaneously synchronizing the data by all nodes. (Safety priority) It’s possible for all nodes to synchronize simultaneously but the returned value is not always the same. For this reason, the representative blockchain, Bitcoin, apart from the existing method, chose the consensus method, which assumes the longest chain’s data as valid data. (Liveness priority)

Thus the decision is made through consensus algorithm whether to prioritize Safety or Liveness in a blockchain network.

Due to absence of the central organization, the 'consensus' must be made to decide who will record the data and which will be approved as an authentic data between two contrary data. Also whenever any malicious nodes try to disrupt maintaining the network or forge the data intentionally, the consensus needs to be made. For all these reasons the consensus algorithm exists. There are various consensus methods best suited for the service which each blockchain network provides.