Un algorithme de consensus ou mécanisme de consensus, abrégé parfois simplement en consensus, est un procédé par lequel les nœuds d'un réseau pair-à-pair se mettent d'accord sur un ensemble d'informations. Dans le contexte des crypto-monnaies, un tel algorithme permet aux nœuds d'être en consensus sur le registre des transactions, la fameuse blockchain

Le plus célèbre d'entre eux, qui est à la base de Bitcoin, est l'algorithme de consensus de Nakamoto par preuve de travail. Celui-ci se base sur un principe simple : chaque bloc est rajouté à la chaîne grâce à une dépense énergétique (preuve de travail) et la chaîne de blocs la plus longue (celle comportant le plus de preuve de travail) est la chaîne qui est considérée comme valide par le réseau.

Néanmoins cet algorithme est loin d'être le seul. De plus, la preuve de travail (proof of work), qui est à la base de la sélection des blocs et donc de ceux qui les valident, n'est également pas la seule méthode.

Dans cet article nous tâcherons de vous présenter les principales bases sur lesquelles se basent les cryptomonnaies pour avoir un registre cohérent. Les modèles de consensus sont en effet très divers et ne peuvent pas être listés de manière exhaustive. Nous nous attarderons sur les différentes alternatives à la preuve de travail, avant d'évoquer les algorithmes de consensus autres que l'algorithme de Nakamoto.  

 

Les preuves externes

Les « preuves de » sont des moyens de sélectionner les validateurs ou, plus formellement, des mécanismes de résistance aux attaques Sybil. Le première catégorie d'entre elles est la classe des preuves externes, dont fait partie la preuve de travail.  

 

Preuve de Travail, ou Proof of Work (PoW)

Explications : Le système de validation par preuve de travail a été le premier consensus existant dans le monde des crypto-monnaies, et pour cause : il est à la base de Bitcoin. La plupart des premiers crypto-actifs utilisent cette méthode car c'était un système révolutionnaire lorsque Satoshi Nakamoto a présenté ce concept en 2008 et l'a appliqué au Bitcoin. Pour résumer assez simplement, les récompenses sont distribuées aux personnes qui ont le plus contribué à la validation des transactions. 👉 Si vous voulez plus d'informations au sujet de la preuve de travail, nous vous conseillons de lire notre guide complet sur le sujet : Qu'est-ce que la preuve de travail ou proof-of-work (PoW) ?

Avantages :

  • Puisque la participation est ouverte, ce modèle est très robuste.
  • Il est très onéreux de passer outre la sécurité de ce système lorsque le réseau est suffisamment développé.
  • Tout le registre est objectivement vérifiable.

Inconvénients :

  • Le système de vérification des transactions est lent.
  • C'est un processus qui consomme énormément d'énergie, ce qui est un problème économique et écologique. 
  • Les chaînes les moins développées sont très sensibles aux attaques des 51 %.

Crypto-actif le(s) plus emblématique(s) utilisant cette méthode :

 

Preuve de capacité, ou Proof of Capacity (PoC)

Explications :

La preuve de capacité, aussi appelée preuve d'espace (proof of space) ou preuve de stockage (proof of storage), est une alternative à la preuve de travail qui se base, non pas sur la dépense énergétique des machines validatrices, mais sur leur capacité à garder en mémoire des données.

Il s'agit ni plus ni moins d'une autre forme de travail, dans le sens où, dans un tel système, les validateurs dépensent des ressources pour obtenir une récompense.

Avantages :

  • La preuve de capacité possède en théorie les mêmes avantages que la preuve de travail.
  • Selon ses promoteurs, cette forme de sélection serait moins énergivore que la preuve de travail.

Inconvénients :

  • Tout comme la preuve de travail, la preuve de capacité ne saurait pas échapper aux attaques des 51 % en cas d'une faible participation au réseau.

Crypto-actif le(s) plus emblématique(s) utilisant cette méthode :

Notez que certains algorithmes combinent ces deux aspects de dépense d'énergie électrique et de stockage en mémoire, tels que Scrypt (intégré dans Litecoin) ou Cryptonight (Monero).

 

Les preuves internes

