Blockchain Technology: From Theory to Practice

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Blockchain is an emerging technology platform for developing decentralized applications and data storage, over and beyond its role as the technology underlying the cryptocurrencies. The basic tenet of this platform is that it allows one to create a distributed and replicated ledger of events, transactions, and data generated through various IT processes with strong cryptographic guarantees of tamper resistance, immutability, and verifiability. Public blockchain platforms allow us to guarantee these properties with overwhelming probabilities even when untrusted users are participants of distributed applications with the ability to transact on the platform. Even though, blockchain technology has become popularly known because of its use in the implementation of cryptocurrencies such as BitCoin, Ethereum, etc.; the technology itself holds much more promise in various areas such as time stamping, logging of critical events in a system, recording of transactions, trustworthy e-governance, etc. 

It introduces theoretical and practical aspects of blockchain technology. The book includes an in-depth insight into the need for decentralization, smart contracts, consensus both permissioned and permissionless, and various blockchain development frameworks, tools, and platforms. It can be used as a learning resource for various examinations and certifications related to cryptocurrency and blockchain technology. This book explained the nuts and bolts of blockchain technology in lucid language to make students more familiar with the implementation perspective of this much-needed technology.

Author(s): Sudeep Tanwar
Series: Studies in Autonomic, Data-driven and Industrial Computing
Publisher: Springer
Year: 2022

Language: English
Pages: 420
City: Singapore

