Un algorithme de consensus est un programme informatique ou un ensemble de règles qui fournit une base sur la façon dont le réseau blockchain s’entend sur les transactions à ajouter à son registre. Sans cet accord, le registre serait vulnérable aux attaques connues sous le nom de double dépense (dépenser 2 fois le même dollars). L’algorithme de consensus permet d’assurer que tous les nodes du réseau sont d’accord sur les transactions valides, c’est un composant essentiel de la blockchain.
Prenons un exemple du fonctionnement d'un algorithme de consensus. Disons que vous voulez envoyer de l'argent à quelqu'un. Vous soumettez votre demande de transaction, qui est ensuite envoyée aux nodes du réseau. Certains de ces nodes vont générer des blocs avec des transactions entrantes (légitimes). Appelons ces nodes Generatorset prenons l’algorithme de consensus Proof of Justice comme base de référence pour notre exemple.
Une fois que votre transaction a été établie comme légitime et que d’autres critères sont remplis, par exemple en la faisant valider par un node Enforcer externe, un node Generator l'ajoute au resgistre de la Blockchain sous la forme d'un bloc. Le registre de la Blockchain peut être considéré comme une base de données publique, impossible à modifier, où sont stockées toutes les transactions validées. L'algorithme de consensus garantit que tous les nodes sont d'accord sur les transactions qui doivent être ajoutées à ce registre, de sorte qu'il n'y a pas de fraude ou de litige.
Voyons maintenant pourquoi les algorithmes de consensus sont si importants dans la technologie Blockchain. Chaque nodes du réseau est chargé de conserver une copie du registre, et ils doivent tous se mettre d’accord sur les transactions à ajouter. Sans algorithmes de consensus, il serait difficile de savoir qui a dépensé quel argent et de détecter toute activité frauduleuse. Les algorithmes de consensus permettent de s'assurer que tous les nodes sont d'accord sur les données à stocker dans le registre.
Enfin, les algorithmes de consensus sont également importants pour créer la confiance entre les participants d'un réseau blockchain. Étant donné que les nodes Generators peuvent ajouter que des transactions validées au registre, ils fournissent une couche de sécurité supplémentaire contre les doubles dépenses et autres attaques malveillantes.