A Study on Public Blockchain Consensus Algorithms: A Systematic Literature Review

The purpose of this study is to present a systematic review of the literature on public blockchain consensus algorithms. Blockchain consensus algorithms have gain much popularity in last few years especially in the cryptocurrency field. Based on a systematic review of the relevant literature, we provide a classification of blockchain consensus algorithms, philosophy behind creation of blockchain consensus algorithms and as well as the rewards and incentive strategies of various public blockchain consensus algorithms. On the basis of these results, the research gaps and future work directions are identified for further study.


Introduction
The evolution of consensus technology has more than four decades of history. It is re-birth with the evolution of blockchain technology [1]. It is the basic technology of the most popular cryptocurrency of the world "Bitcoin" proposed in the white paper [2] of an unknown person called "Satoshi Nakamoto". Blockchain is the most addressable technology, which caught the attention of different societies like businesses, education industries and researchers [3], [4] etc. in the world is blockchain. This attraction or interest is due to its unique nature of decentralization, anonymity, irreversibility, integrity and security [5].
Consensus is the agreement among different nodes in a distributed system and is considered a problem. This research topic has long history in the field of distributed and fault tolerant computing [6] but got hype in blockchain technology. Consensus is at the heart of many distributed algorithms and is one of the most fundamental problems in distributed and fault tolerant computing [7]. For example, it can be used as a basis for performing active replication, as in a replicated state machine approach [8], or used to apply data object simultaneously without waiting between a set of processes. [9].
These consensus algorithms are designed with different concepts behind, such as scalability, liveness, safety, latency, energy consumption, fault tolerance, throughput issues and more. Some consensus algorithms like [10], [11] and [12] cover the order of transactions, the choice of leaders, and transaction selection for block but lacking the fairness in mining strategy for ordinary users in the public blockchain system.
The rest of this article is compiled as follows. In part 2 we provide background of blockchain technology, blockchain anatomy and its classification. The methodology of this study, research questions, search process, article selection process and specified collected public blockchain consensus algorithms are discussed in Section 3. Section 4 presents the results of the study. Further, the discussion of this study is presented in Section 5 along with answers to the research questions. This article is concluded with conclusion along with future work in Section 6.

Materials and Methods
The purpose of this study is to point out the available public blockchain consensus algorithms, their incentive strategy, consensus strategy and whether they provide fairness to ordinary users in terms of gaining incentives as a miner. In order to fulfill the goal, we designed the research questions as RQ1: What are the available consensus algorithm for public blockchain systems which provide fairness? and RQ2: What are the reward winning and incentive strategies of various consensus algorithms for public blockchain systems?
The RQ1 aims to discover the available public blockchain consensus algorithms in the literature and also to know the fairness they possess for the ordinary users to become a miner and gain incentives from the system. The RQ2 tries to showcase the incentive and consensus strategy they have been using, in order to know whether these incentive and consensus strategy helps the ordinary user to participate as a miner without any expenses.

Search Process
In this study, systematic literature review method was used in accordance with the principles put forward by Kitchenham [13]. To cover a large number of relevant publications, we decided to look for the following widely known and widely used electronic libraries: Google Scholar, IEEE Xplore, SpringerLink, Science Direct and SSRN.
The strings of keyword used were: "Public blockchain consensus algorithms". In the next step, we decided in which section of the articles we will use the search terms. To get a reasonable number of results, we searched the keyword strings in the title and abstract of the article. We limited our search to publications written in the English language and selected as a content type journals, white papers and conference papers. No restrictions on the article release date were used.
We applied the same query "Public blockchain consensus algorithms" to all the specified electronic libraries, they retrieved the following results shown in the following Table 1.

