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
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 consensus
• Nodes in this protocol retain a group of publicly-trusted peers
and propagate only those transactions that have been
validated by the majority of trusted nodes
Proof of Authority (PoA) • This scheme utilizes the identity of the participants called
validators as a stake on the network.
• Validators are known and have the authority to propose new
blocks.
• Validators propose the new blocks and validate them as per
blockchain rules.
• PoA is based on identity and reputation as a stake.
• Commonly used PoA algorithms are Clique and Aura.