Mécanisme de consensus

Un algorithme de consensus est une procédure par laquelle tous les pairs du réseau Blockchain parviennent à un accord commun sur l’état actuel du grand livre distribué.

De cette façon, les algorithmes de consensus assurent la fiabilité du réseau Blockchain et établissent la confiance entre des pairs inconnus dans un environnement informatique distribué. Essentiellement, le protocole de consensus garantit que chaque nouveau bloc ajouté à la Blockchain est la seule et unique version de la vérité acceptée par tous les nœuds de la Blockchain.

Le protocole de consensus Blockchain se compose de certains objectifs spécifiques tels que la conclusion d’un accord, la collaboration, la coopération, l’égalité des droits pour chaque nœud et la participation obligatoire de chaque nœud au processus de consensus. Ainsi, un algorithme de consensus vise à trouver un accord commun gagnant pour l’ensemble du réseau..           

Dans tout système centralisé, comme une base de données contenant des informations clés sur les permis de conduire dans un pays, un administrateur central a le pouvoir de maintenir et de mettre à jour la base de données. La tâche de faire des mises à jour, comme ajouter/supprimer/mettre à jour les noms des personnes qualifiées pour certaines licences, est effectuée par une autorité centrale qui reste la seule responsable de la conservation des enregistrements authentiques.

 

Les blockchains publiques qui fonctionnent comme des systèmes décentralisés et autorégulés fonctionnent à l’échelle mondiale sans aucune autorité unique. Ils impliquent des contributions de centaines de milliers de participants qui travaillent sur la vérification et l’authentification des transactions se produisant sur la blockchain, et sur les activités de minage de blocs .

 

Dans un état de la blockchain qui change de manière dynamique, ces registres partagés publiquement ont besoin d’un mécanisme efficace, équitable, en temps réel, fonctionnel, fiable et sécurisé pour garantir que toutes les transactions effectuées sur le réseau sont authentiques et que tous les participants s’entendent sur un consensus. sur l’état du grand livre. Cette tâche primordiale est réalisée par le mécanisme de consensus, qui est un ensemble de règles qui décide de la légitimité des contributions apportées par les différents participants (c’est-à-dire les nœuds ou les opérateurs) de la blockchain.

Les différents consensus

Il existe différents types d’algorithmes de mécanisme de consensus, dont chacun fonctionne sur des principes différents.

En voici quelques-uns:

