Blockchain Technology explains blockchain in simple terms, guiding the reader through the nuances of how this revolutionary concept builds on the distributed database system to redefine how we store, move and update data.
The book covers the application areas of blockchain in great detail and spells out the crucial difference between Bitcoin and the broader blockchain technology.
The gradual flow of chapters traces the history of blockchain from cryptocurrencies to blockchain technology platforms and applications that are adopted by mainstream financial and industrial domains worldwide due to their ease of use, increased security and transparency.
Incorporating four useful case studies, this book is a much-needed curriculum aid for university students and for those planning to enter the software industry.
Chandramouli Subramanian is Associate Director, Cognizant Technology Solutions, Chennai. He works on large-scale mission-critical projects based on blockchain, AI and machine learning.
Asha A George is a certified blockchain and cryptocurrency expert with over 20 years of project program portfolio management experience across multiple industries.
Abhilash K A is a solution architect based in Bengaluru. He specialises in Enterprise Systems, Business Process Modelling, and Distributed Computing.
Meena Karthikeyan is a digital enterprise solutions expert with over 35 years business experience in Enterprise Solutions Consulting for Process Management and Integration
Preface Acknowledgements About the Authors 1. Fundamentals of Blockchain 1.1 Introduction 1.2 Origin of Blockchain 1.3 Blockchain Solution 1.4 Components of Blockchain 1.5 Block in a Blockchain 1.6 The Technology and the Future Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 2. Blockchain Types and Consensus Mechanism 2.1 Introduction 2.2 Decentralization and Distribution 2.3 Types of Blockchain 2.4 Consensus Protocol Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 3. Cryptocurrency – Bitcoin, Altcoin and Token 3.1 Introduction 3.2 Bitcoin and the Cryptocurrency 3.3 Cryptocurrency Basics 3.4 Types of Cryptocurrency 3.5 Cryptocurrency Usage Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 4. Public Blockchain System 4.1 Introduction 4.2 Public Blockchain 4.3 Popular Public Blockchains 4.4 The Bitcoin Blockchain 4.5 Ethereum Blockchain Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 5. Smart Contracts 5.1 Introduction 5.2 Smart Contract 5.3 Characteristics of a Smart Contract 5.4 Types of Smart Contracts 5.5 Types of Oracles 5.6 Smart Contracts in Ethereum 5.7 Smart Contracts in Industry Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 6. Private Blockchain System 6.1 Introduction 6.2 Key Characteristics of Private Blockchain 6.3 Why We Need Private Blockchain 6.4 Private Blockchain Examples 6.5 Private Blockchain and Open Source 6.6 E-commerce Site Example 6.7 Various Commands (Instructions) in E-commerce Blockchain 6.8 Smart Contract in Private Environment 6.9 State Machine 6.10 Different Algorithms of Permissioned Blockchain 6.11 Byzantine Fault 6.12 Multichain Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 7. Consortium Blockchain 7.1 Introduction 7.2 Key Characteristics of Consortium Blockchain 7.3 Why We Need Consortium Blockchain 7.4 Hyperledger Platform 7.5 Overview of Ripple 7.6 Overview of Corda Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 8. Initial Coin Offering 8.1 Introduction 8.2 Blockchain Fundraising Methods 8.3 Launching an ICO 8.4 Investing in an ICO 8.5 Pros and Cons of Initial Coin Offering 8.6 Successful Initial Coin Offerings 8.7 Evolution of ICO 8.8 Ico Platforms Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 9. Security in Blockchain 9.1 Introduction 9.2 Security Aspects in Bitcoin 9.3 Security and Privacy Challenges of Blockchain in General 9.4 Performance and Scalability 9.5 Identity Management and Authentication 9.6 Regulatory Compliance and Assurance 9.7 Safeguarding Blockchain Smart Contract (DApp) 9.8 Security Aspects in Hyperledger Fabric Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 10. Application of Blockchain 10.1 Introduction 10.2 Blockchain in Banking and Finance 10.3 Blockchain in Education 10.4 Blockchain in Energy 10.5 Blockchain in Healthcare 10.6 Blockchain in Real-estate 10.7 Blockchain in Supply Chain 10.8 The Blockchain and IoT Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 11. Limitations and Challenges of Blockchain 11.1 Introduction 11.2 Blockchain Implementation – Limitations 11.3 Blockchain Implementation – Challenges Summary | Multiple Choice Questions | Short-answer Questions | Essay-type Questions 12. Blockchain Case Studies 12.1 Case Study 1 – Retail 12.2 Case Study 2 – Banking and Financial Services 12.3 Case Study 3 – Healthcare 12.4 Case Study 4 – Energy and Utilities 13. Blockchain Platform using GoLanguage 13.1 Introduction 13.2 Learn How to Execute Your First GolangProgram in Atom 13.3 Know How to Do Basic Programming Using Golang 13.4 Basic Packages in Golang 13.5 Creating Simple Blockchain Using Golang 13.6 Creating Simple Blockchain with Proof-of-Work (PoW) 13.7 Using Golang 13.8 Connecting to Ethereum Using Golang Summary | Practical Questions (Using Golang) 14. Blockchain Ethereum Platform using Solidity 14.1 Introduction 14.2 Remix IDE 14.3 Structure of a Smart Contract Program 14.4 Using Remix to Write and Run a Solidity Program 14.5 Modifiers 14.6 Events 14.7 Arrays in Solidity 14.8 Function Visibility 14.9 Variable Visibility 14.10 Function Modifier Keyword 14.11 How Funds Are Accepted 14.12 Fallback Function 14.13 Contract Inheritance 14.14 Contract Communicating with Another Contract 586 14.15 External Libraries 14.16 ERC20 Token Transfer 14.17 Error Handling in Solidity 14.18 Application Binary Interface (ABI) 14.19 Swarm (Decentralized Storage Platform) 14.20 Whisper (Decentralized Messaging Platform) Summary | Practical Questions (Using Ethereum Solidity) 15. Blockchain Platform using Python 15.1 Introduction 15.2 Learn How to Use Python Online Editor 15.3 Basic Programming Using Python 15.4 Python Packages for Blockchain Summary | Practical Questions (Using Python) 16. Blockchain platform using Hyperledger Fabric 16.1 Introduction 16.2 Components of Hyperledger Fabric Network 16.3 Chaincodes from Developer.ibm.com 16.4 Blockchain Application Using Fabric Java SDK Summary | Practical Questions (Using Python) Appendices | Connecting Remix with Ganache; Connecting MyEtherWallet with Ganache; Connecting Remix with Metamask; Model Syllabus for Blockchain Technology Index