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