Blockchain concensus algorithms :|ba comparative study - Hattab, Seham M R (Kulliyyah of Information and Communication Technology, International Islamic University Malaysia, 2019)
A blockchain is a distributed ledger technology that has been defined as a distributed, shared, encrypted database that serves as an irreversible and incorruptible repository of information. Blockchain can be defined as a peer-to-peer distributed ledger that is cryptographically secure, append-only, immutable and updatable only via consensus or agreement among peers. In blockchain platforms, each transaction in the public ledger is verified by consensus of the majority of the system participants in a transparent and secure way. The consensus algorithm is a distributed computing concept or a protocol to achieve agreements on data values among distributed nodes in the network. The goal of consensus is to facilitate the verification and validation of information being added to the blockchain. Numerous consensus algorithms have been investigated by many researchers. However, the increasing of consensus algorithms led to many problems such as the misusing and misunderstanding of these algorithms by researchers, developers, as well as users. In the other hand, the previous researches did not tackle the classification of these algorithms to build a strong understanding for the consensus algorithms. The study focuses on developing and providing a comparison between most of the recent consensus algorithms regarding the scalability of the algorithm; the type of blockchain, node identity, the performance of the algorithm (in terms of throughput & latency) and Adversarial Tolerance and to deliver a solid basis for discussions about current statistics. Moreover, this study proposes a new classification for the consensus algorithms, this classification divided into three approaches based the mechanism of reaching a consensus, these categories are; Proof-based on Hardware, Proof-based on Stake and Proof-based on voting. As a result, the comparison study of these algorithm extracts the efficient and stable algorithm for a stable blockchains platforms. Finally, the study presents conclusion and some possible future trends for consensus algorithms used in blockchain.