À retenir
Un algorithme de consensus est un ensemble de règles qui permet à tous les participants d’un réseau blockchain de s’accorder sur une seule version de l’historique des transactions.
La preuve de travail (utilisée par Bitcoin) et la preuve d’enjeu (utilisée par Ethereum) sont aujourd’hui les deux algorithmes de consensus les plus largement adoptés.
Chaque mécanisme utilise un type de mise différent pour décourager les comportements malhonnêtes : la puissance de calcul et l’électricité pour la preuve de travail, et la cryptomonnaie bloquée pour la preuve d’enjeu.
Le choix de l’algorithme de consensus influence la sécurité d’un réseau, sa consommation d’énergie, sa décentralisation et sa capacité à passer à l’échelle.
Introduction
Un algorithme de consensus est un mécanisme qui permet aux utilisateurs ou aux machines de se coordonner dans un environnement distribué. Il doit s’assurer que tous les agents du système peuvent s’accorder sur une seule source de vérité, même si certains agents échouent ou agissent de manière malhonnête. Cette propriété est parfois appelée tolérance aux fautes byzantines.
Dans une configuration centralisée, une entité unique a du pouvoir sur le système et peut apporter les changements nécessaires. Mais dans une configuration décentralisée, le défi est différent. Quand de nombreux participants indépendants maintiennent une base de données partagée, ils ont besoin d’un moyen de décider quelles entrées doivent être ajoutées.
Surmonter ce défi dans un environnement où des inconnus ne se font pas confiance a été une étape cruciale dans la création des blockchains. Cet article explique comment fonctionnent les algorithmes de consensus et pourquoi ils sont essentiels au fonctionnement des réseaux de cryptomonnaies.
Algorithmes de consensus et cryptomonnaie
Dans les cryptomonnaies, les soldes des utilisateurs sont enregistrés dans une base de données partagée appelée la blockchain. Il est essentiel que chaque nœud du réseau conserve une copie identique de cette base de données. Si les copies diffèrent, vous vous retrouvez avec des informations contradictoires, ce qui compromet l’objectif du réseau.
La cryptographie à clé publique garantit que les utilisateurs ne peuvent pas dépenser l’argent des autres. Mais il faut encore une seule source de vérité sur laquelle les participants du réseau s’appuient pour confirmer si des fonds ont déjà été dépensés.
Satoshi Nakamoto, le créateur de Bitcoin, a proposé un système de preuve de travail (PoW) pour coordonner les participants. Ce système PoW est un type d’algorithme de consensus. Avant de l’examiner en détail, regardons toutefois les traits communs partagés par la plupart des algorithmes de consensus.
Un enjeu (stake)
Les validateurs doivent fournir un enjeu : quelque chose de valeur qui décourage les comportements malhonnêtes. S’ils trichent, ils perdent leur mise. L’enjeu peut être une puissance de calcul, une cryptomonnaie ou une réputation.
Une récompense
Les validateurs reçoivent également une récompense pour leur participation honnête, généralement composée de frais de transaction ou de nouvelles pièces créées.
Transparence
Enfin, le système doit être transparent, afin que chacun puisse vérifier si un validateur se comporte correctement.
Types d’algorithmes de consensus
Proof of work (PoW)
La preuve de travail a été mise en œuvre pour la première fois dans Bitcoin. Dans un système PoW, les validateurs (appelés mineurs) hachent des données de manière répétée jusqu’à obtenir un résultat qui respecte les conditions du réseau. Une fonction de hachage prend n’importe quelle entrée et produit une sortie de longueur fixe. La même entrée produit toujours la même sortie, mais modifier ne serait-ce qu’un seul caractère change entièrement le résultat.
Le réseau fixe une cible : par exemple, un hachage de bloc doit commencer par un certain nombre de zéros. Les mineurs doivent essayer des trillions d’entrées différentes pour en trouver une qui produise un hachage conforme. Cela nécessite de grandes quantités de matériel spécialisé et d’électricité.
Dans la PoW, votre enjeu correspond au coût de ce matériel et de cette électricité. Les machines ASIC conçues pour le minage n’ont pas d’usage en dehors des réseaux de cryptomonnaies ; les mineurs sont donc fortement incités à suivre les règles. Pour tout le monde, vérifier qu’un mineur a produit un bloc valide ne nécessite qu’un seul calcul de hachage.
La preuve de travail reste le mécanisme de consensus qui prévaut pour Bitcoin et offre un haut niveau de sécurité grâce au coût computationnel considérable qu’elle impose.
Proof of stake (PoS)
La preuve d’enjeu a été proposée comme alternative à la preuve de travail. Au lieu d’engager des ressources de calcul, les validateurs bloquent une cryptomonnaie en guise de garantie (collatéral). Aucun matériel spécialisé n’est requis ; un ordinateur standard peut participer.
Les validateurs proposent ou votent pour le bloc suivant. Si un bloc est accepté, le validateur gagne une part des frais de transaction. Si un validateur essaie de tricher en proposant des transactions invalides, il perd tout ou partie de sa mise bloquée. Ce mécanisme, appelé « slashing » (sanction), remplace le coût énergétique de la preuve de travail par une pénalité financière directe.
En septembre 2022, Ethereum est passé de la preuve de travail à la preuve d’enjeu, dans un événement connu sous le nom de « The Merge ». Cela a fait d’Ethereum l’un des plus grands réseaux utilisant la preuve d’enjeu et a réduit de manière significative sa consommation d’énergie. De nombreuses autres grandes blockchains utilisent désormais aussi des variantes de la preuve d’enjeu.
Un développement rendu possible par la preuve d’enjeu est le staking liquide, qui permet aux stakers de recevoir un token représentatif pour leurs fonds bloqués et de l’utiliser ailleurs dans la finance décentralisée. Cela a élargi la participation au staking au-delà de ceux qui peuvent se permettre les exigences minimales pour exécuter un nœud validateur complet.
Proof of stake déléguée (DPoS)
Dans la preuve d’enjeu déléguée, les détenteurs de tokens votent pour un ensemble de délégués chargés de valider les transactions. Le nombre de délégués actifs est généralement faible, ce qui rend la production de blocs plus rapide que dans les systèmes de preuve d’enjeu standard.
Les détenteurs de tokens délèguent leur pouvoir de vote plutôt que d’exécuter eux-mêmes des nœuds validateurs. Les délégués qui se comportent de manière malhonnête peuvent être écartés par la communauté, créant une forme de responsabilisation liée à la réputation en plus de la mise économique. La DPoS est utilisée dans plusieurs réseaux blockchain et privilégie le débit (throughput) plutôt que la décentralisation maximale.
FAQ
Qu’est-ce qu’un algorithme de consensus de blockchain ?
Un algorithme de consensus de blockchain est un ensemble de règles qui permet à tous les participants d’un réseau distribué de s’accorder sur l’état du grand livre (ledger). Il garantit que chaque nœud conserve la même historique des transactions, sans nécessiter d’autorité centrale pour les coordonner.
Quelle est la différence entre la preuve de travail et la preuve d’enjeu ?
La preuve de travail oblige les validateurs à dépenser de la puissance de calcul et de l’électricité pour produire des blocs valides. La preuve d’enjeu oblige les validateurs à bloquer une cryptomonnaie en guise de garantie. Les deux approches créent des incitations économiques en faveur d’un comportement honnête, mais la preuve d’enjeu consomme bien moins d’énergie.
Est-ce qu’Ethereum utilise encore la preuve de travail ?
Non. Ethereum est passé à la preuve d’enjeu en septembre 2022 grâce à une mise à niveau appelée « The Merge ». Bitcoin continue d’utiliser la preuve de travail.
Un réseau utilisant la preuve d’enjeu peut-il être attaqué ?
Un réseau utilisant la preuve d’enjeu peut potentiellement être attaqué par une entité contrôlant une grande proportion de la mise totale. Les mécanismes de « slashing » sont conçus pour rendre ce type d’attaque extrêmement coûteux : l’attaquant perdrait une part importante des fonds qu’il a engagés s’il est pris en train de tenter de manipuler le grand livre.
Pourquoi différents blockchains utilisent-ils différents algorithmes de consensus ?
Les différents mécanismes de consensus impliquent des compromis entre sécurité, décentralisation, consommation d’énergie et vitesse des transactions. La preuve de travail est considérée comme très sûre, mais très énergivore. La preuve d’enjeu est plus économe en énergie, mais introduit une économie différente pour les validateurs. Les projets choisissent des mécanismes selon leurs priorités pour ces facteurs.
Réflexions finales
Les algorithmes de consensus sont la base qui rend les blockchains distribuées possibles. Ils permettent à des participants qui ne se connaissent pas ou ne se font pas confiance de s’accorder sur un historique partagé des transactions, sans autorité centrale. Comprendre le fonctionnement du consensus est fondamental pour comprendre comment les blockchains fonctionnent et restent sécurisées.
Pour aller plus loin
Proof of Work (PoW) vs. Proof of Stake (PoS)
Quel est le trilemme de la blockchain ?
Qu’est-ce qui rend une blockchain sécurisée ?
Qu’est-ce que Bitcoin et comment fonctionne-t-il ?
Consensus hybride PoW/PoS expliqué
