Consensus

Définition, exemples et bonnes pratiques

À retenir

  • Assure la cohérence des données sur plusieurs machines.
  • Permet au système de continuer à fonctionner même si certains composants tombent en panne.
  • Nécessite des algorithmes spécifiques (Paxos, Raft, Proof of Work).

Dans un réseau informatique, le consensus est le mécanisme qui permet à plusieurs ordinateurs de se mettre d'accord sur une information unique, comme l'heure exacte ou la validité d'une transaction. C'est un peu comme une réunion de délégués qui doivent tous valider le même compte-rendu pour éviter que chacun ne reparte avec une version différente des faits.

Étymologie

Issu du latin consensus signifiant « accord » ou « consentement ». En informatique, le terme s'est imposé avec l'essor des systèmes distribués dans les années 1970 et 1980, lorsqu'il a fallu coordonner des machines physiquement séparées pour qu'elles se comportent comme un seul système cohérent.

Exemples d'usage

  • La validation d'un bloc de transactions dans une blockchain (Bitcoin, Ethereum).
  • L'élection d'un serveur « maître » dans une base de données pour coordonner les écritures.
  • La synchronisation de l'état des stocks entre plusieurs serveurs d'un site de e-commerce durant les soldes.

Cas d'usage

Le consensus intervient principalement dans les systèmes distribués et le cloud computing. Il est indispensable pour garantir qu'aucune donnée ne soit perdue ou contredite si l'un des ordinateurs tombe en panne ou si la connexion réseau est instable.

Bonnes pratiques

Il est crucial de choisir un algorithme de consensus adapté à ses besoins : certains privilégient la rapidité au détriment de la sécurité (pour des jeux en ligne), tandis que d'autres privilégient la sécurité absolue (pour des systèmes financiers). Il faut aussi prévoir la gestion des nœuds byzantins, ces composants qui peuvent envoyer des informations volontairement erronées.

Synonymes

accord distribué synchronisation d'état cohérence forte

Antonymes

divergence désaccord partition réseau

Conseil

Si vous débutez, intéressez-vous aux algorithmes Raft ou Paxos. Ce sont les piliers qui permettent à des services comme Google ou Amazon de rester en ligne 24h/24 sans jamais perdre vos informations.

Questions fréquentes

Le consensus exige-t-il l'unanimité ?

Non, la plupart des systèmes exigent seulement une majorité (souvent plus de 50 % ou deux tiers) pour valider une décision.

Quel est le risque en cas d'échec du consensus ?

Le risque est la 'partition', où deux parties du réseau croient des choses différentes, entraînant des erreurs de données majeures.