Le deuxième catégorie de preuves est la classe des preuves internes.

 

Preuve d'Enjeu, ou Proof of Stake (PoS)

Explications :

La preuve d'enjeu, ou proof of stake (PoS), est la deuxième méthode pour sélectionner les personnes participant au consensus après la preuve de travail. Le but est de réduire considérablement les dépenses énergétiques par rapport à la preuve de travail, tout en assurant une sécurité acceptable.

La preuve d'enjeu équivaut souvent dans le langage courant à la preuve de possession, c'est-à-dire à la possession du jeton natif de la blockchain considérée. Il existe néanmoins de multiples variantes dont on parlera dans la suite.

Toutefois, le système PoS possède une vulnérabilité importante : le "nothing at stake" problem, ou problème du « rien en jeu » (ou de l'absence d'enjeu). En effet, dans un système PoW, la validation des transactions nécessite une dépense d'énergie (et donc d'argent). Or, le système de staking de la preuve d'enjeu ne coûte pratiquement rien à une personne pour valider les transactions. De ce fait, dans un système naïf utilisant la preuve d'enjeu, lorsque plusieurs blockchains concurrentes sont en compétition (en cas de fork), les personnes en charge d'approuver les transactions peuvent continuer à les valider sur ces deux chaînes sans que cela n'impacte significativement leurs finances. Il en résulte alors la possibilité que deux blockchains parallèles puissent co-exister et se parasiter mutuellement.

Cela pourrait permettre, entre autres, à un forgeur de créer une chaîne parallèle dans laquelle il s'attribue des jetons, et faire en sorte que cette chaîne survive puisque les autres forgeurs travailleraient également sur sa chaîne par simple souci de maximisation des profits. 

Ce problème du « rien en jeu » rajoute de la complexité aux algorithmes utilisant la preuve d'enjeu. C'est notamment pour cette raison qu'Ethereum n'est pas encore passé à la preuve d'enjeu (prévue pour novembre 2020).

👉 Pour plus d'informations à propos de la preuve d'enjeu, rendez-vous sur notre article dédié : Qu'est-ce que la preuve d'enjeu ou proof-of-stake (PoS) ?

Avantages :

  • La consommation d'énergie est maîtrisée, ce qui assure la bonne santé économique de la cryptomonnaie (moins de frais ou moins d'inflation).
  • Plus écologique par rapport à la preuve de travail.
  • Résistance forte aux attaques des 51 %.

Inconvénients :

  • Le problème du « rien en jeu », qui rend les algorithmes de PoS plus complexes.
  • La subjectivité de la chaîne.

Crypto-actif le(s) plus emblématique(s) utilisant cette méthode :

 

Preuve de Conservation, ou Proof of Hold (PoH)

Explications :

La preuve de conservation, ou proof of hold (PoH), est une variante de la preuve d'enjeu qui se base sur le montant des jetons qu'une personne possède multiplié par le temps où ces jetons n'ont pas bougé. Cette métrique s'appelle l'âge des pièces (coin age).

Le protocole Peercoin (anciennement PPCoin) implémente cette méthode de manière hybride, en la combinant avec de la preuve de travail.

Avantages :

  • Permet une implémentation simple de la preuve d'enjeu.
  • Incite à la conservation.

Inconvénients :

  • Peut créer un vecteur d'attaque lié aux pièces qui n'ont pas bougé depuis le lancement de la crypto-monnaie.

Crypto-actif le plus emblématique utilisant cette méthode : 

 

Preuve de Service, ou Proof of Service (PoSe)

Explications :

La preuve de service est un modèle de preuve d'enjeu qui, outre la possession de jetons, demande au nœud du réseau intéressé de fournir un service défini par le protocole, comme le mélange de jetons ou le maintien d'une infrastructure supplémentaire. Les nœuds se chargeant de ce service sont appelés les masternodes

Cette méthode est généralement couplée à une autre méthode de base : par exemple, Dash fonctionne grâce au minage (preuve de travail), mais les masternodes interviennent pour garantir les transactions instantanées (InstantSend) et pour empêcher les attaques des 51 % (ChainLocks).

