Mécanismes de consensus nouvelle génération

Chapitre IV Article c

Introduction

La blockchain et son trilemme

Le monde de la blockchain change et évolue constamment, tout comme les mécanismes de consensus qui permettent aux différents registres distribués (que sont les blockchains) de fonctionner en toute sécurité. Alors que la preuve de travail (PoW) et la preuve d'enjeu (PoS) sont les deux mécanismes de consensus les plus couramment utilisés, ils ne sont pas les seuls existants.

De la preuve d'enjeu déléguée (DPoS) à la preuve d'autorité (PoA), il existe en effet une série d'autres mécanismes qui offrent leurs propres avantages et inconvénients. Chacun d'entre eux est actuellement exploré pour voir s'il peut apporter une plus grande efficacité dans la résolution du trilemme de la blockchain « décentralisation - sécurité - scalabilité ». Dans cet article, nous allons explorer les différents mécanismes de consensus qui existent au-delà du PoW et du PoS et examiner leurs forces et leurs faiblesses.

Qu'est-ce qu'un mécanisme de consensus ?

Un mécanisme de consensus est le processus par lequel un réseau distribué - tel que la blockchain - s'accorde sur un ensemble de données unique et valide les nouveaux ajouts au registre. Plus concrètement, le mécanisme de consensus fait référence à l'ensemble de règles qu'une blockchain utilise pour valider les transactions et ajouter des blocs à sa chaîne, le tout en restant sécurisée. Chaque blockchain possède son propre mécanisme qui détermine la manière dont le réseau fonctionne et se maintient.

La preuve de travail est le mécanisme de consensus de Bitcoin, le plus célèbre parmi les mécanismes
La preuve de travail est le mécanisme de consensus de Bitcoin, mais de nombreux autres existent

Les nouveaux consensus

Les blockchains utilisent généralement l'un des deux mécanismes de consensus suivants : preuve de travail (Bitcoin) ou preuve d'enjeu (Ethereum), mais il en existe de nombreux autres, qui sont détaillés ci-dessous.

Preuve d'autorité (Proof of Authority, PoA)

Les blockchains qui utilisent le PoA choisissent l'identité des validateurs du réseau. Le modèle de désignation varie d'une blockchain à l'autre, mais l'idée maîtresse est de se reposer sur des validateurs spécifiques, selon des conditions prédéfinies. Imaginez, par exemple, un groupe de banques qui décide de lancer sa blockchain en PoA. Ces banques seraient les seuls validateurs du réseau, et chacune s'assurerait que les autres ne commettent pas d'opérations frauduleuses.

Le nombre de validateurs étant limité, le réseau peut être bien plus rapide et bien moins cher à maintenir que ceux utilisant d'autres méthodes de consensus. D'autre part, ce mécanisme ne requiert quasiment pas de puissance de calcul, puisqu'il n'y a pas de compétition entre les validateurs pour la production de blocs. La force de ce modèle réside donc essentiellement dans sa scalabilité et ses faibles coûts associés.

En revanche, le prix à payer par ce mécanisme de consensus est celui du niveau de décentralisation. Le nombre de validateurs peut varier, mais il est toujours très faible. Concrètement, cela signifie qu'un validateur (ou tous) peut refuser d'inclure des transactions spécifiques, selon l'émetteur, par exemple. La blockchain n'est alors pas résistante à la censure. Les utilisateurs doivent avoir pleine confiance dans les validateurs, car ceux-ci possèdent in fine la mainmise sur le réseau.

La Binance Smart Chain se base sur la preuve d'authorité, gérée par Binance
La Binance Smart Chain utilise ce mode de consensus, en combinaison du DPoS.

Preuve de capacité (Proof of Capacity, PoC)

Alors que le PoW utilise la puissance de calcul des mineurs pour leur faire tester des solutions à un problème cryptographique, la preuve de capacité s'appuie sur leur espace de stockage. Celui-ci est en effet utilisé pour stocker des données cryptographiques susceptibles de produire le prochain bloc. Si c'est le cas, le mineur reçoit la récompense de bloc et celui-ci est ajouté au registre.

