Blockchain technology currently receives much more attention owing to the innovations of cryptocurrencies like Bitcoins and Ethereum-based revenue systems. The consensus mechanism is a fault-tolerant algorithm exploited in blockchain to accomplish the targeted agreement among multiple parties. The consensus mechanism ensures that the fully trusted only version of the transaction or record approved by all blockchain entities is appended with blocks. The consensus mechanism has the ability to manage the entities that are participated in transactions. In real-time, the applications of blockchain technology are diverse, and each application requires various types of consensus based on its application specifications. The developers design different types of blockchain consensus mechanisms, and they are broadly classified into two types that are,
• Proof based
• Voting based
Proof-based Consensus Mechanisms:
Proof of Work (PoW): It is used to solve the high complex puzzle-solving based on novel block generation-related applications.
Proof of Stake (PoS): It employs a random process to model the users waiting to get a chance for the next block generation.
Delegated Proof of Stake (DPoF): It permits the entities to stake their votes and coins to select the delegated group members for the next block generation.
Proof of Capacity (PoC): It accumulates the hard mathematical puzzles in digital form with hard disks and generates a novel block.
Proof of Identity (PoI): It utilizes the private keys of entities as cryptographic evidence and utilizes the evidence with block generation.
Proof of Elapsed Time (PoET): It randomly allows users with high waiting times to generate novel blocks.
Proof of Authority (PoA): It exploits the identity of the entities to generate the next blocks.
Voting based Consensus Mechanisms:
Practical Byzantine Fault Tolerant (PBFT): All blockchain entities are involved in the voting process to append the novel block with the chain sequence.
Delegated Practical Byzantine Fault Tolerance (DPBFT): In this type, some delegated entities are selected to participate in voting and new block appending.
TENDERMINT: In this type, the entities have different voting powers according to their stakes and have different priorities in new block appending.
RAFT: It employs a leader election and logs replication states to perform the next block generation process.
RIPPLE: It necessitates the assistance of servers to validate the transactions.