Qu'est ce qu'un algorithme de consensus blockchain?

13.12.2018

uploads/Im5XZwPxMs5lhlZ2yT0N.png

Dans le contexte des crypto-monnaies, les algorithmes de consensus sont un élément crucial de chaque réseau blockchain, car ils sont responsables du maintien de l'intégrité et de la sécurité de ces systèmes distribués. Le premier algorithme de consensus crypto-monnaie à avoir été créé était le Proof of Work (PoW), conçu par Satoshi Nakamoto et mise en œuvre sur Bitcoin comme un moyen de surmonter les erreurs byzantines.


Algorithme de consensus

Un algorithme de consensus peut être défini comme le mécanisme par lequel un réseau Blockchain parvient à un consensus. Les blockchains publiques (décentralisées) sont construites en tant que systèmes distribués et, puisqu'ils ne dépendent pas d'une autorité centrale, les nœuds distribués doivent se mettre d'accord sur la validité des transactions. C’est là que les algorithmes de consensus entrent en jeu. Ils s'assurent que les règles du protocole soient respectées et que toutes les transactions aient lieu de manière fiable, de sorte que les coins ne puissent être dépensées qu'une seule fois.

Avant de plonger dans les différents types d'algorithmes de consensus, il est important de comprendre les différences entre un algorithme et un protocole.


Algorithme de consensus vs protocole

Les termes algorithme et protocole sont souvent utilisés de manière interchangeable, mais ils ne désignent pas la même chose. En termes simples, nous pouvons définir un protocole en tant que l’ensemble règles principales d'une blockchain et un algorithme en tant que mécanisme par lequel ces règles seront suivies.

En plus d'être largement utilisée sur les systèmes financiers, la technologie blockchain peut être mise en application dans une grande variété d'entreprises différentes et peut convenir à différents cas d'utilisation. Mais quel que soit le contexte, un réseau blockchain sera construit sur un protocole définissant le fonctionnement supposé du système, de sorte que toutes les parties du système et tous les participants du réseau devront respecter les règles du protocole sous-jacent à ce système.

Alors que le protocole détermine les règles, l'algorithme indique au système les étapes à suivre pour se conformer à ces règles et produire les résultats souhaités. Par exemple, l'algorithme de consensus d'une blockchain est ce qui détermine la validité des transactions et des blocs. Ainsi, Bitcoin et Ethereum sont des protocoles, tandis que les algorithmes de consensus Proof of Work et Proof of Stake sont leur algorithmes de consensus.

Pour illustrer davantage, considérons que le protocole Bitcoin définit la manière dont les noeuds doivent interagir, la façon de transmettre les données entre ces derniers et les exigences pour une validation de bloc réussie. D'autre part, l'algorithme de consensus est responsable de la vérification des soldes et des signatures, de la confirmation des transactions et de l'exécution réelle de la validation des blocs - et tout cela dépend du consensus du réseau.


Différents types d'algorithmes de consensus

Il existe plusieurs types d'algorithmes de consensus. Les implémentations les plus courantes sont PoW et PoS. Chaque solution présente des avantages et des inconvénients lorsqu’elle tente d’équilibrer sécurité, fonctionnalité et scalabilité.


Preuve de travail (PoW)

PoW était le premier algorithme de consensus à avoir été créé. Il est utilisé par Bitcoin et de nombreuses autres crypto-monnaies. L'algorithme de preuve de travail est une partie essentielle du processus de minage.

Le minage via PoW implique de nombreuses tentatives de hachage, donc plus de puissance de calcul, ce qui signifie plus d'essais par seconde. En d'autres termes, les mineurs avec un taux de hachage élevé ont de meilleures chances de trouver une solution valable (alias hachage de bloc) pour le bloc suivant . L'algorithme de consensus PoW garantit que les mineurs ne peuvent valider un nouveau bloc de transactions et l'ajouter à la blockchain que si les nœuds distribués du réseau parviennent à un consensus et conviennent que le hachage de bloc fourni par le mineur est une preuve de travail valide.


Preuve de particiation (PoS)

L'algorithme de consensus PoS a été développé en 2011 en tant qu'alternative au PoW. Bien que le PoW et le POS partagent des objectifs similaires, ils présentent des différences et des particularités fondamentales. Surtout lors de la validation de nouveaux blocs.

En quelques mots, l’algorithme de consensus Proof of Stake remplace le minage PoW par un mécanisme dans lequel les blocs sont validés en fonction du nombre de coins verrouillés en stake par les participants. Le validateur de chaque bloc (également appelé forgeur) est déterminé par un investissement de la crypto-monnaie en elle-même et non par la quantité de puissance de calcul allouée. Chaque système PoS peut implémenter l'algorithme de différentes manières, mais en général, la blockchain est sécurisée par un processus d'élection pseudo-aléatoire prenant en compte la richesse du nœud et l'âge des coins (le temps pendant lequel les pièces sont verrouillées) auxquels s’ajoute un facteur de randomisation.

La blockchain Ethereum est actuellement basée sur un algorithme PoW, mais dans le futur, le protocole Casper sera par la suite mis en place pour basculer le réseau d’un algorithme PoW vers un algorithme PoS afin d’augmenter sa scalabilité.


En quoi les algorithmes de consensus sont-ils importants pour les crypto-monnaies?

Comme mentionné précédemment, les algorithmes de consensus sont essentiels au maintien de l'intégrité et de la sécurité d'un réseau de crypto-monnaie. Ils fournissent aux nœuds distribués un moyen de parvenir à un consensus incontestable sur le registre de la blockchain. S'accorder sur cette immuabilité de la blockchain est essentiel au bon fonctionnement d'un système économique numérique.

L’algorithme de consensus Proof of Work est considéré comme l’une des meilleures solutions au problème des généraux byzantins, qui a permis la création de Bitcoin en tant que système tolérant aux pannes byzantines. Cela signifie que la blockchain Bitcoin est très résistante aux attaques, comme l’attaque à 51% (ou l’attaque majoritaire). Non seulement parce que le réseau est décentralisé, mais aussi grâce à l'algorithme PoW. Les coûts élevés liés au processus de minage rendent très difficile et improbable le détournement des mineurs dans le but de perturber du réseau.

Loading