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...
Otros Autores: | , , |
---|---|
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).