Qu’est-ce qu’un Algorithme de Consensus Blockchain ?
Introduction
Un algorithme de consensus est un mécanisme qui permet aux utilisateurs ou aux machines de se coordonner dans un paramètre distribué. Il doit s’assurer que tous les agents du système peuvent s’entendre sur une seule source de vérité, même si certains agents échouent. En d’autres termes, le système doit être tolérant aux pannes (voir aussi : Explication de la tolérance aux pannes byzantine).
Dans une configuration centralisée, une seule entité a le pouvoir sur le système. Dans la plupart des cas, ils peuvent apporter des changements à leur guise – il n’existe pas de système de gouvernance complexe pour parvenir à un consensus parmi de nombreux administrateurs.
Mais dans une configuration décentralisée, c’est une toute autre histoire. Disons que nous travaillons avec une base de données distribuée – comment pouvons-nous parvenir à un accord sur les entrées ajoutées?
Surmonter ce défi dans un environnement où les étrangers ne se font pas confiance était peut-être le développement le plus crucial ouvrant la voie aux chaînes de blocs. Dans cet article, nous examinerons comment les algorithmes de consensus sont essentiels au fonctionnement des crypto-monnaies et des registres distribués.
Algorithmes de consensus et crypto-monnaie
Dans les crypto-monnaies, les soldes des utilisateurs sont enregistrés dans une base de données – la blockchain. Il est essentiel que tout le monde (ou plus précisément, chaque nœud) conserve une copie identique de la base de données. Sinon, vous vous retrouveriez bientôt avec des informations contradictoires, sapant tout l’objectif du réseau de crypto-monnaie.
La cryptographie à clé publique garantit que les utilisateurs ne peuvent pas dépenser leurs pièces les uns des autres. Mais il doit encore y avoir une source unique de vérité sur laquelle les participants au réseau s’appuient, pour pouvoir déterminer 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 pour coordonner les participants. Nous aborderons sous peu le fonctionnement de PoW – pour l’instant, nous identifierons certains des traits communs des nombreux algorithmes de consensus existants.
Tout d’abord, nous exigeons que les utilisateurs qui souhaitent ajouter des blocs (nous les appellerons validateurs) fournissent une mise. L’enjeu est une sorte de valeur qu’un validateur doit mettre en avant, ce qui le décourage d’agir malhonnêtement. S’ils trichent, ils perdront leur mise. Les exemples incluent la puissance de calcul, la crypto-monnaie ou même la réputation.
Pourquoi risqueraient-ils de risquer leurs propres ressources? Eh bien, il y a aussi une récompense disponible. Il s’agit généralement de la crypto-monnaie native du protocole et se compose de frais payés par d’autres utilisateurs, d’unités de crypto-monnaie fraîchement générées, ou des deux.
La dernière chose dont nous avons besoin est la transparence. Nous devons être capables de détecter quand quelqu’un triche. Idéalement, il devrait être coûteux pour eux de produire des blocs, mais bon marché pour quiconque de les valider. Cela garantit que les validateurs sont contrôlés par les utilisateurs réguliers.
Types d’algorithmes de consensus
Preuve de travail (PoW)
La preuve de travail (PoW) est le parrain des algorithmes de consensus blockchain. Il a d’abord été implémenté dans Bitcoin, mais le concept actuel existe depuis un certain temps. Dans la preuve de travail, les valideurs (appelés mineurs) hachent les données qu’ils souhaitent ajouter jusqu’à ce qu’ils produisent une solution spécifique.
Un hachage est une chaîne de lettres et de chiffres apparemment aléatoire créée lorsque vous exécutez des données via une fonction de hachage. Mais, si vous exécutez à nouveau les mêmes données, vous vous retrouverez toujours avec la même sortie. Changez même un détail, cependant, et votre hachage sera complètement différent.
En regardant la sortie, vous ne pouvez pas dire quelles informations ont été introduites dans la fonction. Ils sont donc utiles pour prouver que vous connaissiez une donnée avant un certain temps. Vous pouvez donner à quelqu’un son hachage, et lorsque vous révélez plus tard les données, cette personne peut les exécuter via la fonction pour s’assurer que la sortie est la même.
En Preuve de travail, le protocole définit les conditions de ce qui rend un bloc valide. Cela pourrait dire, par exemple, que seul un bloc dont le hachage commence par 00 sera valide. La seule façon pour le mineur d’en créer une qui correspond à cette combinaison est d’entrer par force brute. Ils peuvent modifier un paramètre dans leurs données pour produire un résultat différent pour chaque supposition jusqu’à ce qu’ils obtiennent le bon hachage.
Avec les grandes chaînes de blocs, la barre est incroyablement haute. Pour rivaliser avec d’autres mineurs, vous auriez besoin d’un entrepôt rempli de matériel de hachage spécial (ASIC) pour avoir une chance de produire un bloc valide.
Votre enjeu, lors de l’exploitation minière, est le coût de ces machines et l’électricité nécessaire pour les faire fonctionner. Les ASIC sont conçus dans un seul but, ils n’ont donc aucune utilité dans des applications en dehors de l’extraction de crypto-monnaie. Votre seul moyen de récupérer votre investissement initial est le mien, ce qui rapporte une récompense significative si vous ajoutez avec succès un nouveau bloc à la blockchain.
Il est trivial pour le réseau de vérifier que vous avez bien créé le bon bloc. Même si vous avez essayé des milliards de combinaisons pour obtenir le bon hachage, il vous suffit d’exécuter vos données via une fonction une fois. Si vos données produisent un hachage valide, elles seront acceptées et vous recevrez une récompense. Sinon, le réseau le rejettera et vous aurez perdu du temps et de l’électricité pour rien.
Preuve de participation (PoS)
La preuve de participation (PoS) a été proposée au début du Bitcoin comme alternative à la Preuve de travail. Dans un système de point de vente, il n’y a pas de concept de mineurs, de matériel spécialisé ou de consommation d’énergie massive. Tout ce dont vous avez besoin est un PC ordinaire.
Eh bien, pas tous. Vous devez encore mettre de la peau dans le jeu. Dans les points de vente, vous ne mettez pas en avant une ressource externe (comme l’électricité ou le matériel), mais une ressource interne – la crypto-monnaie. Les règles diffèrent selon les protocoles, mais il y a généralement un montant minimum de fonds que vous devez détenir pour être éligible au jalonnement.
À partir de là, vous enfermez vos fonds dans un portefeuille (ils ne peuvent pas être déplacés pendant que vous jalonnez). Vous serez généralement d’accord avec les autres validateurs sur les transactions qui entreront dans le bloc suivant. Dans un sens, vous pariez sur le bloc qui sera sélectionné, et le protocole en choisira un.
Si votre bloc est sélectionné, vous recevrez une partie des frais de transaction, en fonction de votre mise. Plus vous avez de fonds bloqués, plus vous avez à gagner. Mais si vous tentez de tricher en proposant des transactions invalides, vous perdrez une partie (ou la totalité) de votre mise. Par conséquent, nous avons un mécanisme similaire à celui du prisonnier de guerre – agir honnêtement est plus rentable que d’agir malhonnêtement.
Généralement, il n’y a pas de pièces fraîchement créées dans le cadre de la récompense pour les validateurs. La monnaie native de la blockchain doit donc être émise d’une autre manière. Cela peut être fait soit via une distribution initiale (c’est-à-dire une ICO ou une IEO), soit en lançant le protocole avec PoW avant une transition ultérieure vers PoS.
À ce jour, la pure Proof of Stake n’a vraiment été déployée que dans des crypto-monnaies plus petites. Par conséquent, il n’est pas clair si cela peut servir d’alternative viable au PoW. Bien qu’il semble théoriquement sain, ce sera très différent dans la pratique.
Une fois que le PoS est déployé sur un réseau de grande valeur, le système devient un terrain de jeu de la théorie des jeux et des incitations financières. Toute personne ayant le savoir-faire pour “pirater” un système de point de vente ne le ferait probablement que si elle pouvait en tirer profit – par conséquent, la seule façon de savoir si c’est faisable est sur un réseau en direct.
Nous verrons bientôt des PoS testés à grande échelle – Casper sera implémenté dans le cadre d’une série de mises à niveau du réseau Ethereum (collectivement connu sous le nom d’Ethereum 2.0).
D’autres algorithmes de consensus
La preuve de travail et la preuve d’enjeu sont les algorithmes de consensus les plus discutés. Mais il y en a une grande variété d’autres, toutes avec leurs propres avantages et inconvénients. Consultez les articles suivants:
- Explication de la Preuve de Travail Retardée
- Explication du Consensus de La Preuve de Participation Louée
- Explication de la Preuve d’Autorité
- Explication de la Preuve de Brûlure
- Explication de la Preuve de Participation Déléguée
- Consensus Hybride PoW / PoS Expliqué
Réflexions de clôture
Les mécanismes permettant de parvenir à un consensus sont essentiels au fonctionnement des systèmes distribués. Beaucoup pensent que la plus grande innovation en Bitcoin a été l’utilisation de preuves de travail pour permettre aux utilisateurs de s’entendre sur un ensemble de faits partagés.
Aujourd’hui, les algorithmes de consensus sous-tendent non seulement les systèmes de monnaie numérique, mais aussi les chaînes de blocs permettant aux développeurs d’exécuter du code sur un réseau distribué. Ils sont maintenant une pierre angulaire de la technologie blockchain et sont essentiels à la viabilité à long terme des différents réseaux existants.
De tous les algorithmes de consensus, la preuve de travail reste l’offre dominante. Une alternative plus fiable et plus sécurisée doit encore être proposée. Cela dit, il y a énormément de recherche et de développement sur les remplacements de PoW, et nous sommes susceptibles d’en voir davantage faire surface dans les années à venir.