Distributed computing to blockchain architecture, technology, and applications

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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Pandey, Rajiv, 1966- author (author), Goundar, Sam, 1967- author, Fatima, Shahnaz, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: London, UK : Elsevier Academic Press [2023]
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009835437206719
Tabla de Contenidos:
  • Intro
  • 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).