Lorsque vous verrez ces termes pour la première fois, vous vous gratterez la tête derrière les oreilles. Un algorithme de consensus ? Mais qu'est-ce que c'est ? Après avoir suivi cette leçon, vous saurez non seulement ce que c'est, mais aussi quelles formes il prend.
✔️ Dans le contexte des crypto-monnaies, le consensus consiste à se mettre d'accord sur l'état d'une blockchain.
✔️ Un algorithme est un moyen de résoudre un problème mathématique ou informatique.
✔️ Un algorithme de consensus garantit que les validateurs travaillent ensemble pour assurer l'exactitude d'un nouveau bloc dans une blockchain.
Un algorithme de consensus se compose de deux mots, dont le premier est assez facile à expliquer. Consensus signifie accord, ou être d'accord avec les autres.
Dans le contexte de la crypto-monnaie, le consensus signifie se mettre d'accord sur l'état d'une blockchain.
Et voici la partie délicate. Tout le monde connaît le mot algorithme, mais qu'est-ce qu'il signifie exactement ?
Un algorithme est une façon de résoudre un problème mathématique ou informatique. Il implique de travailler à partir d'un état initial jusqu'au but final en appliquant des instructions définies de manière unique. C'est tout un programme. Cela peut être plus facile !
Le but d'un algorithme est de résoudre un problème. Les instructions d'un bon algorithme fonctionnent de manière à ce que le but final soit atteint aussi efficacement que possible.
Le mot algorithme est actuellement utilisé pour toutes les procédures finies permettant de résoudre des problèmes ou d'effectuer des tâches.
Ainsi, lorsque nous parlons d'un algorithme de consensus, nous parlons d'un ensemble d'instructions qui conduisent à un consensus entre les participants d'un réseau blockchain. Ces participants doivent maintenir (valider) l'état du réseau blockchain et toujours convenir en majorité que le nouvel état du réseau est correct.
En termes humains ordinaires, on pourrait dire qu'un programme informatique (algorithme) garantit que les participants (validateurs) sont d'accord sur un résultat particulier (l'état de la blockchain).
Un exemple d'algorithme est celui d'Euclide concernant le diviseur général :
Tant que A et B ne sont pas égaux : soustraire du plus grand des deux l'autre. Dès qu'ils sont égaux, le plus grand diviseur commun est a (ou b).
Et ceci n'est qu'un simple exemple !
Le mot algorithme vient de l'Antiquité. Il s'agit d'une corruption du nom d'un mathématicien perse du 8e siècle, Al-Chwarizmi. Le premier algorithme connu pour un ordinateur a été écrit en 1842 par Ada Lovelace, la fille de Lord Byron.
Un algorithme de consensus garantit que les validateurs travaillent ensemble pour assurer un nouveau bloc correct dans une blockchain. Il augmente la sécurité d'une blockchain et garantit qu'une blockchain n'a pas besoin d'être entretenue, tout se fait tout seul. Nous appelons cela décentralisé, car le réseau n'a pas besoin d'une autorité centrale pour tout contrôler, comme une banque, par exemple.
Un nouveau bloc dans une blockchain contient des transactions et de nouveaux jetons. Si une majorité de validateurs sont d'accord sur les transactions qui ont eu lieu depuis le dernier bloc créé et sur la personne qui doit créer le nouveau bloc, le validateur désigné commencera à créer ce bloc et la chaîne s'est agrandie d'un bloc.
Les validateurs qui sont autorisés à créer un nouveau bloc sont choisis de plusieurs façons. La manière la plus connue est la preuve de travail (mining). Dans ce cas, la personne qui a résolu en premier une énigme cryptographique difficile est autorisée à créer le nouveau bloc si une majorité de ses collègues (également mineurs ou validateurs) conviennent (consensus) que ce nouveau bloc est correct. Cet algorithme s'est avéré très sûr, bien qu'il ne soit pas durable en raison de la consommation d'énergie. La création de grands pools de minage crée une centralisation.
Un autre moyen bien connu est la preuve d'enjeu, dont il existe de nombreuses variantes. Il s'agit de désigner ou de tirer au sort un validateur particulier qui obtient de créer le nouveau bloc si une majorité de validateurs (nœuds) conviennent que le nouveau bloc est correct. La preuve d'enjeu implique de mettre des pièces en jeu, ou de parier et de tenir. La sécurité de cet algorithme réside dans le fait que les personnes qui doivent assurer la sécurité du réseau perdent des pièces si elles ne le font pas, et il est donc très sûr. Cependant, les personnes possédant de nombreuses pièces deviennent de plus en plus riches et acquièrent une plus grande influence sur un réseau.
Un petit groupe de validateurs met de nombreuses pièces en jeu et les personnes possédant moins de pièces mettent leurs pièces en jeu avec ces délégués. Les délégués gagnent un grand nombre de pièces en jeu, qu'ils partagent avec les personnes qui les ont délégués. Cet algorithme de consensus fournit des validateurs élus démocratiquement et s'adapte bien. Il peut cependant créer du favoritisme, où il y a un facteur de faveur entre les uns et les autres et une centralisation de l'influence.
Il s'agit d'un mécanisme de consensus plutôt étrange où vous avez plus de chances d'ajouter un bloc si vous brûlez plus de pièces. Brûler des pièces signifie les détruire, par exemple en les envoyant sur le mauvais réseau ou quelque chose de similaire. Bien sûr, l'inflation sera plutôt faible si tant de pièces sont brûlées, mais comme les gens n'aiment pas détruire leurs pièces, je suppose que ce mécanisme ne sera jamais très populaire.
Ce mécanisme de consensus est également connu sous le nom de preuve d'espace. Plus vous ajoutez d'espace sur votre disque dur à un réseau, plus vous avez de chances d'obtenir une récompense pour cela. L'avantage de ce mécanisme est qu'il est économe en énergie. Les inconvénients sont que vous avez besoin d'énormes disques durs et que vous devez bien les sécuriser contre les logiciels malveillants et les virus.
Vous ne mettez pas vos pièces en jeu ici mais votre nom, ou votre réputation. Toute personne qui ne prend pas ses responsabilités sera connue comme un mauvais validateur, et les autres réseaux pourraient commencer à vous éviter. Les gros sacs et les bourses en particulier ne peuvent pas se permettre cela. Parce que les validateurs ne veulent pas mettre leur nom en jeu, ils se comporteront bien. Parce qu'ils se comportent si bien, ils auront également le plus d'autorité et obtiendront donc le plus de pièces, créant ainsi une centralisation.
Cet algorithme de consensus fonctionne également avec la réputation, mais entre les validateurs et les nœuds. Plus ils s'engagent dans un réseau, plus ils seront souvent choisis pour créer de nouvelles pièces. Il s'agit de l'un des mécanismes les plus équitables, bien que relativement peu de pièces majeures fonctionnent avec.
Alors que la plupart des blockchains sont sans permission, ce qui signifie que vous n'avez pas besoin de permission pour rejoindre un réseau, ce mécanisme de consensus en est un où vous avez besoin d'une permission. Dans cet algorithme, les validateurs sont assignés au hasard pour être autorisés à ajouter des pièces à la blockchain en fonction de celui qui se réveille le premier, après le début du "temps de sommeil" (temps écoulé). Il est équitable, consomme peu d'énergie, mais il faut une autorisation pour participer, ce qui comporte toujours un risque de censure.
Cela utilise la puissance de hachage des grands réseaux pour protéger le petit réseau des attaques. Cela donne au réseau une plus grande sécurité.
Dans ce cas, les premiers attaquants, qui sont considérés comme les plus dignes de confiance, sont le plus souvent désignés pour frapper de nouvelles pièces. Des récompenses sont toutefois toujours prévues pour les nouveaux venus, afin que toutes les pièces ne se centralisent pas.
Il s'agit d'un algorithme basé sur une loterie où chacun reçoit le même nombre de "lots" pour participer en fonction de ses pièces en jeu. Bien sûr, les attaquants ayant le plus de lots gagnent le plus souvent. Il s'agit d'un système très décentralisé.
Dans ce mécanisme de consensus, vous immobilisez vos pièces pendant un certain temps. Plus vous immobilisez de pièces, plus vous pouvez soumettre de votes. Un inconvénient de cette méthode est que les attaquants peuvent perdre beaucoup d'argent pendant la période où leurs pièces sont immobilisées si la pièce s'effondre ou si le marché baissier leur fait perdre de la valeur.
Dans ce cas, les stakers nomment des validateurs pour faire de nouveaux blocs. Celui qui obtient le plus de votes est désigné pour le faire. Il peut y avoir du favoritisme, les validateurs de moindre valeur obtenant toujours le plus de votes. D'un autre côté, c'est un système simple qui consomme peu d'énergie et fonctionne rapidement.
Plus vous mettez longtemps une pièce en jeu, plus vos récompenses sont importantes. Cela vous donne des validateurs très fiables, mais ils auront toutes les pièces à un moment donné, car plus personne ne s'en débarrasse. Le manque d'offre peut faire chuter l'intérêt et même faire s'effondrer le prix.
Ici, les stakers louent des pièces à des validateurs, après quoi ils reçoivent une partie du produit des blocs ajoutés par un tel validateur. Un avantage est que vous ne devez pas miser de grandes sommes pour participer. L'inconvénient est que vous devez commencer à évaluer vous-même les validateurs avant de louer des pièces à un validateur.
Cet algorithme garde votre identité cachée, vous permettant de miser et d'obtenir des récompenses de manière anonyme. Ce type de pièces peut être interdit dans certains pays, précisément en raison du risque de blanchiment d'argent et de fraude.
Combine la preuve de travail et la preuve d'enjeu. Elle tente d'obtenir le meilleur des deux mondes.
Plus vous en faites pour un réseau, plus vous avez de chances d'être autorisé à créer de nouveaux blocs ou à recevoir des pièces. Tant le votant que le désigné reçoivent des récompenses du réseau.
Cet algorithme fonctionne à la fois avec le nombre de pièces en jeu et la notation du validateur. Il utilise un RNG qui ne peut être ni prédit ni influencé. Il s'agit d'un système assez équitable.
Il s'agit d'une sorte de système d'enchères, où les attaquants sont autorisés à ajouter des pièces proportionnellement à la taille de leur enchère pendant un certain temps. Puisque de nombreuses personnes sont choisies avec un rôle et donc des pièces, il s'agit d'un système assez décentralisé. Le seuil signifie que vous devez mettre un seuil calculé pour participer à une récompense.
Dans ce système, les délégués sont choisis via un RNG pour ajouter un nouveau bloc à la blockchain. Cela permet d'éviter le favoritisme.
Ce mécanisme de consensus vérifie que vous maintenez effectivement le réseau où vous prétendez détenir. Les participants à ce réseau envoient et reçoivent des signaux et sont récompensés pour cela. Il s'agit d'un moyen bon marché et à faible consommation d'énergie pour ajouter des pièces. L'inconvénient, cependant, est que les lieux peuvent devenir surpeuplés de mineurs ou l'inverse, ce qui peut réduire les revenus au minimum.
Cet algorithme fonctionne avec des timestamps (garde la trace du temps) lorsqu'un bloc est créé. L'utilisation de la hauteur de bloc (indique où se trouve le bloc dans la blockchain) rend le réseau beaucoup plus rapide. Le bitcoin, par exemple, utilise deux horodatages.
C'est l'une des bizarreries parmi les Romains. Vous devez miser beaucoup de pièces, si vous êtes considéré comme important vous pouvez récolter beaucoup de nouvelles pièces. Vous devenez important si vous avez beaucoup de pièces, si vous les conservez longtemps et si vous faites beaucoup d'échanges avec la pièce. Ne touchez pas à l'herbe ! Comment pouvez-vous penser à cela ?
Vous devenez un courtier si vous répartissez un certain nombre de pièces sur plusieurs bourses. Le logiciel du réseau exécutera alors automatiquement les itinéraires d'échange par le biais de l'agrégateur de liquidité des comptes du courtier. Les strikers peuvent choisir un courtier, qui devrait leur offrir des récompenses intéressantes. Ce principe est très rapide et évolutif.
Il s'agit d'un algorithme de consensus utilisant deux blockchains. Les validateurs transfèrent (cèdent) des pièces pour enchérir afin de gagner une sorte de loterie pour devenir le leader et être autorisé à miner de nouveaux blocs.
Algorithme qui prouve que vous exécutez quelque chose entièrement à partir de votre ordinateur.
Cet algorithme de consensus est une combinaison de preuve d'enjeu et de preuve de travail, où tous les mineurs doivent se mettre d'accord et donc toutes les transactions sont réelles. Il s'agit d'un système très sûr, bien que la mise à l'échelle puisse devenir un problème.