Proof of Work (PoW)
According to this algorithm, a newly mined block has to provide sufficient proof of its effort to be added to the existing chain. Special nodes in the network, called miners, hold the responsibility to legitimize each transaction in the block through a process called mining. This is carried out by a computationally expensive calculation to solve mathematical puzzle problems. The complexity of the issues includes a hash function, integer factorization, and tour puzzles. On average, it takes about 10 minutes for a user node to try and calculate the correct solution . All the miners in the network compete against each other to be the first to find the answer. The first miner w'ho succeeds receives an economic rew'ard that has been predefined by the protocol of the blockchain network.
To solve this puzzle, all the nodes need to put their verified transaction and some other information, such as previous hash and timestamp. There is a secret value that needs to be guessed by changing the nonce, and through this nonce, all the information will be inputted to an SHA-256 hash function. The value will be accepted when the output of this function is under a designated difficulty threshold. After every 2016 blocks, the difficulty is adjusted, which takeslO minutes per block . Sometimes, more than one problem is solved w'ithin the given time period, w'hich leads to the formation of several branches. However, the longest chain is considered to be the valid one in the decentralized network.
Proof of Stake (PoS)
Here, mining capability is determined by the number of currencies (stake) the miners already possess. The evidence of a stake follows a deterministic approach of choosing the miners (sometimes called forgers) for validating the transactions in the blockchain network. Unlike PoW. upon successful validation of a transaction, the forgers are not rewarded; instead, they obtain the transaction fees that were invested as a stake at the start of the forging process. The stake size is what determines the probability for the next forger to be selected and validate the next block. This algorithm is more energy efficient than PoW. which faces computational challenges while solving mathematical puzzles. Another concept behind this algorithm is that the nodes having higher stakes (currency) are not supposed to be involved in malicious activity with the blockchain network. So, node validation in this case entirely depends on the wealth of the nodes [24,25].
Delegated Proof of Stake (DPoS)
This is rather a more democratic approach than direct selection based on the amount of currency nodes have. Here, the nodes in the network elect witnesses on behalf of the stakeholders. Several witnesses select the valid block through a voting procedure. Thus, a block in the blockchain network is validated and authenticated. In this type of consensus algorithm, there are fewer nodes (witnesses) for block validation and authentication purposes. For this reason, the time needed for block validation is much less and the energy consumption is also significantly lower. As fewer nodes participate in the process of block authentication, a tendency toward centralization might arise.
Moreover, if any malicious node or a group of malicious nodes possesses the most stakes, it can threaten the network, because it can validate illicit transactions .
Proof of Burn (PoB)
In this consensus algorithm, two different functions are used. Those function aim to burn or destroy the currencies in the validator’s address. One task (function) generates a public address for cryptocurrency generation and initiates a burning procedure, in the event of a money transfer to that address. Another service (function) checks the account address’s verifiability, from which the currencies cannot be spent for any transaction purpose. The block validators can validate the blocks by sending currency to the generated address. As the currency cannot be spent, that is why it is called burning the currency. The nodes receive incentives. Here, the value of the coin increases because of the burning procedure, since the total amount remains the same, concerning few'er coins .
Practical Byzantine Fault Tolerance (PBFT)
The methodology of this replication algorithm is to make the blockchain network byzantine fault-proof. This is derived from the byzantine general problem, where an army must reach a consensus on whether to attack or not attack. In this scenario, several generals each have a group of troops and must reach a consensus about attacking or retreating. It is possible, however, that a general will not follow the agreement. That is why the fault tolerance algorithm was developed, in the case of a distributed network. This algorithm is used in a hyperledger fabric framework. The framework has fault tolerance, even if l/3 of total nodes are malicious . According to this algorithm, a node will be selected based on the network protocol. This node will be responsible for the transaction initiation. Out of the three phases of this method, the selected node needs to receive a majority of the votes. This way, the selected node is known to almost all over the network .
In this type of consensus algorithm, two types of nodes are used in the system. One is a server type and another is a client. A server node takes part in the consensus for block validation and authentication. Each of them contains a list. This list comprises the number of unique nodes in the network. It is called the unique node list (UNL). A client-type node is responsible for transferring cryptocurrencies. Whenever a transaction is initiated, the server nodes ask for its validation among the UNL. If it receives an acceptance of 80 percent or more, the transaction is validated and stored in the blockchain [30,31].