Recently, Blockchain-based applications have become immensely popular because of limited reliance on a single entity, unlike a centralized system. However, reaching a consensus among blockchain networks is a challenging and vital aspect of blockchain-based applications. There are various types of blockchain networks for different kinds of application scenarios. Among all of them, the consensus algorithm is the most crucial part of reaching an agreement in the complex blockchain network. Over the years, researchers have focused on dealing with the challenges like distributed computing, storage, transaction speed, security, validity, interoperability, and many more. However, only some of them are appropriate for all domains. Therefore, this paper presents an extensive study of different types of consensus protocols used in existing blockchain solutions with the strength and limitations of each algorithm. We also provide an inherent comparison among different algorithms to understand consensus protocol selection better. Moreover, we investigate operational and interoperability issues in existing blockchain-based applications to understand challenges and provide recommendations for future developers.INDEX TERMS Blockchain, consensus algorithm, interoperability, cross-chain transactions, architecture, operational issues, applications, research directions.
I. INTRODUCTIONT HE blockchain concept was first introduced by Haber and Stornetta [1], which is considered one of the technologies with the most potential. After that the introduction of Bitcoin by Nakamoto [2], it has attracted intense attention from all over the world. In Blockchain systems, different cryptographic protocols, like hash functions, digital signatures, etc., are used to maintain the authenticity and security of the data. Blockchain is a distributed ledger system that keeps data secure from unauthorized access. Blockchain technology allows users to add, view, and validate transactions to the distributed ledger. These transactions often take place with the consent of all involved users. Blockchain uses a consensus mechanism to ensure that all transactions are accurate.In a trustless environment, blockchain provides users with desirable qualities like decentralization, autonomy, integrity, immutability, verification, fault-tolerance, anonymity, auditability, and transparency, which have received significant academic and industrial attention recently years [3]-[6]. However, the blockchain system is trustless and ensures blockchain-enabled trust through other cryptographic peerto-peer communication in the decentralized network. Further verification and validation mechanisms are employed