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.
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 nœuds 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.
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é.