What Is Consensus?

Learn about distributed consensus.

Introduction

A distributed system is a group of hosts coordinating to achieve a common goal. These hosts can be spatially separated from each other, but for the client, it is a single view of the entire system.

The following properties are considered essential to a distributed system:

  • Concurrent: Hosts in the distributed system execute concurrently, processing multiple operations simultaneously as other hosts require coordination.

  • Sequencing of operations: The core property of a distributed system is to sequence the order of events since it is impossible to determine which event occurred before the other in a concurrent environment. Since there is no global clock to synchronize, various algorithms have been proposed to determine the order of events.

  • Unreliable networks: In a distributed system with multiple hosts connected via networks, network failures and partitions are inevitable. Packets can be lost, reordered, or duplicated. The hosts can go down and respond slowly. Therefore, designing distributed systems requires building fault-tolerant systems where the failure of one component ...