Overview of Blockchain Technology Concepts

Blockchain technology (BCT) has perhaps gained widespread attention around the world for roughly a decade. Since the technology was coined, researcher’s focus shifted to explore the insights of the technology. Nakamoto first introduced the concept of digital currency or cryptocurrency. Decentralized systems are the backbone of these cryptocurrencies and the technology behind these currencies are blockchain. Blockchain is a distributed ledger and one of the most promising, disruptive and revolutionary technology of today. Initially, all communities in the world believed that Bitcoin is blockchain and many myths were around what the technology is and impact of that technology in business applications. Later, an influence of core technology behind the Bitcoin had transformed the perception of the researchers, industrialists, and academicians in various domains such as Banking, Healthcare, Government, and so on. In order to know BCT in depth, the basic understanding of BCT concepts and key terms are to be explored in this chapter. Blockchain consists of chain of consecutive blocks of transactions. Traditional client/server systems are following client/server architecture and controlled by multiple administrators. But, BCT is a decentralized, peer-to-peer (P2P) network and distributed in nature. Each and every participant of the network can control the network. BCT network consists of many computers connected together and the block cannot be altered without consensus of the whole network. Block can be considered as a container for the data. Computers in the blockchain network are called nodes and each node has copy of the digital ledger. Blockchain is continuously growing chain of blocks which are interconnected and protected with the help of cryptographic functions also. Validating of new blocks is followed by a set of protocols and consensus from every participant of the network. The records are stored in linear chain. Pointers and linked list data structures are used in blockchain for the block representation. Blocks are arranged in sequence and lined with each other using linked list. Pointers are used to point the location of the next block. Block is a collection of data that stores the transaction details such as timestamp, link to the previous block which is generated by secure hash algorithm. Every block has contains two parts: block header and block body. Blockchain is characterized by consensus, distributed computation, immutability, and authentication. Since blockchain is a budding technology, different types of applications require different types of blockchains. Permissionless or public blockchain does not have any control. Anyone can read or write into the network. At the same time, permissioned ledgers are restricted to authenticated users of the network. All blocks are encrypted by a private key and cannot be interpreted by anyone. Consortium blockchains are the combination of both the public and private blockchains. With the perspective of software architecture, understanding the working model of blockchain helps in implementation of technology in different domains. In the working model of blockchain, one party initiates the transaction by creating a block. Computers in the network validate the block and finally block is added to the chain and stored across the network. Even though BCT gained momentum in the future Internet systems, number of challenges are to be addressed carefully. Expertise in BCT technology is much needed since we are in nasal stage of this technology. An adoption of BCT offers promising features in various domains, but huge initial cost for the infrastructure is a major concern for the industries. Privacy and security factors also play an important role for the implementation of BCT. Scalability and legal regulations are also posing a major challenge for the adoption of BCT.