Distributed Computing to Blockchain: Architecture, Technology, and Applications

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"

Distributed Computing to Blockchain: Architecture, Technology, and Applications provides researchers, computer scientists, and data scientists with a comprehensive and applied reference covering the evolution of distributed systems computing into blockchain and associated systems. Divided into three major sections, the book explores the basic topics in the blockchain space extending from distributed systems architecture, distributed ledger, decentralized web to introductory aspects of cryptoeconomics (cryptography and economics) of decentralized applications. The book further explores advanced concepts such as smart contracts; distributed token mining, initial coin offerings; proof of work; public, private, and other blockchains; cryptography; security; and blockchains. The book goes on to review byzantine fault tolerance, distributed ledgers versus blockchains, and blockchain protocols. The final section covers multiple use cases and applications of distributed computing and the future directions for blockchains. Presented as a focused reference handbook describing the evolution of distributed systems, blockchain, and consensus algorithms emphasizing the architectural and functional aspects Integrates the various concepts of cryptography in blockchain and further extends to blockchain forensics Provides insight and detailed Interpretation of algorithms for consensus in blockchains

Author(s): Rajiv Pandey; Sam Goundar; Shahnaz Fatima
Publisher: Academic Press/Elsevier
Year: 2023

Language: English
Pages: 478