Avantages :

  • Ce modèle rajoute une couche de sécurité à la méthode de base utilisée.
  • Des services très utiles peuvent être apportés aux utilisateurs de la cryptomonnaie.
  • Une système de gouvernance interne peut être rajoutée à toute chaîne grâce à cette méthode.

Inconvénients :

  • La preuve de service peut créer à terme des points attaquables (les masternodes), ce qui nuit à la robustesse du réseau. 

Crypto-actif le plus emblématique utilisant cette méthode :

 

Preuve d'Enjeu Déléguée, ou Delegated Proof of Stake (DPoS)

Explications :

Dans un consensus par Delegated Proof of Stake, les détenteurs des jetons peuvent élire des délégués qui valideront les transactions à leur nom. De ce fait, seul un petit nombre d'individus valide les transactions, ce qui rend le système plus rapide.

Lorsqu'on désire élire un délégué, celui-ci peut donner des incitants à ses électeurs. L'incitation la plus commune est de donner une partie des revenus obtenus grâce aux frais de transaction. Plus le pourcentage reversé aux votants est important, plus il sera susceptible d'obtenir des voix. Cependant, si un délégué ne fait pas correctement son travail, il ne validera pas les transactions de manière efficace. De ce fait, les électeurs lui retireront leurs votes et voteront pour une autre personne qui leur fera potentiellement gagner plus d'argent.

La preuve d'enjeu déléguée peut se révéler problématique lorsque le nombre total de délégués est faible car cela peut permettre à certains individus de prendre le contrôle du consensus en faisant collusion entre eux.

Afin de trouver un compromis acceptable, il faut que le nombre total de délégués soit suffisamment grand afin d'éviter la création d'un cartel, tout en ayant un nombre de délégués suffisamment petit pour garantir la rapidité de validation des transactions.

Avantages :

  • Efficace d'un point de vue énergétique.
  • Rapidité grâce au nombre réduit de nœuds validateurs.

Inconvénients :

  • Risque de centralisation excessive.

Crypto-actif le(s) plus emblématique(s) utilisant cette méthode :

 

Preuve d'Enjeu Liquide, ou Liquid Proof of Stake (LPoS)

Explications :

La preuve d'enjeu liquide, appelée liquid proof of stake en anglais, est une variante de la preuve d'enjeu déléguée qui permet aux utilisateurs qui délèguent leurs jetons de toucher une récompense proportionnelle au montant mis en jeu.

Ce système est décentralisé et se fait par l'intermédiaire de la blockchain. L'utilisateur enregistre son compte pour déléguer ses jetons automatiquement à un forgeur de son choix. Il n'a pas besoin de mettre en place un nœud, ni même d'être connecté à Internet. En échange de ce service, le forgeur prélève des frais sur chaque paiement.

Avantages :

  • Permet d'inciter la délégation.
  • Permet d'avoir une forte création monétaire sans perte de pouvoir d'achat pour ceux qui délèguent leurs jetons.

