The Science of the Blockchain introduces the basic techniques when building fault-tolerant distributed systems, in a scientific way. We will present different protocols and algorithms that allow for fault-tolerant operation, and we will discuss practical systems that implement these techniques.
The central concept of this book will be introduced in Chapter 2 and is generally known as state replication. We achieve state replication if all nodes of a distributed system agree on a sequence of commands, the same set of commands in the same order. In the nancial tech industry, state replication is often synonymous with the term blockchain. State replication can be achieved using various algorithms, depending on the failures the system must be able to tolerate.
In Chapter 2 we will motivate and introduce the basic denitions, and present Paxos, an algorithm that achieves state replication even though a minority of nodes in the system may crash. In Chapter 3 we will understand that Paxos may not make progress, and that indeed no deterministic protocol can solve state replication if we are unlucky. However, on the positive side, we will also introduce a fast randomized consensus protocol that can solve state replication despite crash failures.
In Chapter 4 we look beyond simple crash failures, and introduce protocols that work even in the presence of malicious behavior, in synchronous and asynchronous systems. In addition, we will explore different denitions for correct behavior. In Chapter 5 we use a cryptographic concept called message authentication. We rst present a simple synchronous protocol, and then Zyzzyva, a state of the art asynchronous protocol for implementing state replication if message authentication is available.
In Chapter 6 we investigate scalability issues by studying socalled quorum systems. If a set of servers is no longer powerful enough, and adding more servers does not help, quorum systems may be an elegant solution. In Chapter 7 we introduce weaker consistency concepts, and
provide a detailed explanation of the Bitcoin protocol as a prime example of such a protocol. Finally, in Chapter 8 we explore even weaker consistency concepts, and present highly scalable distributed storage solutions.
- Fault-Tolerance & Paxos
- Byzantine Agreement
- Authenticated Agreement
- Quorum Systems
- Eventual Consistency & Bitcoin
- Distributed Storage