Articles Selection Process
Some search engines (like google scholar and springer link) do not have advance search option for confining the search towards the required purpose so, therefore we pre-defined some terms ("Consensus protocol", "Consensus mechanism", "Consensus algorithm" and "Blockchain consensus") for scanning the title and abstract to exclude the un-necessary articles shown in the search.
Our articles selection process has two phases (1. Title scanning phase and 2. Abstract scanning phase). In the title scanning phase, we scan for the pre-defined terms in the title and selected those titles which include the pre-defined terms and excluding all other articles from selection process. After the title scanning phase, we included 173 articles for the second phase which are shown in Table  2. In the second phase which is "abstract scanning phase", 173 articles' abstracts were studied for the pre-defined terms in the public blockchain systems as defined in the main query. This phase also defined the scope of the study. The final number of papers that we gathered after removing duplicates and irrelevant articles to our research is 36 as shown in Table 3. From these 36 papers, we extracted information for the research questions. After studying these articles in detail, we collected 25 blockchain consensus algorithms which are mostly studied by different researchers and industries. The collected blockchain consensus algorithms are as shown in Table 4. After collected the blockchain consensus algorithms, we classified blockchain consensus algorithms based on the classification scheme of the blockchain system in order to direct our study towards the research aim. Blockchain consensus algorithms are classified as shown in Figure 1. After the classification of the collected blockchain consensus algorithms, we limited our scope to public blockchain consensus algorithms (PuBCA) and excluded the consortium blockchain consensus algorithms (CBCA) and private blockchain consensus algorithms (PrBCA) from the study. We downloaded the white papers of PuBCA which are not available in the final selected papers for the study. We performed the in-depth study of the white papers and articles related to PuBCA.

Results
In this section, the literature review of the study regarding public blockchain consensus algoirthms are organized in order to reflect the answers for the research questions as discussed in the methodology section of the study.

Overview of Public Blockchain Consensus Algorithms (PuBCA)
The overview of Public blockchain consensus algoirthms (PuBCA) are as follow: PoW [2] is designed for Bitcoin blockchain. The consensus is made in the Bitcoin system by posting transactions to all nodes in the system. Each node of the blockchain system receives a new transaction and adds it to the block. This process is complicated, and requires a high-performance computing resources like Application Specific Integrated Circuit (ASIC) or Graphics Processing Units (GPU). These computing devices are expensive and ordinary users cannot afford to purchase these devices. Due to which, the system goes to the hands of the rich people. The miner does not know the number of iterations to find the required hash value, but easily verify the process. When a node finds the required Proof-of-Work value, it sends the block to all nodes in the blockchain system. Other nodes accept the block only if all transactions in it are valid and have not been used. Once approved, each node uses the previous hash value to connect the block to a previously agreed blocks, thus forming a blockchain. The blockchain functions are like a transaction ledger and along with the mining process, the Nakamoto Bitcoin protocol can solve the critical problem of double-spending in cryptocurrency without a central authority, and assumes that honest nodes handle most of the CPU power in the bitcoin network. Honest nodes do not cooperate with malicious nodes to attack the system. More than one miner may discover a hash value at the same time, and it is called a fork. Thus, the longest blockchain represents the consensus of transaction history [37].
The winner gets a reward of 6.25 bitcoins, and it is reduced to half every four years. In the PoW consensus, there is also a chance of 51% attacks where the mining pool controls 51% of mining power. Though, the mining pools are valuable for collecting a large amounts of computing capabilities but it is not fair with new node to connect alone to the network and get the mining reward. Because new node or individual does not have as much computing power as that of mining pool [37]. According to [5], the estimated operating cost of the bitcoin network using PoW as a consensus algorithm is 23.88 billion Euros over four and a half year. This is 45% higher than the actual price of bitcoin.

Proof-of-Stake (PoS)
Proof-of-Stake is designed as an alternative consensus algorithm to PoW, which is the resource wasting, Concentration of hash power and slow speed of transactions [38]. In this, the miner should have a stake which is approximately equal to 2000 USD. The PoS algorithms randomly select miner for block creation, and no miner can predict its turn in advance. The miners produce a block and added to the blockchain. The miner will be rewarded, and if it fails to add a block in the blockchain, then the miner will be fined as much as the reward. The mining depends on the amount of stake a person has in the system. If a miner has more stake in the blockchain, the chances of mining are more. For instance, If the stake in the given crypto-currency is at 1%, you can mint up-to 1% of the transactions [39].

