0%

This book covers the most essential techniques for designing and building dependable distributed systems, from traditional fault tolerance to the blockchain technology. Topics include checkpointing and logging, recovery-orientated computing, replication, distributed consensus, Byzantine fault tolerance, as well as blockchain.

This book intentionally includes traditional fault tolerance techniques so that readers can appreciate better the huge benefits brought by the blockchain technology and why it has been touted as a disruptive technology, some even regard it at the same level of the Internet. This book also expresses a grave concern on using traditional consensus algorithms in blockchain because with the limited scalability of such algorithms, the primary benefits of using blockchain in the first place, such as decentralization and immutability, could be easily lost under cyberattacks.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Dedication
  5. List of Figures
  6. List of Tables
  7. Acknowledgments
  8. Preface
  9. References
  10. 1 Introduction
    1. 1.1 Basic Concepts and Terminologies for Dependable Computing
    2. 1.2 Means to Achieve Dependability
    3. 1.3 System Security
    4. REFERENCES
  11. 2 Logging and Checkpointing
    1. 2.1 System Model
    2. 2.2 Checkpoint-Based Protocols
    3. 2.3 Log Based Protocols
    4. REFERENCES
  12. 3 Recovery-Oriented Computing
    1. 3.1 System Model
    2. 3.2 Fault Detection and Localization
    3. 3.3 Microreboot
    4. 3.4 Overcoming Operator Errors
    5. REFERENCES
  13. 4 Data and Service Replication
    1. 4.1 Service Replication
    2. 4.2 Data Replication
    3. 4.3 Optimistic Replication
    4. 4.4 CAP Theorem
    5. REFERENCES
  14. 5 Group Communication Systems
    1. 5.1 System Model
    2. 5.2 Sequencer Based Group Communication System
    3. 5.3 Sender Based Group Communication System
    4. 5.4 Vector Clock Based Group Communication System
    5. REFERENCES
  15. 6 Consensus and the Paxos Algorithms
    1. 6.1 The Consensus Problem
    2. 6.2 The Paxos Algorithm
    3. 6.3 Multi-Paxos
    4. 6.4 Dynamic Paxos
    5. 6.5 Fast Paxos
    6. 6.6 Implementations of the Paxos Family Algorithms
    7. REFERENCES
  16. 7 Byzantine Fault Tolerance
    1. 7.1 The Byzantine Generals Problem
    2. 7.2 Practical Byzantine Fault Tolerance
    3. 7.3 Fast Byzantine Agreement
    4. 7.4 Speculative Byzantine Fault Tolerance
    5. REFERENCES
  17. 8 Cryptocurrency and Blockchain
    1. 8.1 History of Cryptocurrency
    2. 8.2 Bitcoin
    3. 8.3 Ethereum
    4. 8.4 Attacks on Blockchain
    5. References
  18. 9 Consensus Algorithms for Blockchain
    1. 9.1 Model on Blockchain Consensus
    2. 9.2 Proof of Work
    3. 9.3 Proof of Resources
    4. 9.4 Virtual Mining
    5. References
  19. 10 Blockchain Applications
    1. 10.1 The Value of Blockchain
    2. 10.2 Blockchain-Enabled Cyber-Physical Systems
    3. 10.3 On Blockchain Throughput
    4. 10.4 A Critical Look on Blockchain from Economy Perspective
    5. References
  20. Index
  21. End User License Agreement
18.189.2.122