Le principal avantage de la preuve de capacité réside dans sa consommation d'énergie, bien moindre que celle du PoW. En effet, le stockage étant bien moins énergivore et cher que la puissance de calcul, on aboutit à une blockchain plus « verte » et moins onéreuse.

La preuve de capacité est, pour le moment, exclusivement utilisé par le réseau Burstcoin.

Preuve d'enjeu déléguée (Delegated Proof of Stake, DPoS)

Ce mécanisme se rapproche de celui de la preuve d'enjeu (PoS), en ceci que les validateurs doivent disposer d'un nombre de jetons stakés afin de pouvoir valider des transactions. Ces jetons sont détruits en cas de comportement frauduleux. Les validateurs sont donc incités financièrement à se comporter de façon honnête. En revanche, là où dans le PoS tout le monde peut devenir validateur, dans le DPoS, seuls des validateurs élus par le vote peuvent remplir cette fonction. Les détenteurs de jetons les « délèguent » aux validateurs élus, souvent en échange d'une partie des récompenses de bloc.

Cette configuration conduit à un nombre plus réduit de validateurs, permettant des transactions plus rapides et une blockchain moins coûteuse en énergie que d'autres mécanismes de consensus.

En revanche, le niveau de décentralisation y varie selon le nombre de délégués du réseau. Plus il est faible, plus la blockchain est centralisée. D'autre part, La confiance qui doit être faite aux délégués est alors plus importante que dans le Proof of Stake. Dans ce dernier, chaque validateur est responsable de son comportement sur le réseau. En DPoS, si vous déléguez vos jetons à un validateur malveillant ou temporairement inactif. Une partie des jetons stakés seront alors détruits, y compris les vôtres, donnés en délégation.

Preuve d'enjeu liquide (Liquid Proof of Stake, LPoS)

La preuve d'enjeu liquide est une itération de la preuve d'enjeu et de la preuve d'enjeu déléguée. Elle diffère en revanche de ces dernières sur plusieurs points :

  • Les détenteurs de tokens ont le choix entre posséder leur propre nœud de validation (type PoS) ou de prêter leurs droits de validation à un validateur (type DPoS) ;
  • Si un détenteur de jetons prête ses droits de validation à une autre entité, il conserve la garde de ses jetons. Il est donc libre d'en disposer à tout moment. Par opposition, la plupart des mécanismes de DPoS imposent une durée plus ou moins longue avant de pouvoir récupérer vos tokens.

De la même manière qu'en DPoS, si vous déléguez vos droits de validation, une partie de vos récompenses sera prélevée par l'entité qui héberge le validateur.

La force du LPoS réside dans sa grande flexibilité. Les utilisateurs peuvent percevoir des revenus passifs sans contrainte de montant minimal à détenir ni de blocage des fonds, le tout en contribuant à la sécurité du réseau. Réseau qui est également bien plus flexible, car la taille de celui-ci peut évoluer avec le retrait ou l'ajout de nouveaux validateurs. A l'inverse, par exemple, du DPoS où le nombre de validateurs est souvent fixe.

En revanche, il demeure un fort risque de centralisation dans ce type de consensus. Les plus gros validateurs peuvent en effet proposer des frais très bas aux utilisateurs qui les choisissent, concentrant la délégation de jetons. Le moins décentralisé le réseau est, le plus celui-ci est vulnérable à une attaque des 51 %.

La LPoS a été créée initialement dans le cadre du projet Tezos
La LPoS a été créée initialement dans le cadre du projet Tezos en 2018 par Arthur Breitman et Kathleen Breitman

Preuve d'activité (Proof of Activity, PoA)

