Définition
Un protocole exécuté par plusieurs nœuds d'un système distribué qui leur permet de s'accorder sur une valeur unique ou une suite de valeurs malgré des pannes partielles et l'incertitude temporelle, sous réserve des hypothèses du modèle système.

Principe

Principe
Combine proposition, règles de vote/quorum et réplication d'état (souvent avec élection de leader, réplication de journal ou certificats de quorum) pour garantir la sécurité (aucun nœud correct ne décide différemment) et la vivacité (progrès sous les hypothèses de timing et de panne du modèle).

Démonstration

Démonstration
Un service clé‑valeur répliqué utilise une instance de consensus pour valider une écriture client : un leader propose la mise à jour, les répliques l'acceptent et la consignent dans leurs journaux, et dès qu'un quorum accuse réception, la mise à jour est décidée et appliquée dans le même ordre sur chaque réplique.

Mauvaise application

Mauvaise application
Employer un protocole de consensus sans vérifier les hypothèses du modèle (par exemple, supposer la synchronie alors que le réseau peut subir des retards arbitraires) ou invoquer le consensus pour des opérations qui n'exigent pas d'accord global, entraînant latence et complexité inutiles.

Conséquence

Conséquence
Correctement utilisé, le consensus fournit un ordre linéarisé partagé des opérations entre nœuds, permettant la réplication cohérente, les changements de configuration coordonnés et des services tolérants aux pannes ; il augmente généralement la latence et exige la participation d'un quorum.

Inversion

Inversion
Absence de consensus : les répliques peuvent diverger, validant des valeurs contradictoires indépendamment et produisant des vues incohérentes pour les clients ; la coordination revient à des mécanismes ad hoc ou à des garanties plus faibles.

Limite

Limite
S'applique aux systèmes distribués cherchant à s'accorder sur des valeurs sous des modèles de panne spécifiés (crash‑stop, byzantin) et des hypothèses temporelles (synchrone, partiellement synchrone, asynchrone). Ce n'est pas une solution universelle : faisabilité et garanties dépendent de ces hypothèses et d'impossibilités connues en asynchronie pure sans détecteurs de pannes.

Tension sémantique

Tension sémantique
Tension entre sécurité et vivacité selon les hypothèses de panne/temporalité : certains protocoles privilégient la sécurité au prix du progrès dans des conditions extrêmes ; tension aussi entre consensus fort (ordre total, leader unique) et primitives de coordination plus légères (diffusion atomique, quorums sans leader) qui échangent simplicité, débit et disponibilité.

Synthèse

Synthèse
Un algorithme de consensus est un protocole de coordination qui, sous des hypothèses explicites, aligne les répliques sur une valeur unique ou une séquence ordonnée en combinant proposition, vote/quorum et mécanismes de réplication pour obtenir un accord cohérent et tolérant aux pannes.