Les mécanismes de consensus sur la blokchain (part I)

Le consensus est au cœur de la gouvernance d’un réseau blockchain.

Selon la définition du dictionnaire le Larousse, un consensus est un « accord et consentement du plus grand nombre, de l’opinion publique ». Dans le contexte de la blockchain, le mécanisme de consensus est le processus qui permet au réseau de se mettre d’accord sur les nouveaux blocs à rajouter au registre. Le registre contient l’historique ordonnée de toutes les transactions qui ont eu lieu dans le réseau. Le contenu du registre de transactions est reconnu comme vrai.

Dans un réseau plus ou moins décentralisé où les intermédiaires n’ont plus lieu d’être, il est nécessaire de dégager, entre chaque nœud, un accord qui ne pourrait souffrir d’aucune contestation. Dans la mesure où toutes les parties prenantes peuvent générer une transaction, quel niveau de confiance peut-on accorder à ce qui sera ajouté au registre? Les blockchains tentent d’apporter une solution à ce problème qui est aussi connu sous la dénomination de « Problème des généraux byzantins » ou encore « Problème de la diffusion cohérente« .

Plusieurs approches seront expliquées dans la suite de l’article. Nous allons commencer par les 3 mécanismes de consensus les plus répandus dans cette première partie.

Prérequis : Mais c’est quoi la blockchain?

Proof of Work (PoW)

La preuve de travail a pour objectif de dissuader des attaques pouvant nuire au réseau, d’éviter des abus de services en exigeant des parties prenantes une puissance de calcul et des traitements complexes pour pouvoir bénéficier d’un service.

Le système requiert des différents nœuds un travail difficilement réalisable mais facilement vérifiable. Ce travail consiste à la résolution de problèmes algorithmiques et cryptographiques. La résolution et la vérification du travail permettent de rajouter des transactions ou des blocs de transactions au registre. Cette action est appelée le minage en référence aux mineurs qui utilisent leur force physique pour réaliser une tâche.

La validation d’un bloc, génère des coins (le cas des blockchains publiques) destinés à récompenser les premiers mineurs qui réalisent cette tâche coûteuse en temps et en énergie.

L’augmentation du nombre de mineurs entraîne une diminution des chances d’être récompenser. Pour y palier, il est parfois nécessaire de s’équiper d’un matériel informatique plus performant et puissant. La difficulté de minage peut entraîner à son tour un effet pervers, celui de l’augmentation quasi exponentielle de la consommation énergétique.

Certaines blockchains publiques implémentent ce type de consensus. C’est le cas du Bitcoin qui a vu sa difficulté de minage explosée. A l’heure actuelle il n’est plus possible pour un particulier d’espérer une récompense, en participant à la validation des blocs, sans un investissement conséquent. Ceci pourrait remettre en cause le principe de décentralisation à long terme.

Exemples : Bitcoin, Ethereum

Proof of Stake (PoS)

La preuve d’enjeu, aussi appelée preuve de participation ou preuve d’intérêt, accorde un intérêt limité à la puissance de calculs. Au lieu d’acheter du matériel informatique coûteux pour miner, une partie prenante du réseau achètera et immobilisera une certaine quantité de crypto-actifs pour pouvoir prétendre valider un bloc et l’ajouter au registre. Il prouve ainsi son intérêt pour le réseau.

Pour valider les blocs, l’algorithme désigne aléatoirement un ou plusieurs validateurs. La probabilité d’être désignée est proportionnelle à la quantité de crypto-actifs immobilisée. Une fois la validation du bloc réalisée, les autres parties prenantes ont le devoir de vérifier la véracité de ce dernier. Ici, les différents nœuds sont en concurrence par la mise sous séquestre de leurs jetons.

Cette approche a une influence sur les parties prenantes. En effet elles ont intérêt à garder la récompense offerte par le système pour avoir plus de chance d’être de nouveau sélectionner.

Cette approche a l’avantage d’être moins coûteuse en énergie. Dans le contexte environnemental actuel, ce mécanisme de consensus est un argument de poids dans le choix de la blockchain et donc des crypto-actifs associés.

Cependant cette approche est moins sécuriser que le PoS et peut présenter des failles si le participant sélectionné n’a pas réellement d’enjeu dans le réseau. Il peut ainsi abuser du système en validant plusieurs versions d’un bloc et rendre ainsi impossible le consensus.

Il existe 2 implémentations : la preuve de participation directe (PPoS) et la preuve de participation déléguée (DPos). Dans le cas du DPoS, il est possible de voter pour un validateur de blocs qui se chargera de valider les blocs à notre place. Toutes les parties prenantes ne sont pas obligés de télécharger l’ensemble de la blockchain, ce qui réduit le nombre d’interactions et par ricochet permet de réaliser un plus grand nombre de transactions.

Exemples : Tezos (xtz) pour le DPoS, Algorand(ALGO) pour le PPoS .

Proof of Authority (PoA)

Avec ce mécanisme, plusieurs machines/entités désignées à l’avance et clairement identifiées s’accordent pour ajouter un nouveau bloc au registre. Il n’est pas question ici de se mettre en concurrence par la résolution de problèmes complexes ou par la mise sous séquestre de coins, mais plutôt en jouant de sa réputation.

Ces autorités deviennent en quelque sorte des modérateurs. Il n’y a pas de récompense (coin) pour le travail fourni. La difficulté de sélection des nœuds qui font office d’autorité est complexe et une collaboration de fond et à long terme de la part des parties prenantes.

Le nombre limité de validateurs a pour avantage de rendre le réseau scalable et peu coûteux en énergie.

Cependant il va à l’encontre de l’idée même de la décentralisation et de l’anonymisation puisqu’il nécessite des validateurs sélectionnés, qu’ils soient identifiés et soit connus. De plus, il ne semble pas si résistant à la censure puisqu’il est toujours possible que les validateurs s’entendent sur un bloc. Ceci peut-être un frein à son adoption par le grand public. On retrouve, en majorité, ce type de consensus dans les blockchains privées.

Son utilisation dans les domaines, où la traçabilité est indispensables, est pertinente. On peut le voir comme une amélioration pratique des systèmes centralisés actuelles.

Exemple : VeChain, Hyperledger

Il existe d’autres mécanismes de consensus que nous verrons dans les articles suivants.

2 commentaires

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s