Inconvénients :

  • Risque de concentration avec les forgeurs qui proposent des frais très bas (comme les plateformes d'échange) pour staker de manière custodiale.

Crypto-actif le plus emblématique utilisant cette méthode :

 

Preuve d'Importance, ou Proof of Importance (PoI)

Explications :

Le consensus de la preuve d'importance est une version lourdement modifiée de la preuve d'enjeu, avec des mécanismes différents qui prennent en compte différents critères. En effet, le principe est le même : la capacité de validation des blocs dépend de la quantité de jetons possédée. Mais il y a une spécificité : au lieu de simplement compter ceux présents sur l'adresse, le mécanisme de la preuve d'importance ne prend en compte que les jetons qui ont été présents sur l'adresse un certain temps.

En fait, chaque jour, un compte des jetons est fait. Et sur l'ensemble de ces jetons, que l'on considère "unvested", c'est-à-dire non acquis, 10% seront considérés comme "vested", donc acquis. Le lendemain, le compte des jetons acquis et non acquis est refait. Et sur les jetons non acquis, 10% sont déplacés dans la catégorie des acquis.

Pour expliquer tout cela en chiffres, mettons par exemple que vous disposez d'un portefeuille avec 20 000 jetons. A la fin de la première journée, il y a 20 000 jetons non acquis. Le réseau déclare donc que 10% de ces 20 000 doivent être considérés comme acquis. Ainsi, au début de la deuxième journée, le portefeuille contient 18 000 jetons non acquis, et 2 000 jetons acquis. A la fin du deuxième jour, le compte est refait : 18 000 jetons sont non acquis. Le système déclare donc que 10 % de cette somme devront être acquis pour le lendemain, soit 1 800 jetons. Ainsi, au début du deuxième jour, le portefeuille contiendra 16 200 jetons non acquis, et 3 800 jetons acquis.

Ce mécanisme est très important, parce que seuls les portefeuilles disposant de 10 000 jetons acquis peuvent valider des transactions.

Une fois que le portefeuille détient assez de jetons acquis, les chances qu'il soit sélectionné comme validateur dépendent de plusieurs facteurs :

  • De la « notoriété » qui s'obtient via une formule mathématique spécifique, dépendant notamment de la fréquence et de la taille des transactions validées précédemment.
  • Du nombre de jetons que l'individu possède.
  • De la variété d'origines des transactions validées par le portefeuille. Plus les transactions validées proviennent de gens différents, plus le portefeuille est considéré fiable.

Ces trois paramètres permettent de calculer la composante importance du système PoI. Cela donne une image plus globale de l'utilité qu'a une personne dans le consensus proof of importance. Plus une personne est active et contribue à faire fonctionner le réseau, plus elle sera récompensée.

Du fait de ce système d'importance, il est également très difficile de manipuler les choses. Il faudra du temps à une nouvelle personne avant d'obtenir de la notoriété et de valider un certains nombre de transactions. De même, une personne considérée importante dans le passé et n'étant plus suffisamment efficace mettra du temps avant de perdre de sa notoriété.

Avantages :

  • Meilleur que le système de preuve de possession pour évaluer l'enjeu.
  • Consensus difficile à manipuler.

Inconvénients :

  • Temps nécessaire pour un nouvel utilisateur avant de pouvoir valider de manière régulière des blocs, le temps que son importance grandisse.
  • Temps nécessaire pour qu'un individu qui n'est plus efficace dans la validation des transactions laisse sa place à d'autres.

Crypto-actif le plus emblématique utilisant cette méthode :

 

 

Preuve d'Autorité, ou Proof of Authority (PoA)

Explications :

Dans un consensus basé sur la preuve d'autorité, les blocs et les transactions sont validés par des comptes approuvés à l'avance. Le processus est automatique et mis à part le fait de vérifier que l'ordinateur n'est pas compromis, il n'y a rien d'autre à faire.

Pour devenir un validateur dans le consensus par preuve d'autorité, il faut que votre identité soit formellement vérifiée et affichée sur la blockchain. Car c'est votre identité et votre réputation qui sont mises en jeu, plutôt que votre puissance de calcul ou votre richesse.

Il y a donc trois piliers sur lesquels ce consensus repose :

  • Un moyen de certifier sans aucun doute possible l'identité d'une personne.
  • Un procédé suffisamment difficile à achever pour devenir validateur, afin que la perte de ce titre représente un problème majeur pour le validateur déchu.
  • Un procédé de sélection uniformisé pour tous les validateurs, afin que chacun des validateurs puisse faire confiance aux autres.

En créant un système de réputation lié à une identité, les validateurs sont incités à continuer de valider les transactions de la manière la plus efficace, honnête et transparente possible. S'ils ne le font pas, alors leur identité pourrait être associée à une réputation négative, ce qui leur ferait perdre ainsi leur rôle de validateur difficilement acquis.

Toutefois, ce système présente des inconvénients quelque peu extrêmes, dont le plus important est sa centralisation. En effet, si  les validateurs doivent être choisis, c'est donc qu'une autorité centrale contrôle le réseau indirectement. Ce système de consensus est donc tout à fait adapté à des blockchains mises en place par des administrations.

Mais attention : il n'est pas du tout adapté à des crypto-actifs devant servir de monnaie, pour lesquels la décentralisation est d'une importance capitale. En effet, il est impossible qu'une cryptomonnaie véritablement décentralisée souffre des mêmes problèmes que le système bancaire et monétaire mondial. C'est pour cette raison précise que la notion de décentralisation était au cœur des travaux de Satoshi Nakamoto.

Avantages :

  • Efficace d'un point de vue énergétique.
  • Extrême rapidité des transactions.

Inconvénients :

  • Système très centralisé.

Crypto-actif le(s) plus emblématique(s) utilisant cette méthode :

 

Les différents types de consensus

Nous avons examiné les principales méthodes de sélectionner les individus participant au consensus. Voyons donc à présent quels sont les différents types de consensus qui existent. En effet, l'algorithme inventé par Satoshi Nakamoto (basé sur la chaîne la plus longue) n'est pas le seul algorithme qui permette d'arriver à un accord au sein d'un réseau distribué.

 

Les consensus traditionnels (BFT)

Cette famille d'algorithmes a été développée dans les années 1980, donc bien avant Bitcoin. Ces algorithmes sont reconnaissables par le fait qu'on insiste souvent sur leur tolérance aux pannes byzantines, ou Byzantine fault tolerance abrégé en BFT, du fait qu'ils résolvent le problème des généraux byzantins (dans un cadre restreint).

Ces algorithmes fonctionnent grâce à un ensemble déterminé de participants dont le nombre ne peut excéder une certaine limite. Le sélection de ces participants se fait soit par preuve d'autorité (présélectionnés), soit par preuve d'enjeu (déléguée).

Parmi les algorithmes traditionnels existants, on peut citer :

  • PBFT (Practical Byzantine Fault Tolerance), dont une variante est utilisée dans Neo à l'aide de la preuve d'enjeu déléguée (dBFT). 
  • FBA (Federated Byzantine Agreement), qui est à la base des algorithmes de consensus de Ripple (RPCA) et de Stellar (SCP), qui utilisent tous deux sur la preuve d'autorité.
  • LibraBFT, dérivé de HotStuff, qui est censé être le protocole de consensus du système Libra développé par Facebook.
  • Plenum, dérivé de RBFT, qui est un algorithme utilisé au sein du framework Hyperledger Indy.

Avantages :

  • Capacité transactionnelle très élevée.
  • Finalité des transactions atteinte très rapidement.

Inconvénients :

  • Les nœuds doivent tous se connaître, ce qui limite le nombre de nœuds déployables sur le réseau.
  • Manque de robustesse du système découlant de sa centralisation.

Crypto-actif le(s) plus emblématique(s) utilisant ce type de consensus :

 

Le consensus de Nakamoto et ses variantes

L'algorithme de consensus de Nakamoto par preuve de travail a été révélé au monde en 2008 avec la publication du livre blanc de Bitcoin. Celui-ci a été copié et modifié par plusieurs protocoles.

Parmi les algorithmes les plus connus se basant sur des principes similaires, on retrouve :

  • Ethash (précédemment appelé Dagger-Hashimoto), qui ne se base pas sur la chaîne la plus longue, mais sur la chaîne la plus lourde (prise en compte des blocs oncles). Celui-ci est actuellement utilisé dans Ethereum et Ethereum Classic, en tant qu'algorithme de validation par preuve de travail.
  • Emmy+, l'algorithme sur lequel se base Tezos. Il s'agit d'une version modifiée de l'algorithme de Nakamoto qui s'adapte à la preuve d'enjeu.

Avantages :

  • Robustesse et décentralisation.
  • Finalité des transactions atteinte très rapidement.

Inconvénients :

  • Très peu scalable par nature : une capacité transactionnelle trop élevée compromettrait la sécurité du système.
  • Sécurité probabilistique des transactions.

Crypto-actif le(s) plus emblématique(s) utilisant ce type de consensus :

 

Les Graphes Orientés Acycliques, ou Directed Acyclic Graphs (DAG)

Les consensus reposant sur des graphes orientés acycliques représentent une catégorie relativement nouvelle, basée sur une technologie différente de la blockchain. 

En effet, les blockchains fonctionnent selon une structure linéaire qui ajoute des blocs un par un sur une chaîne. Pour pouvoir ajouter un bloc à la chaîne, il faut qu'il soit placé après un bloc déjà créé, on ne peut pas ajouter deux blocs en même temps.

Dans la structure des DAG, les transactions peuvent être ajoutées en parallèle, chaque transaction confirmant un certain nombre de blocs précédents.

Les problématiques de consensus étant par conséquent fondamentalement différentes, les DAG disposent de leurs propres systèmes de consensus, autres que ceux mentionnés ci-dessus. Certains essaient même de concevoir des systèmes dans lequel un consensus global n'est pas nécessaire.

En résumé, les DAG doivent notamment résoudre les problèmes suivants :

  • Comment faire pour décider si une transaction est valide ?
  • Comment propager l'information ?
  • Comment classer les transactions une fois que celles-ci sont effectuées ?

Leurs méthodes de consensus étant généralement uniques, il y a relativement peu d'intérêt à les analyser une par une. Sachez simplement que chaque DAG aura une méthode de consensus bien à lui, et qu'il conviendra d'y faire tout particulièrement attention avant d'investir. En effet, certains sont plus centralisés que d'autres...

👉 En apprendre davantage sur les graphes orientés acycliques.

Avantages :

  • Extrêmement rapide, peu importe la taille du réseau.
  • Très efficace d'un point de vue énergétique.
  • Peut être décentralisé si le consensus est bien conçu.

Inconvénients :

  • La conception est très hasardeuse et expérimentale : le réseau de IOTA a par exemple subi une interruption d'un mois en février 2020.
  • Du fait de la nature des contrats intelligents, la plupart des DAG ne permettent pas leur fonctionnement. Toutefois, des solutions ont été trouvées, notamment par Obyte, le premier DAG à permettre l'utilisation de ces contrats intelligents.

Crypto-actif le(s) plus emblématique(s) utilisant ce type de consensus :

 

Avalanche

Avalanche est un nouveau protocole de consensus proposé en 2018 par une équipe anonyme se faisant appeler la Team Rocket. Il se base sur la prise de décision métastable (en équilibre précaire) obtenue grâce à un procédé de chuchotement entre les différents nœuds du réseau.

Selon son principal promoteur, Emin Gün Sirer, il permettrait de réunir les qualités propres aux algorithmes traditionnels (scalabilité) et à l'algorithme de Nakamoto (robustesse).

Une implémentation de cet algorithme devrait avoir lieu dans le projet développé par Avalabs (appelé aussi Avalanche) qui se base sur la preuve d'enjeu et dont le jeton natif est l'AVAX.

👉 En apprendre davantage sur Avalanche.

 

Conclusion

Il existe donc des manières très diverses d'arriver à un consensus sur un réseau distribué, que ce soit au niveau de la méthode de sélection des validateurs ou du type de consensus lui-même. 

Dan cet article, nous en avons cité les principales, mais les possibilités sont quasiment infinies. Il est possible que des algorithmes de consensus novateurs émergent dans les années à venir, tels que l'illustrent le développement des DAG et l’apparition d'Avalanche.

Néanmoins, il faut garder à l'esprit que plus ces nouveaux modèles sont très expérimentaux et peuvent échouer. Ainsi, lorsque vous sélectionnez un crypto-actif pour l'utiliser, prenez garde à bien évaluer son consensus : les systèmes de cryptomonnaie tels que Bitcoin restent aujourd'hui ce qu'il y a de plus sûr dans l'écosystème, malgré les avancées réalisées dans la recherche.

 

Cet article a été mis à jour par Ludovic Lars le 4 août 2020.

 

Note des lecteurs

[Total : 2   Moyenne : 4.5/5]

A propos de l'auteur : Robin Berné

twitter-soothsayerdatatwitter-soothsayerdata

Co-fondateur de Cryptoast, je rédige régulièrement des articles sur le site depuis 2017. Je suis passionné par les crypto-monnaies et je peux passer plusieurs heures par jour à lire et à analyser des documents pour trouver les pépites de demain. J’aime également approfondir mes recherches sur les changements que peuvent apporter les cryptos et les technologies blockchains dans notre vie et nos sociétés, d’un point de vue social et économique.
Tous les articles de Robin Berné.

guest
0 Commentaires
Inline Feedbacks
View all comments