Tindermint
Tindermint [16] is designed to address the speed, scalability, and environmental issues which are available in the PoW. It is based on PBT algorithm. The blockchain using the tendermint can handle about 33% byzantine actors in the network. It is compatible in any programming language. Validator is in charge of validating transactions and committing new blocks to the blockchain. Validators are taking part in the consensus protocol by broadcasting cryptographic signatures which act as votes to extend the blockchain. The user who wants to become a validator in the tendermint network must hold some amount for some time and locked it as voting power. Delegation concept is used in the tendermint system. The delegators are putting their staking tokens at stake with a validator of their choice. Chance of losing these tokens are present if the validator is not working according to the rules defined by the protocol. There are at least four validators required in the tendermint consensus and have no limit for the maximum number of validators.
Cosmos project running tendermint as a consensus protocol having 100 validators, but will increase to 300 validators. Block requires 3 seconds to be finalized, but it can be achieved in a second as well. The finality of a block is dependent on the number of validators. Nothing-at-stake problem which is present in the PoS solved in the tendermint by bond deposit. The releasing of the bond deposits requires un-locking it for some specific period, which is called un-bonding period in the tendermint network. The unlocking period is about two to three months. The chance of the fork is possible. It is due to the 1/3 of the majority of validators signs duplicitously of multiple blocks at the same time in the tendermint blockchain, but the validators identified causing fork will face a substantial charge of losing the amount of 1/3 of the locked stake [40].

Proof of Luck (PoL)
Proof of Luck [24] is applicable in the TEE of Intel SGX platforms and can be applied to other platforms with similar properties of the TEE of the SGX as well. The goal of development of this protocol is to overcome the issues available in the previously available consensus algorithms like slowness, consumption of energy, and using lots of time.
It uses the hardware which is not commonly available, which causes unfairness to society and only help those people having specific custom hardware. It is secured due to the TEE where the attacker cannot control the blockchain without controlling a majority of CPUs and without breaking the TEE platform. The participant is calling the PoLRound function and passing the latest block to a particular chain at the start of every round. When the ROUND_TIME expires, the participant calls the PoLMine function for creating a new block and will be connected with the previous block by passing the headers of the new block. Sometimes the previous block may be different from the roundblock then we have to see that the last block and round block have the same parents.
It ensures that participants wait for ROUND_TIME between mining blocks while allowing them to switch to the more lucky block if they receive the lucky block while they wait. The PolMine function generates a random value of [0,1] from the uniform distribution, which is used to find out the winning block from all mining blocks of all participants in this round. In this algorithm, a shorter delay time represents the winner, and a longer delay means that the information dependent on f (I) releases the unluckier. If a participant receives a lucky block before the mining is completed, there is no need to broadcast the block.

Proof of Personhood (PoP)
The philosophy behind designing PoP is security in order to protect Sybil and double spending attack. It provides pseudonym accountability by linking the real world people with the minting process. In this process, RandHound algorithm, Pseudonym party and ByzCoin protocol are used. The people who wish to mint the coin, they first join the pseudonym party to become the member of the PoP. They have to go to a specific place where the pseudonym party is hosted and arranged. Without attending the pseudonym party, once cannot become a member of the blockchain system in terms of minting. Each member in the party receive one token which will be used for authentication, validation and RandHound function. This token will be for a specific period of time during which the valid token holder can mint. All minters have equal chance of winning the reward of creation of a new block because each minting pool member's assigned only one token. The RandHound process is repeated until all the token holder get the chance of creating a new block and get of its reward [28].

Proof of Contribution (PoC)
PoC [29] consensus protocol combines the Concept of PoW and PoS algorithms by slight modification of introducing the "Success time" concept and "success time value" as a stake respectively. Success time adjusting the difficulty value for a miner. If success time value is greater, the difficulty value will be simpler to the miner, which causes mining dependency on success time value. If the miner has high value of success time has the high chance of mining reward of a new block creation. In contrast to PoW and PoS, the PoC provides penalty for deceptive activity by setting the success time value to zero and also add the address of the deceptor to blacklist which will be publically available. The miner will ignore the block if the address of the deceptor is found in the blacklist and no one will make transaction with the blacklisted address.