Preface
Acknowledgments
Contents
About the Author
1 Introduction to Blockchain Technology
1.1 Introduction
1.1.1 Distributed Systems
1.1.2 Decentralized Systems
1.2 What Is Blockchain?
1.3 Structure of Blockchain
1.3.1 Types of Blocks in Blockchain Network
1.3.2 Types of Blockchain Nodes
1.4 Key Technologies of Blockchain
1.4.1 Cryptographic Hash Functions
1.4.2 Message Authentication
1.4.3 Smart Contract
1.4.4 Consensus Mechanism
1.5 How Blockchain Works?
1.6 Features of Blockchain
1.6.1 Peer-to-Peer Network
1.6.2 Distributed Ledger
1.6.3 Cryptographically Secure
1.6.4 Append-only
1.7 Growth of Blockchain Technology
1.7.1 Blockchain 1.0: Bitcoin
1.7.2 Blockchain 2.0: Smart Contracts
1.7.3 Blockchain 3.0: DApps
1.7.4 Blockchain 4.0: Industry 4.0
1.7.5 Blockchain 5.0
1.8 The Need of Blockchain Technology
1.9 Types of Blockchain
1.9.1 Public Blockchain
1.9.2 Private (permissioned) Blockchain
1.9.3 Consortium Blockchain
1.10 Implementation Platforms of Blockchain
1.10.1 Node.js
1.10.2 Remix IDE
1.10.3 Ganache
1.10.4 Hardhat
1.11 Summary
1.12 Practice Questions
1.12.1 Multiple Choice Questions
1.12.2 Fill in the Blanks
1.12.3 Short Questions
1.12.4 Long Questions
References
2 Blockchain Revolution from 1.0 to 5.0: Technological Perspective
2.1 History of Blockchain
2.1.1 Blockchain 1.0
2.1.2 Blockchain 2.0
2.1.3 Blockchain 3.0
2.1.4 Blockchain 4.0
2.1.5 Blockchain 5.0
2.2 Summary
2.3 Practice Questions
2.3.1 Multiple Choice Questions
2.3.2 Fill in the Blanks
2.3.3 Short Questions
2.3.4 Long Questions
References
3 Decentralization and Architecture of Blockchain Technology
3.1 Introduction
3.1.1 Need for Decentralization
3.1.2 Comparative Analysis with Other Approaches
3.1.3 Methods of Decentralization
3.1.4 Correctness of Decentralization
3.1.5 Benefits of Decentralization
3.1.6 Challenges of Decentralized Organizations
3.2 Investigating Decentralized Consensus Mechanisms
3.3 Blockchain-Based Decentralized Supply Chain Management System—Case Study
3.3.1 Decentralized Supply Chain Management
3.3.2 Use Case: Food Supply Chain
3.3.3 Use Case—Logistic Supply Chain Management
3.4 Blockchain-Based Decentralized Healthcare System—Case Study
3.5 Blockchain-Based Decentralized Battlefield System—Case Study
3.6 Summary
3.7 Practice Questions
3.7.1 Multiple Choice Questions
3.7.2 Fill in the Blanks
3.7.3 Short Questions
3.7.4 Long Questions
References
4 Basics of Cryptographic Primitives for Blockchain Development
4.1 Introduction
4.2 Blockchain Technology Hash Primitives
4.2.1 Message Digest in Blockchain
4.2.2 Secure Hash Algorithms (SHA)
4.2.3 RIPEMD
4.2.4 Ethash
4.2.5 SCrypt
4.3 Digital Signature
4.3.1 Authentication
4.3.2 Integrity
4.3.3 Non-repudiation
4.4 Digital Signature in Blockchain
4.4.1 Elliptic Curve Digital Signature Algorithm (ECDSA)
4.4.2 Schnorr Signatures
4.4.3 Multisignatures
4.4.4 Ring Signature
4.5 Encryption Primitives for Blockchain
4.5.1 Symmetric Encryption
4.5.2 Asymmetric Encryption
4.5.3 Key Management and Exchange
4.6 Implementation
4.6.1 Elliptic Curve Digital Signature Algorithm (ECDSA) Implementation
4.7 Summary
4.8 Practice Questions
4.8.1 MCQ Questions
4.8.2 Fill in the Blanks
4.8.3 Short Questions
4.8.4 Long Questions
References
5 Smart Contracts for Building Decentralized Applications
5.1 Introduction
5.1.1 What is Smart Contract?
5.1.2 Disadvantages of the Smart Contracts
5.2 Blockchain Platforms Using Smart Contracts
5.3 Deploying Smart Contracts on a Blockchain
5.4 Applications of Smart Contract
5.5 Implementation Concepts
5.5.1 Introduction to Solidity Programming
5.5.2 Basics of Solidity Programming
5.6 Smart Contracts Case Studies
5.6.1 Telesurgery
5.6.2 Oil Mining
5.6.3 Banking Smart Contract
5.6.4 Voting Smart Contract
5.6.5 Remote Patient Monitoring
5.7 Security Threats on Smart Contracts
5.7.1 Known Possible Attacks on the Smart Contracts
5.7.2 Cause of the Attacks on Smart Contracts
5.8 Summary
5.9 Practice Questions
5.9.1 MCQ Questions
5.9.2 Short Questions
5.9.3 Long Questions
References
6 Distributed Consensus for Permissionless Environment
6.1 Introduction
6.1.1 Notion of Consensus
6.1.2 Distributed Consensus
6.1.3 Faults in Distributed Systems
6.1.4 Properties of Distributed Consensus
6.1.5 Correctness of a Distributed Consensus Protocol
6.1.6 Types of Consensus Mechanisms
6.1.7 Consensus in Blockchain
6.2 Taxonomy of Consensus Algorithms for Permissionless Environment
6.3 Various Consensus Algorithms
6.3.1 Proof of Work (PoW)
6.3.2 Proof of Stake (PoS)
6.3.3 Proof of Burn (PoB)
6.3.4 Proof of Capacity (PoC)
6.3.5 Proof of Activity (PoAc)
6.3.6 Proof of Weight (PoWe)
6.3.7 Proof of Luck (PoL)
6.3.8 Proof of Ownership (PoO)
6.3.9 Proof of Existence (PoE)
6.3.10 Proof of History (PoH)
6.3.11 Proof of Believability (PoBe)
6.4 Implementation
6.4.1 Proof-of-Work Implementation
6.4.2 Proof-of-Stake Implementation
6.4.3 Proof-of-Burn Implementation
6.4.4 Proof-of-Ownership Implementation
6.5 Comparison
6.6 Summary
6.7 Practice Questions
6.7.1 MCQ Questions
6.7.2 Fill in the Blanks
6.7.3 Short Questions
6.7.4 Long Questions
References
7 Mining Procedure in Distributed Consensus
7.1 Introduction
7.2 Proof-Based Consensus Mechanism
7.2.1 Proof of Work
7.2.2 Proof of Stake
7.2.3 Proof of Burn
7.3 Mining Pools
7.3.1 Benefit of Mining Pools
7.3.2 Mining Pools Methods
7.4 Voting-Based Consensus Mechanism
7.4.1 Byzantine Fault Tolerance Consensus
7.4.2 Crash Fault Consensus Tolerance
7.5 Mining Procedure Implemented with PoW
7.5.1 Create Blockchain
7.5.2 Block Mining Using PoW
7.5.3 Rewards for Miners
7.6 Summary
7.7 Practice Questions
7.7.1 Multiple Choice Questions
7.7.2 Fill in the Blanks
7.7.3 Short Questions
7.7.4 Long Questions
References
8 Distributed Consensus for Permissioned Blockchain
8.1 Introduction
8.1.1 Provenance Tracking Use Case
8.1.2 Design Limitations of Permissioned Environment
8.1.3 Challenges Faced by Permissioned Environment
8.1.4 Advantages of Permissioned Environment
8.2 Taxonomy of Consensus Algorithms for Permissioned Environment
8.3 State Machine Replication
8.3.1 Working of Distributed State Machine Replication
8.4 Voting-Based Consensus
8.5 Crash Fault Tolerance-Based Consensus
8.5.1 PAXOS
8.5.2 RAFT
8.6 Notion of Byzantine Fault
8.6.1 Three Byzantine Generals Problem
8.6.2 Lamport Shostak Pease Algorithm
8.7 Byzantine Fault Tolerance-Based Consensus
8.7.1 Practical Byzantine Fault Tolerance (PBFT)
8.7.2 Delegated Byzantine Fault Tolerance (DBFT)
8.7.3 Federated Byzantine Fault Tolerance (FBFT)
8.8 Proof-Based Consensus Algorithm
8.8.1 Proof of Authority (PoA)
8.8.2 Proof of Elapsed Time (PoET)
8.9 Implementation
8.9.1 Proof of Authority (PoA) Implementation
8.10 Comparison
8.11 Summary
8.12 Practice Questions
8.12.1 Muliple Choice Questions
8.12.2 Fill in the Blanks
8.12.3 Short Questions
8.12.4 Long Questions
References
9 Consensus Scalability in Blockchain Network
9.1 Introduction
9.1.1 Bitcoin-NG
9.1.2 Scaling Byzantine
9.1.3 Helix Byzantine Fault Tolerance Scalable Algorithm
9.1.4 Various Byzantine-Based Scalable Consensus Algorithms
9.2 Scalability Bottlenecks
9.2.1 Scaling the Data
9.2.2 Scaling Consensus
9.2.3 Scaling Execution
9.2.4 RPoC Reputation Based Scalable Consensus Algorithm
9.2.5 EBRC Framework
9.3 Summary
9.4 Question Answers
9.4.1 Short Questions
9.4.2 Long Questions
References
10 Building Trust in Blockchain Network Using Collective Signing
10.1 Introduction
10.2 Byzcoin: Securely Scaling Blockchains
10.2.1 Byzcoin Architecture
10.2.2 Collective Signing—CoSi
10.2.3 Byzcoin: Securely Scaling Blockchain
10.3 BLS Multisignature
10.3.1 Applications of Using BLS Multisignature
10.4 Deployment Challenges
10.5 Use Case of Collective Signing
10.5.1 Determine the Combat Fake Content Using Collective Signing
10.6 Summary
10.7 Question and Answer
10.7.1 MCQ Questions
10.7.2 Fill in the Blanks
10.7.3 Short Questions
10.7.4 Long Questions
References
11 Adoption of Blockchain in Enterprise Computing
11.1 Introduction
11.1.1 Enterprise Computing
11.1.2 Security Flow in Enterprise Computing
11.1.3 Motivation
11.2 Blockchain Integration in Enterprise Computing
11.3 Problem: How It Is Difficult to Track Asset Transfers in a Business Network
11.4 Key Concepts and Benefits of Blockchain for Business
11.4.1 Key Concepts
11.4.2 Benefits
11.5 Degree of Centralization: Permission-Less Versus Permissioned Blockchains
11.5.1 Permissionless Blockchain
11.5.2 Permissioned Blockchain
11.5.3 Similarities of Permissioned and Permissionless Blockchains
11.6 Actors in BC Solution
11.7 Components of BC Solution
11.8 How Application of Selected Example Interact with Ledger
11.8.1 Case Study: Supply Chain Management
11.9 Enterprise Computing Categories
11.9.1 Enterprise Resource Planning
11.9.2 Enterprise Planning System
11.9.3 Customer Relationship Management
11.10 Case Study on Enterprise Computing
11.10.1 Case Study of Diamond Supply Chain
11.10.2 Putting Diamonds on the Blockchain
11.10.3 Case Study of Digilocker
11.10.4 Transportation Services
11.10.5 Food Delivery Services
11.10.6 Restaurant Management
11.11 Problems/Implementation: E-commerce Product Delivery System
11.11.1 Description
11.11.2 Benefits of Blockchain in the System
11.11.3 Implementation
11.12 Summary
11.13 Practice Questions
11.13.1 Multiple Choice Questions
11.13.2 Short Questions
11.13.3 Long Questions
References
12 Blockchain for Supply Chain Management
12.1 Introduction
12.2 Supply Chain Fraud and Addressing
12.3 Why Blockchain is Needed in Supply Chain Management
12.4 Supply Chain Traceability and Transparency Using Blockchain
12.4.1 Blockchain Ready Manufacturing Supply Chain
12.5 Supply Chain Visibility What? How? And Reality
12.5.1 End-to-End Visibility
12.6 Research Areas of Adopting Blockchain in Supply Chain
12.7 Steps to Be Taken Care While Preparing Case Study
12.7.1 Food Supply Chain
12.7.2 Case Study of Walmart Industry
12.7.3 Case Study of Drug Logistics
12.7.4 Case Study on Human Organ Supply Chain
12.8 Summary
12.9 Question Answers
12.9.1 Short Questions
12.9.2 Long Questions
References
13 Blockchain for Government Services
13.1 Introduction
13.1.1 Blockchain Technology: The Data Security Viewpoint
13.1.2 Advantages of Blockchain in Government
13.2 Theft of Government Data
13.3 Traditional Way of Processing Tax Payments
13.4 BCT-Based Tax Implications
13.4.1 BCT for VAT Tax
13.4.2 BCT for Payroll Tax
13.4.3 BCT for Transfer Pricing
13.4.4 BCT for Income Tax
13.5 Case Study: GST With and Without BCT
13.5.1 GST Without Blockchain
13.5.2 GST With Blockchain
13.6 Case Study: BCT for Taxation
13.7 Case Study: BCT for Land Registry Records
13.7.1 Blockchain as a Solution for Land Registry
13.8 Use Cases: BC Adoptions in India in Tax Payments and Land Registry Records
13.8.1 Problem Description
13.8.2 Implementation
13.9 Summary
13.10 Question and Answer
13.10.1 MCQ Questions
13.10.2 Short Questions
13.10.3 Long Questions
References
14 Impact of Blockchain on Academic Publishing
14.1 Introduction: Open Access Academic Publishing
14.2 The Impact of BCT on Academic Publishing
14.3 Implications of BCT in Open Access Academic Publishing
14.4 Smart Contract for Open Access Academic Publishing
14.5 Case Study
14.5.1 Orvium Publication Model
14.5.2 Eureka: A Scientific Publication Model
14.5.3 Blockchain-Enabled Decentralized Scientific Publishing Framework
14.6 Implementation Details in Open Access Publishing
14.7 Challenges Faced
14.7.1 Technical Challenges
14.7.2 Organizational Challenges
14.8 Summary
14.9 Question & Answer
14.9.1 MCQ Questions
14.9.2 Fill in the Blanks
14.9.3 Short Questions
14.9.4 Long Questions
References