Introduction

Communication

Ordering

Failures

Failure Detection

Fault-Tolerance

Replication

Consensus

Byzantine

Distributed transactions

Consistency and availability

Distributed storage

Data analytics and ML

Distributed ledgers