Ripple
Ripple protocol [17] basically designed for the ripple cryptocurrency to focus on latency issues aroused from the Byzantine failures. Each node is communicating with others node in its "Unique Node List" (UNL), which is a server containing others ripple nodes for consensus in the Ripple environment. Each node is defining UNL. Consensus in the ripple environment is done in multiple rounds. In first round, each node receive transactions and add them in a public list called "candidate set" and then relay its candidate sets to other nodes in its UNL. Nodes in the UNL validate the transactions by voting on them and broadcast the result of votes among the nodes in the UNL. Each node arrange its candidate set and transactions received the highest number of votes are passed to the next round. When a candidate set receives approximately 80% or more of votes from all the available nodes in the UNL, then that candidate set wins the voting and becomes a valid block which is called the "Ledger" in the Ripple environment. This ledger is considered the "Last Closed Ledger (LCL)" and added to the Ripple blockchain by each node in the UNL. The transactions which are not qualified in voting along with the new transactions will join the next round of consensus. In this way the consensus process continues until all the transactions are validated and added to LCL.

Stellar Consensus Protocol (SCP)
The quorums and quorum slices concept are used in Stellar Consensus protocol algorithm [22]. A Quorum is a group of nodes sufficient to reach an agreement. A quorum slice is a part of a quorum that can convince a particular node about agreement. Individual nodes can appear in several parts of the quorum. Stellar introduced quorum slices to allow each individual node to select a group of nodes in its slice so as to allow open participation. These quorum and quorums' slices are based on real-life business relationships between various entities to the point leveraging trust existing in business models. To reach global consensus across the systems, quorums must cross. The overall consensus is reached globally from decisions made by individual nodes. The consensus protocol works as follows. Each node first makes a preliminary vote on transactions, also generally considered a statement. This is the first step in the allied voting process. Each node select its statement and will not select another statement that conflicts with its choice. However, it can accept a different statement if its quorum slice has received a different statement. The second step is the acceptance step. The node receives a statement if it has never received a statement that conflicts the current statement and each node in its v-block group has received that statement. A v-blocking set is a group of nodes each of the quorum slice that constitute the current node. Quorum slices affect each other leading to quorums agreeing with a particular statements. This step is known as confirmation when all quorum members agree with the statement. Verification is the final step in the voting process and signifies system level agreement. This step ensures that nodes send each other confirmation messages until everyone agrees on the final value of the state in the system.

Proof of Stake Velocity (PoSV)
Proof of Stake Velocity [18] is designed for Reddcoin in 2014, which is a digital social currency for both ownership of stake and its velocity. It is opposed to PoW and PoS which are used in the commercial digital currencies such as bitcoin and ethereum etc. it covers the social and commercial weaknesses available in the PoW and PoS based network. PoSV patched up the limitation available in the PoS, which is incentivizing the minter more for keeping the stake for a long period of time which is based on linear coin age function as compared to active members. Coin age function is replaced by exponential decay function used in the PoSV. It means that the PoSV based network encourages the stakeholder to be active and moving their stakes in the network. It also encourage stake holders to stay online and verify the transactions in order to increase the chance of getting incentives.

Proof of Stake Casper (PoS Casper)
Proof of Stake with Casper the Friendly Finality Gadget Protocol [1] is designed for Fair validation Consensus in Ethereum. It is removing the unfair advantage of the richer miners and fair validation of the transactions by proposing a system with Casper Proof of Stake which solved the problem "Nothing at stake problem" which is available in the PoW and PoS based blockchain network. The PoS algorithm is modified with some extra features which are as follow: • Modular overlay: The Casper design consists of an overlay on the existing Proof of work chain, making it easy to implement. The voting for transaction validation criteria which are mentioned in this algorithm are 2/3 of the validator's stake can reach consensus and ½ of validators' votes. If both the conditions are true then the validation of transaction is accepted otherwise vote continues. The validator who validate the wrong transaction will be fined and its stake will be zero and a small amount reward will be given to the person who identified the validator's fault. They identified the checkpoint for the validators to cast vote and the checkpoint is equal to the set of 100 blocks due to which efficiency will be achieved.
Casper Proof of stake has not been implemented yet there is some ambiguity of its implementation in real system, how it will be implemented. There is a need of further study or solution of Casper's problem where the validator's stake burnt and exited from the validators set and rejoining the validator set again. Ethereum is working on these problems.

