ABSTRACT

Blockchain is defined as a distributed database that gives a secure, yet transparent way to make, record, and validate any kind of transaction record. Blockchain helps in eliminating the necessity of a centralized control and the transactions are digitally signed with the help of an asset owner public/private key pair. In addition, once the transactions are recorded, data in a block cannot be modified/altered/deleted retrospectively. In this chapter, we first discuss blockchain technology design space and its various consensus mechanisms. We then discuss various practical applications related to blockchain. Next, we also discuss various advantages and disadvantages of blockchain including limitations. After that, we emphasize on authentication protocols that are needed in blockchain to provide stronger security as compared to traditional authentication mechanisms and perform a comparative study on various existing lightweight authentication protocols that are applicable in blockchain technology. Finally, we discuss various testbeds that are deployed and implemented for blockchain technology.