Edited by Sandeep Kumar Panda, Ahmed A. Elngar, Valentina Emilia Balas, and Mohammed Kayed
Chapter 1 Bitcoin: A P2P Digital CurrencySathya A.R. and Ahmed A. Elngar 1
Chapter 2 Exploring the Bitcoin NetworkSathya A.R. and K. Varaprasada Rao 23
Chapter 3 Blockchain Technology: The Trust-Free SystemsSathya A.R. and Ajay Kumar Jena 37
Chapter 4 Consensus and Mining in a NutshellSathya A.R. and Santosh Kumar Swain 55
Chapter 5 Blockchain: Introduction to the Technology behind Shared InformationNaseem Ahamed 65
Chapter 6 Growth of Financial Transaction toward Bitcoin and Blockchain Technology Chiranji Lal Chowdhary 79
Chapter 7 A Brief Overview of Blockchain Algorithm and Its Impact uponCloud-Connected EnvironmentSubhasish Mohapatra and Smita Parija 99
Chapter 8 Solidity EssentialsParv Garg and Neeraj Khadse 115
Chapter 9 Installing Frameworks, Deploying, and Testing Smart Contracts in Ethereum Platform .Tushar Sharma 137
Chapter 10 Blockchain in Healthcare SectorS. Porkodi and D. Kesavaraja 163
Chapter 11 Blockchain Theories and Its ApplicationsJaipal Dhobale and Vaibhav Mishra 183
Chapter 12 Building Permissioned Blockchain Networks Using Hyperledger Fabric .K. Varaprasada Rao, Mutyala Sree Teja, P. Praneeth Reddy, and S. Saikrishna 193
Chapter 13 Fraud-Resistant Crowdfunding System Using Ethereum BlockchainSandeep Kumar Panda 237
Globally, the industries provide employment to about 500 million people from the main business sectors which include service, retail, manufacturing, business, health care, local and central government, finance sector, etc. All of these sectors are made either automatic or semiautomatic by sophisticated business processes forming an integral part of the digital economy. In this revolution, the Internet plays a vital role in core business, and financial aspects of the digital economy are still centralized, with the help of centralized agencies such as banks and tax agencies, to authenticate and settle payments and transactions. These centralized services often are manual, difficult to automate, and represent a bottleneck to facilitating a frictionless digital economy. The blockchain technology, a distributed, decentralized, and public ledger, addresses these issues by maintaining records of all transactions on a blockchain network that promises a smart world of automation of complex services and manu-facturing processes.
A blockchain network is a peer-to-peer network and does not require a central authority or trusted intermediaries to authenticate or settle the transactions. The first generation of blockchain network was coined by Satoshi Nakamoto in his 2008 white paper where the primary application of the blockchain network was the use of electronic cash or cryptocurrency called Bitcoin. The second-generation blockchain network called Ethereum was introduced in 2013. Ethereum allows a single program-mable blockchain network to be used for developing different types of applications where each application takes the form of a smart contract which is implemented in a high-level language and deployed on the blockchain network.
There are very few books that can serve as a foundational text book for colleges and universities looking to create new educational programs in the areas of blockchain, smart contracts, and decentralized applications. The existing books are focused on the business side of blockchain and case study–based evaluation of applications.We have edited this book to meet the need at colleges and universities. This book can serve as a textbook for senior- and graduate-level courses on the domains such as business analytics, finance, Internet of Things, computer science, mathematics, and business schools. This book is also dedicated to novice programmers and solu-tion architects who want to build powerful, robust, optimized smart contracts using solidity, and hyperledger fabrics from scratch.
This book is organized into 13 chapters.
Chapter 1, Bitcoin: A P2P Digital Currency, presents an overview of digital cur-rencies, discusses the Bitcoin transactions and proof of work, reviews the Bitcoin security attacks, and illustrates the Bitcoin development environment.
Chapter 2, Exploring the Bitcoin Network, describes the overall process of Bitcoin networks like transactions, digital signatures, relay networks, and Bitcoin script.
Chapter 3, Blockchain Technology: The Trust-Free Systems, discusses blockchain technology in detail and highlights some of the applications in which it can be used. It also specifies some challenges and benefits of this technology that is all set to transform the digital world.
Chapter 4, Consensus and Mining in a Nutshell, provides an overview of the con-sensus models, narrates the transaction process using consensus, and examines the different consensus attacks.
Chapter 5, Blockchain: Introduction to the Technology behind Shared Information, discusses the incentive to the miner, attacks, types of blockchain, and blockchain impacts in finance and industry sectors.
Chapter 6, Growth of Financial Transaction toward Bitcoin and Blockchain Technology, deliberates the introduction to cryptocurrency, and its history and definitions. Nevertheless, this chapter also discusses some cybersecurity aspects of blockchain.
Chapter 7, A Brief Overview of Blockchain Algorithm and Its Impact upon Cloud-Connected Environment, focuses on blockchain algorithm and its impact upon cloud-connected ecosystem.
The focus of Chapter 8, Solidity Essentials, is on briefly understood Solidity Language. The need for Solidity is discussed. Its use case and implementation are addressed. Details of its environment setup and compilation are also provided. Its important components are explained along with examples for a better understanding of syntax. By the end of this chapter, the reader will be familiar with Solidity and will be able to write smart contracts on it.
Chapter 9, Installing Frameworks, Deploying, and Testing Smart Contracts in Ethereum Platform, covers the smart contract programming with a special emphasis on Solidity, properties associated with a smart contract account, fetching accounts from Ganache module, deployment of smart contracts with Web3 and Infura, testing smart contracts with open-source tools such as Remix and Mocha framework for asynchronous testing, test coverage reports, and use of any assertion library. Hence, this chapter highlights the methods for writing smart contracts using various author-ing tools such as Visual Studio. However, the easiest and fastest way for developing and testing the smart contracts is to use a browser-based tool known as Remix. Next, we write few smart contract applications with Solidity language and explain all the common function types used in it. The concepts of gas and transactions are thor-oughly discussed. Lastly, this chapter is laid out in a manner that it helps the reader to get the comprehensive idea of writing smart contracts.
Chapter 10, Blockchain in Healthcare Sector, discusses the existing and the latest new developments in implementation, challenges, applications, and future direction of the blockchain-based systems in healthcare sectors.
Chapter 11, Blockchain Theories and Its Applications, describes the financial applications where blockchain provides traceability and transparency to the financial transactions, which makes it a unique technology to take care of financial applica-tions. Financial applications in the area of banking services, insurance sector – health insurance, economic business applications, financial auditing, and cryptocurrency payment and exchange are part of discussion. Non-financial applications: health care – in healthcare sector, patients’ records should be shared with the healthcare stakeholders with confidentiality; blockchain is an effective technology to take care of this process. Governance – blockchain technology can serve as a path changer for the local and central governments to take care of governance.
Chapter 12, Building Permissioned Blockchain Networks Using Hyperledger Fabric, discusses in detail about Hyperledger Fabric, its architecture, and the pro-cedure to build the Hyperledger Fabric network using docker container technology for an industry use case, which would involve multiple actors/organizations who want to form a permissioned network. We will also discuss about developing the chaincode (smart contract) for Hyperledger Fabric using node js, and building a Representational State Transfer Application Program Interface (REST API) to inter-act with the Fabric network using Fabric Node Software Development Kit (SDK).
Chapter 13, Fraud-Resistant Crowdfunding System Using Ethereum Blockchain, presents all the details and technicalities in implementation of a crowdfunding plat-form through Ethereum blockchain network in a scholarly manner.