Proof of Participation and Fee (PoPF)
Proof of Participation and Fees (PoPF) [41] consensus algorithm is designed for blockchain based joint cloud computing. It is based on PoW consensus algorithm. There is no competition among all the users for each block generation. In the PoPF, some percentage of top ranking users are chosen as accountant candidates for each block generation. The ranking is defined by users' participation and fees in the previous transaction. This algorithm is not working at the beginning of the JCLedger because it require certain number of users and its participation and fee, therefore, initially pow consensus algorithm is used until the condition is satisfied. Each node will check the PoPF operation conditions every time it adds a block. When the number of users in the history blocks is greater than the set threshold n. the node will switch the PoW consensus approach to PoPF consensus approach. The mining difficulty of PoPF depends on user's ranking. The mining difficulty value is easier for the higher rank user as compared to the lower rank users. The valid block can be added to the ledger and if the block is not valid, the users dump the block and punish the accountant by setting the difficulty value more difficult for the next block generation.

CloudPoS
Cloud Proof of stake (CloudPoS) [34] consensus algorithm is designed to work well in the integration of blockchain with cloud environment. It modifies the concept of stake of the original PoS. Instead of cryptocurrency, the CPU power, network and memory are holding as a stake with Cloud Service Provider (CSP). CloudPoS works based on epoch and each epoch of the consensus has five phases which are as follow: • Stake determination • Resource staking and confirmation • Leader election • Block replication and verification • Reward distribution In CloudPoS, the validators are flexible in terms of joining and leaving the network as a validator any time but joining the network as a validator is possible only at the start of the epoch. During every epoch, several others task such as leader election, transaction validation and multiparty signature are executed before committing the block. The chance of becoming a leader depends on the amount of stake is locked, if more stake is locked having the high chances of producing the new block as compared to low staking locked.

Delegated PoS (DPoS)
Delegated Proof of Stake (DPoS) is a collaborative algorithm designed for bitshares. It is not competing for creation of a block like PoW and PoS etc. In this algorithm, the stake holders elect a specific number of nodes (witnesses) for block creations for a specific period of time and kept some nodes in a standby mode. All the elected witnesses will create its assigned block, one at a time in a round robin fashion. If anyone is failed to create an assigned block in a fixed period of time, the witness will be replaced by a node in the standby list [2]. Blocks are produced every three seconds by authorized witnesses and every 21 blocks the list of said witnesses is shuffled, if a producer has not produced any block within the last 24 hours, they are removed from consideration until they notify the blockchain of their intention to commence creating blocks again [3].

Proof of Disease
Proof of Disease (PoD) [33] consensus protocol is designed for medical care blockchain. The philosophy behind creation of this algorithm is to provide assurance of high quality medical care quickly and with cheap price. PoD based system has broadly two types of miners; coin miner, medical miners. The coin miner will check the financial transactions to avoid Sybil and double spending attacks while the medical miners will check and assure that the medical transactions and health status entered into the health's blockchain ledger are correct and satisfactory. The coin miner will follow the process of etherium platform for transaction fee and rewards because it works based on etherium platform while the medical miners will be paid by the users having the token purchased from the medical blockchain system.

Fairness Issues in Consensus Algorithms of Public Blockchain Systems
A fair exchange protocol has to provide assurance that bad players cannot have advantage over the honest player [42]. Cryptocurrencies such as Bitcoin, Litecoin, Dogecoin, and Ethereum are gaining popularity. While existing blockchain-based cryptocurrency schemes can ensure reasonable security for transactions, they do not assume any sense of justice [43]. The unfair aspects in permissionless blockchain systems are as follow.

