عنوان مقاله [English]
Nowadays Blockchain technology is considered as a revolutionized technology in business environment and the peak of its prosperity has been the introduction of Bitcoin in 2008. Using blockchain networks, it could be possible to replace centralized databases and general ledgers, by high trust and decentralized one, held by different entities, or in other words, verifying nodes. The most important part of blockchain network structure is the consensus algorithm, which determines how agreement is made to append a new block between all nodes in the verifying network. In other words, consensus algorithms determine rules and protocols specifying which block and by which member should be added to main chain, and to avoid parallel and contradictory structures. Consensus algorithms can be categorized into two main groups. The first group is proof-based consensus algorithms, which requires the nodes joining the verifying network to show that they are more qualified and better than the others to do the appending new block. The second group is voting-based consensus algorithms, which requires nodes in the network to exchange their results of verifying a transaction or a new block, before making the final decision. In this paper, we present a review of the Blockchain consensus algorithms that have been researched and that are being applied in some well-known applications at this time. In this paper, we discuss consensus algorithms that have been researched and that are being applied in some well-known blockchain applications at this time, while discussing the key features and comparing them in different aspects.