La preuve d'activité est une combinaison de la preuve de travail (PoW) et de la preuve d'enjeu (PoS). Ce mécanisme de consensus vise à tirer parti des avantages de ces deux autres, tout en mitigeant leurs faiblesses respectives. La génération de bloc se fait donc de manière similaire au PoW, les nœuds du réseau tentant de résoudre un problème cryptographique, utilisant la puissance de calcul de leur machine. Une fois le bloc créé, le système désigne les validateurs du bloc, en fonction du nombre de jetons qu'ils détiennent, de manière similaire à la preuve d'enjeu.

La PoA bénéficie d'une forte sécurité contre une attaque sur le réseau, notamment parce qu'il :

  • Demande de la puissance de calcul pour créer le bloc, sans garantie d'y arriver
  • Est impossible de savoir quels validateurs signeront le bloc. En cas de fraude lors de la création du bloc, les validateurs honnêtes rejetteront ce dernier.

En revanche, le PoA ne fait pas l'économie des inconvénients des deux systèmes. La création de bloc étant similaire au PoW, elle demande toujours une forte dépense énergétique (pour la puissance de calcul) et prend un temps non négligeable. La vitesse de transaction est donc plus lente que dans un système PoS par exemple. D'autre part, les mineurs et les validateurs n'ayant pas de récompenses communes, des conflits d'intérêts entre ces deux entités peuvent apparaître.

Preuve de conservation (Proof of Hold, PoH)

Ce type de consensus est très similaire au Proof of Stake. Les validateurs doivent détenir un certain nombre de jetons pour produire les blocs et valider les transactions, les incitant à se comporter de la façon prévue par le processus, en échange de récompenses. En cas de comportement malveillant, des coins sont détruits. Mais détenir les jetons ne suffit pas. Il faut également que ces jetons soient détenus depuis un certain temps. Alors seulement le validateur peut être sélectionné pour produire un bloc. Pour éviter que de très vieux validateurs ne contrôlent le réseau, une probabilité maximale est atteinte au bout d'une période donnée.

Ce mode de consensus est implémenté sur la blockchain PeerCoin. Pour pouvoir espérer y produire un bloc, les jetons doivent être détenus depuis au moins 30 jours. La probabilité maximale est atteinte au bout de 90 jours.

Preuve d'histoire (Proof of History)

Déployée par Solana, la preuve d'histoire est un mécanisme de consensus qui intègre le temps lui-même dans une blockchain, dans le but d'alléger la charge sur les nœuds de réseau, en combinaison avec le Proof of Stake pour la validation des blocs. Pour rappel, une des difficultés majeures des réseaux distribués, tels que les blockchain,s est celui de l'horodatage des événements et de leur ordonnancement. Il est en effet crucial de s'assurer de l'ordre des transactions et de leur irrévocabilité, ce qui dans le cas du PoW, nécessite une quantité de CPU considérable, ce qui rend l'accès au minage coûteux et terme de matériel et de consommation d'énergie.

L'innovation de Solana, à l'origine du PoH, est donc l'encodage du temps directement dans la fonction de hashage, allégeant considérablement la charge sur le réseau. C'est grâce à cette dernière que le réseau Solana est un des plus rapides, en théorie pouvant exécuter jusqu'à 50 000 transactions par seconde. Il est important de souligner que le mécanisme de consensus de Solana s'appuie également sur le Proof of Stake pour la validation, le Proof of History agissant comme une couche supérieure sur le réseau. La VDF (fonction de délai vérifiable) permettant aux validateurs de réaliser des opérations avec très peu de ressources informatiques, la consommation énergétique de la blockchain est très faible.

Le mécanisme de consensus de Solana est ce qui permet à la blockchain d'être si rapide.
Solana est la première blockchain a intégrer l'encodage du temps passé dans son mécanisme de consensus

Preuve de destruction (Proof of Burn, PoB)

La preuve de destruction est un mécanisme de consensus imaginé en 2012 par Iain Stewart, arguant une consommation énergétique trop importante de la preuve de travail et imaginant une solution plus économe.