Unfair Transaction Selection
The prioritization of transactions in bitcoin, ethereum and litecoin is based on the transaction fees. The transaction with higher fee is given priority. The miners select the transaction having high transaction fee. Realistically, the transaction having low transaction's fee is rarely picked up by the miners [44].

Unfair Incentive
Incentivization is the life of the public blockchain systems such as Bitcoin, Ethereum and etc. in order to get a higher level assurance for the correctness of the blockchain system. Anyone can join the blockchain system at any time and act as a miner to earn reward for the block creation. Lewenberg et al. [45], as well as Eyal et al. [46], worked on blockchain simulation (amongst honest miners), and found out that some miner's reward can be lower than its fair share but no theoretical explanation available about such unfairness in bitcoin. According to [47], an honest node must invest in mining resources such as hashrates, disk space, etc., to win a mathematical puzzle contest under the Nakamoto consensus protocol. Intuitively, the more resources a miner puts in the network, the higher the chances for miners to win contest and thus get mining incentives. However, success cannot be guaranteed as it also depends on the resources of other miners. Because mining resources are often expensive and economic costs (especially electricity usage) make it impractical for any node to participate voluntarily in the consensus process with consistent economic losses [48]. , how to properly invest in mining resources to maximize profits is a major concern for miners [47].
Rachid Guerraoui and Jingjing Wang [49] demonstrate the unfairness observed by [45] and [46] of the Bitcoin blockchain. He emphasized that, if there are even only two honest miners in a realworld environment in a distributed system. The message delivery is not immediately placed. The ratio between the numbers of blocks approved by the two miners (expected) is actually defined by the exponential duration of the product of message delay and the difference between the two miners' hashrates. As a result, honest miners may have disincentivized of maintaining the protocol, leaving room for the most dishonest miners, making them a majority and jeopardizing the overall consistency of the system. This also implies a trade-off between block mining speed and the fairness of committed blocks in the blockchain and its variants (such as Bitcoin-NG [46],and GHOST [50]): namely, the legal temptation to increase blockchain throughput by reducing the time of mining can lead to more unfairness [49].

Unfair Participation Opportunity as a Miner for Poor People
When a blockchain system that is under the control of a single mining pool or a person having high computational power can lead to a capitalistic approach, where rich can be richer and richer and ordinary people cannot participate due to not having money to purchase high computing devices like ASIC in Bitcoin and stack some amount as deposit in the Ethereum. As we see the most the popular consensus algorithms are PoW and PoS. In PoW based Blockchains such as Bitcoin and Ethereum, the miner who wish to create a new block, he/she has to do some work by solving some mathematical puzzle using hash algorithm which require a high performance computing devices or have to join the mining pool to share the resources in order to find the required hash. According to Ryoya Nakahara and Hiroyuki Inaba [51], creation of mining pool is productive to share a large amount of computing power. As the mining pool become growing and growing, it is very hard for new node or miner to join and mine alone. Therefore he/she has no any other way but to join the mining pool.
Due to the aforementioned reasons it is required to have an environment where rich and poor have the same opportunity and rights in terms of getting rewards in the blockchain so therefore, we need to have a consensus algorithm for blockchain system where rich and poor are equal.

Issues of Different Public Blockchain's Consensus Algorithms
A summary of the problems of the most popular blockchain's consensus algorithms are shown below in Table 5. The difficulty level in the PoW keeps increasing in the blockchain. Therefore, more power and dedicated hardware (such as an ASIC) are needed to resolve the hash value, having a specific number of zero in front, which increases the costs of finding the hash value. The cost of finding a hash value is difficult to control. Mining can only be used for mining pools with expensive hardware that leads to system centralization.

Uselessness of Computation
All miners are competing for competition to create new blocks. They are competing to find a specific hash value. The hash value can be calculated from an unknown number of iterations. Therefore, they consume more energy. As a result, one of them succeeded, the hard work of other miners became useless, and their hard work could not be applied anywhere else.