( Nous n'allons pas rentrer dans les détails de chaque mécanisme de consensus dans cet article. )

-Proof-of-Work (PoW)

Cet algorithme de consensus est utilisé pour sélectionner un mineur pour la prochaine génération de blocs. Bitcoin utilise cet algorithme de consensus PoW. L’idée centrale derrière cet algorithme est de résoudre un puzzle mathématique complexe et de donner facilement une solution. Ce casse-tête mathématique nécessite beaucoup de puissance de calcul et ainsi, le nœud qui résout le casse-tête le plus tôt possible peut exploiter le bloc suivant.

-Proof-of-Stake (PoS)

C’est l’alternative la plus courante au PoW. Ethereum est passé du consensus PoW au consensus PoS. Dans ce type d’algorithme de consensus, au lieu d’investir dans du matériel coûteux pour résoudre un puzzle complexe, les validateurs investissent dans les pièces du système en verrouillant certaines de leurs pièces en tant que mise. Après cela, tous les validateurs commenceront à valider les blocs. Les validateurs valideront les blocs en plaçant un pari dessus s’ils découvrent un bloc qui, selon eux, peut être ajouté à la chaîne. Sur la base des blocs réels ajoutés dans la Blockchain, tous les validateurs reçoivent une récompense proportionnelle à leurs paris et leur mise augmente en conséquence. Au final, un validateur est choisi pour générer un nouveau bloc en fonction de son enjeu économique dans le réseau. Ainsi, PoS encourage les validateurs à travers un mécanisme incitatif à parvenir à un accord.

-Delegated Proof-of-Stake (DPoS)

Le DPoS est très différent du PoS. Ici, les détenteurs de jetons ne travaillent pas eux-mêmes sur la validité des blocs, mais ils sélectionnent des délégués pour effectuer la validation à leur place. Dans un système DPoS, il y a généralement entre 21 et 100 délégués sélectionnés. Les délégués sélectionnés sont changés périodiquement et reçoivent un ordre de livraison de leurs blocs. Si vous avez moins de délégués, cela leur permet de s’organiser efficacement et de créer des plages horaires conçues pour publier des blocs. Si les délégués manquent régulièrement leurs blocs ou publient des transactions invalides, les détenteurs de jetons les rejettent et les remplacent par un autre délégué sélectionné. Contrairement au PoW et au PoS, dans DPoS, les mineurs peuvent collaborer pour développer des blocs. Avec un effort de collaboration et un processus partiellement centralisé,

-Byzantine Fault Tolerance (BFT)

Le nom de BFT vient d’une solution au « problème des généraux byzantins », un dilemme logique que les chercheurs Leslie Lamport, Robert Shostak et Marshall Pease ont expliqué dans un article universitaire. BFT est utilisé pour résoudre le problème d’un nœud malveillant ou peu fiable. Si un membre de la communauté envoie des informations incohérentes à d’autres sur les transactions, la fiabilité de la blockchain tombe en panne et aucune autorité centrale ne peut intervenir pour la corriger. Pour résoudre ce problème, PoW propose déjà BFT grâce à sa puissance de traitement. D’un autre côté, PoS a besoin d’une solution plus précise. Les nœuds voteront régulièrement afin d’identifier la véritable transaction. L’utilisation d’une version de PoS qui fonctionne avec BFT semble être l’approche la plus prometteuse pour approuver les transactions dans la blockchain.

-Proof of Authority (POA)

La preuve d’autorité est une variante du mécanisme de consensus de la preuve d’enjeu où au lieu de jetons, les participants au réseau mettent en jeu leur identité et leur réputation. Proposée en 2015 par le co-fondateur d’Ethereum, Gavin Wood, la preuve d’autorité est devenue ces dernières années l’un des mécanismes de consensus les plus importants, alors que le monde de la blockchain explore de plus en plus des moyens d’aller au-delà de la preuve de travail. PoA, ou comme on l’appelle également, Proof of Stake Authority (PoSA) cherche à résoudre certains des problèmes rencontrés dans d’autres alternatives PoW, à savoir Proof-of-Stake.

-Proof of History ( POH)

La preuve de l’histoire est une séquence de calculs qui peut fournir un moyen de vérifier cryptographiquement le passage du temps entre deux événements. Il utilise une fonction cryptographiquement sécurisée écrite de sorte que la sortie ne puisse pas être prédite à partir de l’entrée et doit être complètement exécutée pour générer la sortie.

-Proof of Transfer ( POX)

La preuve de transfert (PoX) est une extension du mécanisme de proof of burn. PoX utilise la crypto-monnaie de preuve de travail d’une blockchain établie pour sécuriser une nouvelle blockchain. … Cela permet aux participants du réseau de sécuriser le réseau de crypto-monnaie PoX et de gagner une récompense dans la crypto-monnaie de base.

-Proof of Importance ( POI )

Les systèmes de preuve d’importance sont conçus pour récompenser les utilisateurs qui effectuent activement des transactions dans une crypto-monnaie en donnant la priorité aux mineurs en fonction des montants et des tailles des transactions effectuées à partir de leurs portefeuilles. Un système de preuve d’importance peut tenir compte de facteurs supplémentaires, tels que les portefeuilles vers et à partir desquels les transactions sont effectuées.

-Practical Byzantine Fault Tolerance (PBFT)

Hyperledger prend en charge deux algorithmes de consensus : l’algorithme de tolérance aux pannes byzantine pratique (PBFT) et SIEVE, qui est prêt à gérer l’exécution de code en chaîne non déterministe. Le PBFT a été la première solution à parvenir à un consensus en cas d’échec byzantin. Stellar et Ripple utilisent également le mécanisme PBFT. Dans le mécanisme PBFT, chaque « général » gère un état interne qui est un état d’information en cours. Après avoir reçu un message, un général utilise le message en relation avec son état interne pour lancer un processus de calcul. Ce processus de calcul interroge l’individu général sur l’opinion sur le message. Après avoir conclu, le général partage la décision avec les autres généraux du système. Une décision consensuelle est prise sur la base du nombre total de décisions soumises par tous les généraux.

-SIEVE

Le mécanisme de consensus SIEVE est utilisé par Hyperledger Fabric, ce qui permet au réseau de détecter et de supprimer d’éventuelles requêtes non déterministes, et également de parvenir à un consensus sur la sortie des transactions suggérées.

-Proof-of-Weight (PoW)

PoW est une large classification d’algorithmes de consensus basée sur le modèle de consensus d’Algorand. Lorsque PoS, le pourcentage de jetons détenus dans le réseau présente une probabilité de « découvrir » le prochain bloc, une autre valeur relativement pondérée est utilisée. La preuve d’espace-temps de Filecoin est pondérée en fonction de la quantité de données IPFS stockées. Il existe peu d’autres systèmes qui incluent des pondérations pour des éléments tels que la preuve de réputation.

-Unique Node Lists (UNL)

Ripple utilise des algorithmes de consensus de « sous-réseaux de confiance collective » appelés « Listes de nœuds uniques » (UNL) pour gérer la latence élevée, qui caractérise généralement les systèmes tolérants à BFT. Pour parvenir à un consensus, un nœud nécessite de demander son propre UNL à la place de l’ensemble du réseau. Ce mécanisme permet à moins d’un cinquième de ses nœuds d’être défectueux.

-Proof-of-Burn (PoB)

Avec PoB, les validateurs « brûlent » des pièces en les envoyant à une adresse d’où elles sont irrécupérables. En livrant les pièces à une adresse inaccessible, les validateurs gagnent le privilège d’exploiter le système sur la base d’un processus de sélection aléatoire. Ainsi, brûler des pièces ici signifie que les validateurs ont un engagement à long terme en échange de leur perte à court terme.

-Proof-of-Activity (PoA)

Le PoA a été inventé comme structure d’incitation alternative pour les mineurs de Bitcoin. Cela combine à la fois PoW et PoS. Dans PoA, les mineurs commencent par une approche PoW pour résoudre le casse-tête. Si les blocs extraits ne contiennent aucune transaction, le système passe en PoS. Sur la base des informations d’en-tête, un groupe de validateurs est affecté à la signature du nouveau bloc. Si un validateur possède plus de pièces, il a la plus grande chance d’être choisi. Dès que tous les validateurs sélectionnés signent, le modèle devient un bloc. Si les validateurs n’ont pas réussi à terminer le bloc, un nouveau groupe de validateurs est choisi, et ce processus se poursuit jusqu’à ce qu’un bloc reçoive le nombre correct de signatures. Les récompenses sont réparties entre le mineur et les validateurs. PoA nécessite trop d’énergie comme PoW, PoS. Decred est la seule pièce utilisant la preuve d’activité pour la validation en ce moment.

-Proof-of-Capacity (PoC)

Dans le consensus sur la preuve de capacité, les validateurs sont censés investir leur espace disque dur au lieu d’investir dans du matériel coûteux ou de graver des pièces. Plus les validateurs d’espace sur le disque dur ont, meilleures sont leurs chances d’être sélectionnés pour extraire le prochain bloc et de gagner la récompense du bloc.

-Proof of Elapsed Time ( PoET)

PoET est l’un des algorithmes de consensus les plus équitables qui choisit le bloc suivant en utilisant uniquement des moyens équitables. Il est largement utilisé dans les réseaux Blockchain autorisés. Dans cet algorithme, chaque validateur du réseau a une chance équitable de créer son propre bloc. Tous les nœuds le font en attendant un temps aléatoire, en ajoutant une preuve de leur attente dans le bloc. Les blocs créés sont diffusés sur le réseau pour examen par d’autres. Le gagnant est le validateur qui a le moins de valeur de temps dans la partie preuve. Le bloc du nœud de validation gagnant est ajouté à la Blockchain. Il existe des contrôles supplémentaires dans l’algorithme pour empêcher les nœuds de toujours gagner l’élection, empêcher les nœuds de générer une valeur de minuterie la plus basse.

Proof of Space ( PoSpace )

Proof of Space, également connu sous le nom de PoSpace, est un protocole de consensus de réseau similaire au protocole de consensus Proof of Work. Au lieu des ressources de calcul, PoSpace utilise le stockage sur disque pour valider les transactions. PoSpace consomme de l’espace disque et incite les mineurs avec l’espace disque le plus considérable alloué à un bloc. Implémentée à l’aide de graphes difficiles à galets, cette structure de données est utilisée pour résoudre le jeu de galets. Le jeu de cailloux consiste à caillouer des sommets dans un graphe uniquement si tous les sommets parents ont été caillouteux. Le caillou fait référence au stockage des valeurs de hachage des parents, et la suppression du caillou fait référence à la libération de la mémoire. Référez-vous à cet article pour plus de détails sur le jeu de galets. Toutes les solutions réalisables au problème sont générées aléatoirement, appelées tracés. Ces tracés sont stockés sur les disques et résolus à l’aide d’un algorithme appelé algorithme de Shabal. Une fois les solutions calculées, les mineurs comparent leurs solutions, et la solution avec la meilleure complexité temporelle et spatiale est récompensée par le bloc suivant.

En Conclusion

Comme vous l’avait compris, il existe énormément de mécanismes de consensus différents et sans mécanismes de consensus, nous n’aurions pas de système pair à pair décentralisé byzantin tolérant aux pannes.

C’est aussi simple que ça. Alors que la preuve de travail et la preuve d’enjeu sont certainement les choix les plus populaires, de nouveaux mécanismes apparaissent de temps en temps. Il n’y a pas de mécanisme de consensus « parfait », et il y a de fortes chances qu’il n’y en ait jamais, mais il est intéressant de voir ces nouvelles crypto-monnaies sortir avec leurs propres protocoles.