En PoB, les mineurs n'ont plus à investir leur puissance de calcul pour sécuriser le réseau. En lieu et place, ils doivent envoyer des tokens à des adresses d'ingurgitation. Ces adresses sont générées aléatoirement, sans qu'une clé publique ne leur soit associée. Les tokens ainsi envoyés sont perdus à jamais. En échange, les émetteurs se voient allouer de la puissance de calcul virtuelle sur le réseau, qui permet de valider les blocs, et donc de recevoir les récompenses associées.

Preuve de travail utile (Proof of Usefull Work, PoUW)

Ce mécanisme de consensus vise à rendre plus efficace et rentable le PoW. Dans ce dernier, la puissance de calcul utilisée pour produire de nouveaux blocs n'a pas d'autre vocation que de rendre une attaque sur le réseau extrêmement coûteuse et complexe. Elle est en revanche « perdue » à l'instant même où le bloc est produit, à l'exception du mineur qui récupère les récompenses de bloc. Pour les autres mineurs, c'est même une perte sèche, puisqu'ils n'en retirent rien.

C'est pour résoudre ce problème que le PoUW a été imaginé. Il ne s'agit plus de résoudre une équation cryptographique arbitraire et inutile pour produire un bloc, mais d'utiliser la puissance de calcul ainsi déployée dans un but précis, et donc utile. Pour ce faire, des entités appelées « clients » du réseau soumettent des tâches, et les mineurs ont une chance de produire le bloc suivant en fonction de leur participation à ces tâches. On y retrouve notamment machine learning, intelligence artificielle, génération de rendus, modélisation, ...

Sur le papier, ce modèle semble être plus efficient que le PoW. Mais un problème majeur demeure. Comment s'assurer que les machines effectuent bien des travaux en parallèle et ne travaillent pas toutes sur la même solution, faisant ainsi perdre son intérêt à cette mécanique ? Le fait de toutes les synchroniser induirait un phénomène de latence important, chaque machine devant s'assurer d'être la seule à effectuer ses tâches parmi toutes.

La blockchain Flux a annoncé passer sur ce modèle de consensus en 2022.

Preuve d'importance (Proof of Importance, PoI)

Le PoI se base sur le PoS, mais y inclut de nouveaux éléments dans la détermination du mineur qui produira le prochain bloc. Ceux-ci varient d'une blockchain à l'autre, mais on y retrouve généralement :

  • L'ancienneté du validateur ;
  • Le nombre de transactions et leurs « qualités » ;
  • Le nombre de jetons possédés par le validateur ;
  • D'autres éléments peuvent être pris en compte selon les blockchains.

L'objectif de ce mode de consensus est notamment d'avantager les validateurs fidèles, actifs et honnêtes, qu'on peut donc qualifier « d'importants » pour le réseau.

Ce type de consensus a été introduit par la blockchain NEM, pour « New Economy Network », en 2015, mais n'est pas répandu à grande échelle.

De nouveaux mécanismes de consensus à venir

Pour résumer, le mécanisme de consensus est un des éléments clés de la blockchain. Il permet des transactions sans confiance entre des inconnus et peut être utilisé pour créer des réseaux rapides et efficaces avec des niveaux de sécurité élevés. Si la preuve de travail et la preuve d'enjeu restent les méthodes les plus populaires pour atteindre le consensus sur une blockchain, il existe d'autres moyens, tels que nous l'avons vu dans cet article.

Ceux-ci offrent divers avantages et inconvénients par rapport aux deux mastodontes de l'écosystème, permettant aux développeurs qui les utilisent de poursuivre des buts spécifiques à leur application décentralisée. Comme de plus en plus d'ingénieurs s'intéressent à la blockchain et rejoignent des organisations travaillant dans le secteur, il est probable que nous verrons des formes encore plus innovantes de mécanismes de consensus se développer à l'avenir.

Cet article vous a présenté les principaux mécanismes de consensus au-dela de la preuve de travail et de la preuve d'enjeu. Pour aller plus loin à propos de ces nouveaux mécanismes, consultez les pages dédiées.