Forking
Due to the greediness of miners, forks are available in consensus algorithms such as PoW, PoS, Tendermint, PoL, PoC, PoPF, DPoS and PoS Casper. They are competing for a new block creation award. Therefore, it causes the blockchain to split into two parts.

51% Attack
This attack occurs when the group of miners handles the computing power higher than 50% of finding the difficulty value in the PoW system. This attack causes to create the following issues in blockchain [5]: Ignoring specific user's transaction

Unfair
All the consensus algorithms mentioned in Table 5, make it very difficult for the poor people who wish to join the blockchain as a miner. Due to the cost of using expensive technology such as ASIC (PoW), TEE (PoL), and holding stake (PoS, PoS Casper, Tindermint, PoSV, PoC and CloudPoS).

Minting dependency on stake
The minting depends on the amount of stake a person has in the system. If a minter has held a high stake, the chances of minting are more as is discussed in [52]. If the stake in the given cryptocurrency is at 1%, the person can mint up-to 1% of the transactions.

Nothing-at-stake
There is no penalty defined for participants of double spending attack and contributing to multiple blockchain forks in the PoS consensus algorithm.

Reward winning and incentive strategies of PuBCA
Rewards and incentives are the most important attribute of public blockchain system. These help in keeping alive the public blockchain system. If it is not available in the public blockchain systems, people will not show any interest and will not take participation in the system as a validator or verifier which arrange and manage the system.

Discussion
In this section of the study, the data gathered from the white papers and other related papers for collected public blockchain consensus algorithms (PuBCA) which are shown in figure 1 and overviewed in section 4.1. in order to answer the research questions RQ1 and RQ2 4.1. RQ1: What are the available consensus algorithm for public blockchain systems which provide fairness?
As we have drawn the conclusion from the literature as discussed in section 4.1 and 4.2 of this study and found out that there are fairness issues available in the available public blockchain systems and public blockchain consensus algorithms. The fairness issues include unfair transaction selection, unfair incentive and unfair participation opportunity for poor people as a miner and discussed in section 4.1.1, 4.1.2 and 4.1.3 respectively. The table 5 also highlights the unfair attribute which is available in all public blockchain consensus algorithms except PoP. The PoP tried to solve unfair issues and it is successful for a small society because the concept of party is involved but it is not covering all the societies. It helps those people where the party is arranged but the people who are far away from the party location can not attend the party due to time and transportation expenditure.

RQ2: What are the reward winning and incentive strategies of various consensus algorithms for public blockchain systems?
There are various ways incurred from the literature as discussed in section 4.1 and 4.2 of this study for reward winning and incentive strategies. The table 6 highlights reward winning and incentive strategies of various consensus algorithms in which the most common are as follow: Return on Investment (ROI). These and others awards and incentive strategies help in the durability of public blockchain system. It is the only way to keep alive the public blockchain system.

Conclusions
This study reviewed 25 blockchain consensus algorithms collected from 36 articles. After examining these 25 blockchain consensus algoirthms, we classified the collected blockchain consensus algoirthms into 3 types of blockchain consensus algorithms such as private, consortium and public. Our focus was on the public blockchain consensus algorithms. The analysis of collected algorithms show that Some consensus algorithms like [10], [11] and [12] cover the order of transactions, the choice of leaders, and transaction selection for block but lacking the fairness in mining strategy for ordinary users in the public blockchain system. The fairness issues include unfair transaction selection, unfair incentive and unfair participation opportunity for poor people as a miner which are available in public blockchain consensus algorithms. These issues require more study in the future. preparation, I.J.; writing-review and editing, K.A.B.A.;. All authors have read and agreed to the published version of the manuscript.
Funding: Please add: "This research received no external funding" or "This research was funded by NAME OF FUNDER, grant number XXX" and "The APC was funded by XXX". Check carefully that the details given are accurate and use the standard spelling of funding agency names at https://search.crossref.org/funding, any errors may affect your future funding.

Conflicts of Interest:
The authors declare no conflict of interest