Consensus Protocol
Consensus Protocol
CONSENSUS
Consensus is a process of achieving agreement between distrusting nodes on the final state of
data. To achieve consensus, different algorithms are used.
It is easy to reach an agreement between two nodes (in client-server systems, for example), but
when multiple nodes are participating in a distributed system and they need to agree on a
single value, it becomes quite a challenge to achieve consensus.
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.
Consensus is the process by which a group of peers – or nodes – on a network determine which
blockchain transactions are valid and which are not. Consensus mechanisms are the methodologies
used to achieve this agreement.
CONSENSUS
The following describes these requirements:
• Integrity: This is a requirement that no node can make the decision more than once in a single
consensus cycle.
• 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 correctly in the presence of faulty
or malicious nodes (Byzantine nodes).
• Termination: All honest nodes terminate the execution of the consensus process and eventually
reach a decision.
CONSENSUS
Types of consensus mechanisms
All consensus mechanisms are developed to deal with faults in a distributed system and to allow
distributed systems to reach a final state of agreement.
• Fail-stop faults
Node Crash
• Byzantine faults:
• Whereby a leader is elected at random (using an algorithm) and proposes a final value.
• This category is also referred to as the fully decentralized or permissionless type of
consensus mechanism.
• This type is well used in the Bitcoin and Ethereum blockchain in the form of a PoW
mechanism.
Proof of Deposit (PoD) • nodes that wish to participate in the network have to
make a security deposit before they can mine and
propose blocks.
• used in the Tendermint blockchain.
Proof of Importance (PoI) • monitors the usage and movement of tokens by the user
in order to establish a level of trust and importance.
• used in the NEM coin blockchain.
Federated consensus or
federated Byzantine • Nodes in this protocol retain a group of publicly-trusted peers
consensus and propagate only those transactions that have been
validated by the majority of trusted nodes