Front Cover
Distributed Computing to Blockchain: Architecture, Technology, and Applications
Copyright
Contents
Contributors
Preface
Section A: Evolution of Distributed Systems
Section B: Blockchain Architecture and Security
Section C: Distributed Computing
Acknowledgments
Section A: Evolution of distributed systems
Chapter 1: Decentralized web, distributed ledgers, and build-up to blockchain
1. Introduction
1.1. The journey so far Web 1.0 - Web 2.0 - Web 3.0
2. Distributed ledgers (DLTs)
2.1. All distributed ledgers are not blockchain
2.2. Tangle
2.3. Hashgraphs
3. Blockchains
3.1. Blockchain: Historical background
3.2. What is a blockchain?
3.3. Blockchain structure
3.4. Blockchain transactions
3.5. Proof of work: Consensus
4. Types of blockchains
4.1. Permissionless blockchains
4.2. Permissioned blockchains
4.3. Consortium blockchains
4.4. Hybrid blockchains
5. Blockchain use cases
5.1. Blockchain 1.0
5.2. Blockchain 2.0
5.3. Blockchain 3.0
6. Limitations and challenges
7. Conclusion
References
Chapter 2: Decentralized everything: Practical use of blockchain technology in future applications
1. Introduction
1.1. Blockchain technology
1.2. Blockchain vs distributed ledger technology
1.3. Evolution of blockchain technology
Phase-I: Transactions (Blockchain 1.0)
Phase-II: Contracts (Blockchain 2.0)
Phase-III: Applications (Blockchain 3.0)
Phase-IV: Blockchain for Industry 4.0 applications (Blockchain 4.0)
2. Related work
2.1. History of Blockchain technology
3. Motivation
4. Connecting the world together
5. Services provided to end users-Application wise
6. Blockchain technology use cases and a way forward
7. Challenges in Blockchain technology
7.1. Storage capacity and scalability
7.2. Security: Weaknesses and threats
7.3. Anonymity and data privacy
7.4. Smart contracts
7.5. Legal issues
7.6. Consensus
8. Future applications with Blockchain technology
9. Problems faced in (by) decentralizing applications
10. Future research directions/a way forward towards decentralized applications
11. Conclusion
Appendix
References
Chapter 3: Distributed computing to blockchain: Architecture, technology, and applications
1. Introduction
2. Recent related works
2.1. Analysis of the application status of blockchain
2.2. Application and development trend of distributed computing in blockchain
3. Security of the distributed network model based on blockchain
3.1. Demand analysis of blockchain technology applied to distributed system
3.2. Analysis of the task allocation of blockchain technology
3.3. Privacy security analysis of blockchain-based distributed computing network model
3.4. Simulation evaluation
4. Results and discussion
4.1. Comparative analysis of system performance of models
4.2. Analysis of security performance of data transmission of each model
5. Conclusion
References
Chapter 4: Types of blockchain
1. Introduction
2. Literature review
3. Background study
3.1. Blockchain technology
3.2. Blockchain features
3.3. Challenges of blockchain
4. Blockchain technology and its history
5. Differentiating blockchain on network and operational parameters
5.1. Types of blockchain dependent on network access
Public blockchain
Benefits of public blockchain
Private blockchain
Disadvantages of a private blockchain
Consortium/federated blockchain
Benefits of consortium blockchain
Disadvantages of blockchain consortium
Use cases of consortium blockchain
Hybrid blockchain
Advantages of hybrid blockchain
Challenges of hybrid blockchain
Use cases of hybrid blockchain
5.2. Types of blockchain dependent on members
Permissionless blockchains
Attributes of permissionless blockchains
Benefits of permissionless blockchains
Disadvantages of permissionless blockchains
Use cases of permissionless blockchain
Permissioned blockchains
Attributes of permissioned blockchains
Benefits of permissioned blockchain
Disadvantages of permissioned blockchain
Use instances of permissioned blockchain
6. Comparison of various blockchain types
7. Future work
8. Conclusion
References
Chapter 5: Blockchain types: A characteristic view
1. Introduction
2. Blockchain
2.1. Blockchain technology: A peer-to-peer network of nodes
2.2. Blockchain technology: Asymmetric key cryptography and hashing
2.3. Characteristics of blockchain
2.4. Advantages and disadvantages of blockchain
3. General classification of blockchain
3.1. Public blockchain
Advantages
3.2. Private blockchain
Advantages and disadvantages of private blockchain
3.3. Consortium blockchain
Advantages of consortium blockchain
Consortium blockchain technology versus private blockchain technology: The comparison
3.4. Hybrid blockchain
Advantages of hybrid blockchain
Consortium blockchain technology versus hybrid blockchain technology: The comparison
Diverse use cases for hybrid blockchain
3.5. Public blockchain versus private blockchain versus consortium blockchain: The comparison
3.6. Applications
4. Other classification of blockchain
4.1. Public permissionless blockchain network
4.2. Public permissioned blockchain network
4.3. Private permissionless blockchain network
Holochain
4.4. Private permissioned blockchain network
5. Consensus mechanisms
5.1. Proof of work
5.2. Proof of stake
5.3. Proof of capacity
6. Conclusion
References
Chapter 6: DApps: Decentralized applications for blockchains
1. Introduction
1.1. Distributed versus decentralized systems
2. Decentralized applications (DApps)
2.1. Centralized apps versus decentralized apps: Design paradigm
2.2. Ethereum
2.3. Ethereum building blocks
Smart contracts
Solidity for Ethereum smart contracts
3. Building DApps
3.1. DApps: A functional flow
3.2. Increasing read efficiency for DApps: The graph
3.3. Scalability of DApps: Driving throughput of transactions per second
3.4. DApps: Development frameworks
Truffle: Beginners DApp framework
Hardhat DApp framework: An overview
4. Conclusion
References
Chapter 7: Analyzing information flow in solidity smart contracts
1. Introduction
2. Related work
3. Background
3.1. Blockchain technology [1]
3.2. Solidity smart contracts [4, 5]
3.3. Language-based information flow security [10, 11]
3.4. Data-flow analysis [43]
4. Solidity language: Syntax and semantics
4.1. Solidity syntax
4.2. Concrete semantics
Semantic domains
Environments and states
Semantics
(1) Expressions
(2) Local variable declaration
(3) Assignment statement
(4) Sequence
(5) Conditional
(6) Iteration
(7) State variable declaration
(8) Constructor
(9) Function
(10) Smart contract
5. Formal dependency analysis of solidity smart contracts
5.1. Abstract domain: Pos [45-47]
5.2. Abstract semantics
(1) Assignment statement
(2) Sequence
(3) Conditional
(4) Iteration
(5) Constructor
(6) Function
(7) Smart contract
6. Confidentiality and integrity properties verification
7. Refining analysis by combining numerical abstract domains
7.1. Relational and nonrelational abstract domains
Intervals [50, 52]
Octagons [55]
Polyhedra [53, 56]
7.2. The reduced product
8. Conclusion
References
Chapter 8: Formal verification and code generation for solidity smart contracts
1. Introduction
2. Related work
3. Background
3.1. Event-B modeling framework
Modeling actions over states
Refinement
Rodin
Applications
3.2. Solidity
Solidity types, special functions, and variables
Function modifiers
4. Formal framework for Solidity smart contracts
5. EB2Sol: Event-B to Solidity
5.1. Preprocessing and generated POs
5.2. Translation of Event-B to Solidity
Context models
Machine models
6. Case study
6.1. Informal description of smart purchase
6.2. Formal development
Context model
Machine model
Model validation and analysis
6.3. Code generation in Solidity
7. Discussion
7.1. Benefits
Progressive development of smart contracts
Improving smart contract error detection
Minimizing smart contract development cost
7.2. Limitations
Need careful analysis in modeling and implementation
Need powerful theorem provers for smart contracts
No standard in the generated smart contracts
8. Conclusions
References
Chapter 9: Blockchain consensus algorithms: Past, present, and future trends
1. Introduction
2. Proof-based consensus algorithms
2.1. Proof of work (PoW)
2.2. Proof of stake (PoS)
2.3. Proof of elapsed time (PoET)
2.4. Proof of weight (PoWeight)
2.5. Proof of burn (PoB)
2.6. Proof of capacity (PoC)
2.7. Proof of importance (PoI)
2.8. Proof of activity (PoA)
3. Voting-based consensus algorithms
3.1. Delegated proof of stake
3.2. Paxos
3.3. Practical byzantine fault tolerance (PBFT)
3.4. Delegated byzantine fault tolerance (DBFT)
3.5. Istanbul byzantine fault tolerance (IBFT)
3.6. BFT-SMaRT protocol
3.7. Verifiable byzantine fault tolerance (VBFT)
3.8. Tendermint consensus
3.9. Raft algorithm
3.10. Ripple protocol consensus algorithm (RPCA)
4. DAG-based consensus algorithms
4.1. Tangle
4.2. Hashgraph
5. Comparative evaluation and future trends of consensus algorithms
6. Conclusions
References
Chapter 10: A systematic study on the development of decentralized application (dApp)
1. Introduction
1.1. Background
DApp features
Benefits of dApp
Examples of dApp
DApp types
Working principle of App vs. dApp
1.2. Problem statement
1.3. DApp development steps
DApp development tools
1.4. DApp development result and discussion
Results
2. Implication
3. Conclusion
References
Chapter 11: AI, IoT, blockchain, and cloud computing: The necessity of the future
1. Introduction: AI+IoT+blockchain+cloud computing
2. Background of AI, IoT, blockchain and cloud computing
3. Application scenarios in the near future
3.1. The integration of IoT devices into CPS
3.2. The role of IoT devices in Industry 4.0
3.3. Co-operative robotics: The integration of AI and IoT
3.4. Smart city applications: The connection of billions of things
3.5. Smart grid and other energy domains
3.6. Machine learning
3.7. 5G and beyond 6G enabling technologies
3.8. Transportation
3.9. Smart agriculture
3.10. Weather forecasting
3.11. Cyber security
3.12. Smart healthcare system: The connection of IoNT and IoMT
4. Summary of major works
5. Research gaps in each applications
6. Future research directions toward the integration of AI-IoT-blockchain-based cloud systems
7. Conclusions
References
Chapter 12: Functional analysis of blockchain consensus algorithms
1. Introduction
1.1. Immutability
How is immutability achieved
1.2. Censorship resistance
1.3. Peer-to-peer (P2P) network
P2P network in blockchain
2. Consensus
2.1. Consensus taxonomy
Structural properties
Block and reward properties
Security properties
Performance properties
3. Proof of work (PoW)
3.1. Compute-bound PoW
3.2. Memory-bound PoW
3.3. Chained PoW
3.4. Why PoW
3.5. Limitations of PoW
4. Proof of stake (PoS)
4.1. Various properties of PoS
4.2. Types of PoS
Chained PoS
BFT PoS
DPoS
4.3. PoSs limitations
5. Proof of contribution
5.1. Consensus mechanism in PoC
5.2. The consensus process
Receiving transactions
Judging the block generation threshold
Generating the new block
Receiving and verifying the new block
Determining the bookkeeping node
6. Blockchain to IP protection
7. Proof of service power in cloud manufacturing
7.1. Consensus mechanism for proof of service power
7.2. Calculation method of service power
8. A lightweight blockchain consensus mechanism
9. PBFT
9.1. Voting-based primary node election strategy
10. Summary
References
Section B: Blockchain architecture and security
Chapter 13: Blockchain and forensics
1. Introduction
2. Wallets
3. Why wallets for forensics?
4. Wallet import format (WIF)
5. Information inside blocks of blockchain
6. Lets check the genesis block
7. Reading from a genesis.dat file
8. Deriving bitcoin address from a block
9. Understanding mempool
10. Information from addresses
11. Opensource tools in cryptocurrency blockchain forensics
12. Information about an address
13. Summary recommendations for investigators
14. Conclusion
References
Chapter 14: Cryptography in blockchain
1. Introduction
2. Set/group/field/order/prime fields
3. Cryptography
4. Role and function of cryptography
5. Symmetric and asymmetric cryptography
5.1. Symmetric cryptography
5.2. Data encryption standard
5.3. Advanced encryption standard (AES)
5.4. Checking on a Linux terminal: AES
5.5. Asymmetric cryptography
6. Elliptic curve cryptography (ECC)
6.1. How the public-private keys generate in ECC?
6.2. Checking on a Linux terminal: ECC
7. Digital signatures
8. Hash functions
8.1. Hash characteristics
8.2. Popular hash functions in blockchains
9. Deriving a bitcoin blockchain address
10. Future blockchain systems
11. Conclusion
References
Chapter 15: Ethereum blockchain platform
1. Introduction
2. Ethereum
2.1. Advantages and disadvantages
2.2. Ether
2.3. Examples of real applications of Ethereum
3. Fundamental concepts
3.1. Consensus algorithm
3.2. Smart contracts
3.3. DApps
3.4. DApps vs. smart contracts
4. Tools
5. Simulating a real environment with Ethereum
6. Ethereums future
6.1. Ethereum 1.0 vs. Ethereum 2.0
6.2. Problems solved with Ethereum 2.0
6.3. Implementation phases
6.4. Ethereum 2.0 impact
7. Conclusions
References
Chapter 16: Hyperledger Fabric blockchain platform
1. Introduction
2. Hyperledger Fabric
3. Use cases
3.1. Trade financing and business
3.2. Education
3.3. Supply chain
4. Tutorials
4.1. Test network
4.2. Fabric CA operations guide
5. Conclusions
References
Chapter 17: An in-depth look at blockchain technology: Architecture and security concerns
1. Introduction
1.1. Background
2. Problem statement
2.1. Blockchain technology
Blockchain components
Blocks
Creation of blocks
Prerequisites for Ethereum
Account creation
Creation of Genesis file
Data directory instantiation
Starting of Ethereum private network
Prerequisites for Node.js
Block creation
Genesis block
2.2. Byzantine general problem
Consensus
Chain validation
Chain replacement
Mining
Mining system
CPU
GPU
ASICs
Proof of work
2.3. Digital assets
Cryptocurrency
Token
Types of token
Initial coin offering/initial token offering (ICO/ITO)
Smart contract
Development environment for smart contract
Programming language
2.4. Blockchain security
Data structure level security
Decentralized identifier
Transaction level security
3. Implication
References
Chapter 18: Blockchain-based IoT security solutions
1. Introduction
2. Internet of Things (IoT)
2.1. REST: Internet of Things
2.2. CoAP (constrained application protocol)
2.3. CoAP messages model
2.4. CoAP exhibits the following structural vulnerabilities
2.5. MQTT (constrained application protocol)
2.6. Need for blockchain in IoT solutions
3. Blockchain
3.1. Properties of blockchain
3.2. Components of a blockchain architecture
3.3. Blockchain security
3.4. Cryptographic protocols and primitives
Elliptic curve cryptography
ECDSA
Zero-knowledge proofs
Random oracle model
Group signature
Ring signatures
3.5. IoT and its integration with blockchain
3.6. IoT blockchain platform architecture
IoT blockchain platform conceptual architecture
Application layer
Internet of Things (IoT) server
Cloud data storage
User client
Protocols of communication
Internet of Things (IoT) and blockchain security
Data authentication and integrity
Authentication, authorization, and privacy
Secure communications
4. Conclusion
References
Further reading
Chapter 19: Cryptoeconomics
1. Introduction
1.1. Evolution of blockchain
1.2. Concepts related to cryptography and economics
1.3. Financial market structures and blockchain
2. Initial coin offering (ICO)
3. Future of blockchain
References
Section C: Distributed computing
Chapter 20: Distributed databases and distributed operating systems for blockchain
1. Introduction
2. Distributed system
3. Distributed database system
3.1. Rules of distributed database system
4. Distributed ledger technology (DLT) being part of distributed systems
4.1. Understanding distributed ledgers
4.2. Advantages of distributed ledgers
Practical application of distributed ledgers
5. Blockchain and distributed system
5.1. Difference between distributed database and blockchain
5.2. Drawbacks of distributed computing in blockchain environment
6. Distributed operating system and blockchain
6.1. Distributed operating system for blockchain
6.2. Hyperledger fabric
Architecture of fabric
Working principle of fabric
Transaction flow in fabric
Endorsement policy
Security in fabric
Shortcoming of existing fabric architecture
Difference between fabric and parallel database system
7. Conclusion
References
Chapter 21: Demystifying blockchain adoption in financial sector-A critical analysis
1. Background
1.1. Existing perspective on blockchain
1.2. Blockchain implementation in financial services
2. Methodology
3. Acceptability of blockchain in FinTech-Google search intensity (SVI)
3.1. SVI of financial technology
3.2. SVI of blockchain technology
3.3. Compared SVIs of financial and blockchain technology
4. Finance sector with and without blockchain technology
5. Adaptability and usage of blockchain technology in financial services
5.1. Global payments and remittances
5.2. Mortgage claims and processing
5.3. Trade finance
5.4. Insurance claims
5.5. Regulatory compliance
6. Benefits of integrating blockchain technology and financial services
7. Risks and challenges of incorporating blockchain technology in financial services
8. Critically demystifying blockchain adoption in financial sector
9. Future agenda
10. Conclusion
References
Further reading
Chapter 22: e-Governance and blockchain-based data supply chain for used cars
1. Introduction
2. Literature review
3. Research process
3.1. Targeting application area
3.2. Essential questions
3.3. Research method
4. Implementation of field validation
4.1. Business case
4.2. Two-level smart contract
4.3. Process design
4.4. Consortium blockchain platform
4.5. Layered architecture
5. Lessons learned and challenges
6. Conclusion
References
Chapter 23: Emerging trends of blockchain in bioinformatics: A revolution in health care
1. Introduction
2. Blockchain
2.1. Role of blockchain in life sciences
2.2. Blockchain in COVID-19
3. Bioinformatics
3.1. Bioinformatics and biological databases
3.2. Potential role of blockchain technology in bioinformatics
4. Genomic big data
4.1. Challenges in genomics
4.2. Potential of blockchain technologies in genomics
4.3. Storing and analyzing a genome on a blockchain
4.4. Next-generation bioinformatics using blockchain technology
5. Blockchain applications in bioinformatics
6. Blockchain in the health-care industry
7. Blockchain technology changing traditional methods of applied research in bioinformatics
8. Blockchain: A critical analysis of challenges and opportunities
9. Future of blockchain
References
Chapter 24: Blockchains potential to rescue sports: A social media perspective
1. Introduction
2. Theoretical background
3. Methodology
3.1. Data collection
3.2. Algorithmic evaluation
4. Results
4.1. Sentiment analysis
5. Discussion
5.1. Theoretical implications
5.2. Practical implications
5.3. Limitations and future scope of research
6. Concluding remarks
References
Chapter 25: Design and development of a mobile application for level monitoring of oxygen cylinders using block chain tec ...
1. Introduction
2. Literature review
2.1. International status
2.2. National status
3. Importance of the proposed work
3.1. Gaps identified
3.2. Novelty
4. Objectives
5. Methodology
6. Development and discussions
7. Conclusion
References
Chapter 26: A futuristic approach to decentralize and authenticate workplace safety records leveraging on blockchain dist ...
1. Introduction
2. Fundamental principles of blockchain technology
3. Workplace safety and health issues
4. Workplace safety records
5. Leveraging on blockchain network for managing workplace safety records
6. Limitations
7. Conclusion
References
Chapter 27: Designing business models through blockchain: A process of value creation
1. Introduction
2. What is blockchain technology?
3. Business models
3.1. Blockchain-based business models
3.2. Smart contracts
3.3. Business value
3.4. Partner value and permissioned blockchain
4. User value through blockchain
5. Blockchain-based business models-Industry use cases
5.1. Challenges and limitations in blockchain-based business models
6. Discussion and critical analysis
7. Conclusion
References
Index
Back Cover