Passer au contenu principal
Toutes les collectionsLes actifs numériques
Qu’est ce qu’un mécanisme de consensus ?
Qu’est ce qu’un mécanisme de consensus ?
Victor GILLIBERT avatar
Écrit par Victor GILLIBERT
Mis à jour il y a plus de 8 mois

Un monde ouvert et décentralisé: un réseau pair-à-pair

La première chose à comprendre au sujet des blockchains (publiques), c’est qu’en tant que bases de données distribuées, elles fonctionnent sur un réseau décentralisé, composé d’un nombre imprédictible de serveurs reliés entre eux et qui appliquent tous les mêmes règles pour arriver à un consensus sur l’état de la base de données à un instant t.

Avant même de savoir comment les transactions ont lieu, il faut donc résoudre en premier lieu un problème informatique essentiel. Comment s’assurer que tous les nœuds (tous les serveurs) de ce réseau ont bien la même version de la base de données ? Comment s’assurer que les mises à jour de cette base de données (les nouvelles transactions ou les nouveaux blocs) sont bien effectuées sur l’ensemble des nœuds de manière similaire ? Comment gérer le fait que des nœuds peuvent entrer ou quitter le réseau à tout instant ? Et finalement, comment faire en sorte qu’un nœud « renégat », qui voudrait diffuser une version erronée ou censurée (sans les dépenses de la personne qui contrôle le nœud par exemple…) de la base de données ne puisse pas le faire ?

Répondre à ces questions est un champ de recherche à part entière de l’informatique : les méthodes de consensus dans les réseaux distribués.

Plusieurs solutions existent, nous allons détailler celle qui est utilisée sur le réseau Bitcoin, puis un autre consensus présent sur d’autres blockchains : la preuve de travail ( proof of work - PoW ), puis la preuve d’enjeu (proof of stake - PoS)

La preuve de travail

L’idée générale de la preuve de travail est finalement assez simple : la version de la blockchain (de la base de données) qui est acceptée comme étant la bonne est celle dans laquelle le plus de puissance de calcul informatique a été investie. Pourquoi ? Parce que dépenser de la puissance de calcul informatique a un coût, en matériel et en énergie et est infalsifiable. Lorsqu’un ordinateur a effectué un calcul complexe, il peut en faire la preuve simplement en fournissant le résultat.

Concrètement: ceux que l’on va appeler Miner (qui vont miner des blocs) vont faire des calculs complexes pour arriver à trouver la solution à un problème posé par la blockchain. Si ils y arrivent avant les autres, alors il leur est permis de prendre les transactions en cours et de les inscrire dans un bloc. Le réseau voit alors le bloc être déployé et éventuellement l’acceptera comme bloc de la blockchain.

Le réseau rémunèrera alors le mineur en lui offrant de la valeur, la cryptomonnaie de la blockchain.

Si à ce stade, le lien entre dépenser de la puissance de calcul et sécuriser le réseau n’est pas clair, c’est normal ! Pour expliquer finement le mécanisme, nous allons devoir entrer un peu dans le détail dans le chapitre suivant - tout devrait s’éclaircir bientôt ! Et nous finirons cette explication avec une simulation.

La preuve d’enjeu

Communément appelée proof of stake, celle-ci est finalement plus simple à comprendre que la preuve de travail. Ici, pas besoin de puissance informatique. Si avant on prouvait notre bonne foi en dépense d'énergie, ici on dépense de la valeur: la cryptomonnaie associée à la blockchain. On met en gage un certain montant, contre lequel il nous est potentiellement octroyé le droit de valider des transactions et de les inscrire dans un bloc.

La mise en gage du montant demandé fait office de caution: si les transactions ne sont pas correctement inscrites, si on essaie de les falsifier, alors l’ensemble du réseau le remarquera, et le bloc créé sera annulé, et notre caution sera reprise: on appelle cela le slashing. Cette méthode de consensus ne nécessite donc pas de matériel particulier, ou de dépense d’énergie (ce qui convient bien dans un monde où l'énergie est rare, couteuse, et sa dépense en partie mauvaise pour la planète, elle est donc appréciée aujourd’hui.).

De la même manière que l’on récompense les mineurs en PoW, on vient aussi récompenser les stakers. Les consensus admettent des particularités selon les blockchains, mais on en arrive souvent à un tirage au sort du stakers qui pourra inscrire le block.

Avez-vous trouvé la réponse à votre question ?