Advanced Blockchain Development
上QQ阅读APP看书,第一时间看更新

Consensus mechanism

A consensus mechanism is a set of steps that are taken by most or all nodes in a blockchain to agree on a proposed state or value. For more than three decades, this concept has been researched by computer scientists in industry and academia. Consensus mechanisms have most recently come into the limelight and gained considerable popularity with the advent of blockchain and Bitcoin.

There are various requirements that must be met to provide the desired results in a consensus mechanism. The following describes these requirements:

  • Agreement: All honest nodes decide on the same value
  • Termination: All honest nodes terminate execution of the consensus process and eventually reach a decision
  • Validity: The value agreed upon by all honest nodes must be the same as the initial value proposed by at least one honest node
  • Fault tolerant: The consensus algorithm should be able to run in the presence of faulty or malicious nodes (Byzantine nodes)
  • Integrity: This is a requirement that no node can make the decision more than once in a single consensus cycle