Le Proof of Work ou “preuve de travail” est un algorithme de consensus largement utilisé au sein des réseaux distribués tels que le Bitcoin. Zoom sur ce mécanisme permettant aux utilisateurs et aux machines de se coordonner, mais avant, voici les éléments importants à retenir :
- Les mécanismes de consensus garantissent que tous les participants d’un réseau s’accordent sur une version unique et cohérente de l’information, malgré la présence de failles, erreurs et acteurs potentiellement malveillants.
- Le PoW sécurise la blockchain en validant les transactions et en créant de nouveaux blocs via la résolution de problèmes informatiques complexes. Le coût élevé de cette activité décourage les validateurs à attaquer le réseau.
- Beaucoup reprochent au PoW d’être un désastre écologique à cause de la consommation énergétique nécessaire à son fonctionnement. Le haut niveau de sécurité qu’il procure rend ce modèle de consensus lent et peu scalable.
C’est quoi le PoW ?
Par où on commence ?
PoW : un peu d’histoire
Aux origines du PoW
Contrairement à ce que l’on pourrait penser, la Preuve de Travail (PoW) n’est pas née avec le Bitcoin. Cet algorithme de consensus a fait son apparition aux débuts d’Internet. Son objectif était alors de contrer les attaques par déni de service et les abus comme les spams dans un environnement client-serveur.
Son principe repose sur l’asymétrie du coût de mise en œuvre, rendant la tâche difficile pour l’auteur de la requête (ou le «prouveur»), mais facilement vérifiable pour le serveur (ou le vérificateur). Cette asymétrie peut se traduire par un temps d’attente minimal, un problème mathématique à résoudre, ou même une taxe symbolique.
HashCash, l’ancêtre du Bitcoin ?
L’un des premiers exemples d’application du PoW est Hashcash, un système anti-spam qui fut développé en 1997. Dans Hashcash, le contenu de chaque e-mail est chiffré selon un algorithme coûteux en calcul pour l’expéditeur, rendant le publipostage massif pratiquement impossible.
Envoyer un unique courriel est alors peu coûteux, mais envoyer de grandes quantités nécessite une quantité de calcul si importante qu’elle devient inenvisageable. Le destinataire, quant à lui, peut facilement déchiffrer l’e-mail. L’un des inconvénients majeurs de ce système est la consommation en énergie et le temps de processeur requis pour l’expéditeur.
Les algorithmes de consensus
Qu’est ce qu’un mécanisme de consensus ?
De manière générale, un algorithme de consensus est un mécanisme utilisé dans les systèmes informatiques pour obtenir un accord général sur une valeur ou un état particulier au sein d’un réseau décentralisé. Cela permet de s’assurer que toutes les parties du système travaillent avec les mêmes données, malgré la présence potentielle de défaillances ou de comportements malveillants.
Dans le contexte de la blockchain et des cryptomonnaies, les algorithmes de consensus garantissent que les transactions sont traitées et enregistrées de manière cohérente sur l’ensemble du réseau via la création de nouveaux blocs se rajoutant aux autres. Cela élimine la nécessité d’une autorité centrale, permettant à chaque nœud du réseau de vérifier et de valider indépendamment les informations.
Pour rappel, un nœud sur le réseau Bitcoin est un ordinateur qui participe au réseau en maintenant une copie complète de la blockchain et en respectant les règles du protocole Bitcoin. Les nœuds jouent un rôle essentiel dans la décentralisation et la sécurité du réseau Bitcoin, en garantissant que toutes les transactions et les blocs respectent les règles consensuelles.
Le PoW au service du Bitcoin
La Preuve de Travail (PoW) est au cœur du fonctionnement de Bitcoin, permettant de sécuriser la blockchain et de la valider les transactions. Les mineurs utilisent la puissance de calcul de leurs processeurs (CPU) ou cartes graphique (GPU) pour résoudre des problèmes mathématiques complexes, une tâche qui nécessite du temps et de l’énergie.
La résolution de ces équations permet de valider les transactions, assurant leur légitimité et empêchant la double dépense, où une même cryptomonnaie serait utilisée plus d’une fois. Le PoW rend cette fraude pratiquement impossible, car altérer un bloc nécessiterait de recalculer les preuves de travail pour ce bloc et tous ceux qui suivent, une tâche inabordable en termes de temps et de puissance de calcul.
Le problème des généraux byzantins
Pour comprendre le rôle du PoW, et plus largement des mécanismes de consensus, il est essentiel de comprendre un problème. C’est le problème des généraux byzantins.
Il s’agit d’une métaphore utilisée dans le domaine de l’informatique pour décrire les difficultés liées à la prise de décisions consensuelles au sein d’un système décentralisé. Imaginez plusieurs généraux devant coordonner une attaque, mais séparés par de grandes distances et seulement capables de communiquer par des messagers peu fiables. Certains généraux peuvent même trahir les autres. Le défi est de parvenir à un consensus sur l’heure de l’attaque, même en présence de généraux déloyaux et de communications peu fiables. Ce problème illustre les défis rencontrés dans les réseaux décentralisés où la confiance et la fiabilité ne sont pas garanties.
Le PoW, la réponse à ce problème
En exigeant que les participants (les mineurs) résolvent des équations mathématiques complexes pour valider les transactions et créer de nouveaux blocs, le PoW assure que tout accord sur l’état du réseau exige un effort et une ressource tangibles. Cela rend la tricherie et la fraude non seulement difficiles mais aussi coûteuses.
Ainsi, le PoW permet de créer un consensus au sein du réseau, même lorsque certains participants pourraient avoir des intentions malveillantes, offrant ainsi une réponse robuste au défi posé par le problème des généraux byzantins. Malgré des nœuds corrompus ou malveillants, une blockchain doit pouvoir continuer à fonctionner.
Le minage, au cœur du PoW
Le rôle des mineurs
Nous parlions plus haut des mineurs ou « validateurs ». Ce sont eux qui assurent la sécurité du réseau et la création de nouveaux blocs via la résolution d’énigmes informatiques complexes mais facilement vérifiables. De ce fait, lorsqu’un « mineur » trouve la solution, il l’expose aux autres nœuds. Ceux-ci peuvent donc valider les données afin que le bloc puisse être créé par le « mineur » ayant trouvé la solution.
Ce problème mathématique est appelé le hash puzzle et consiste à trouver une valeur de hachage qui réponde à certaines conditions prédéfinies. Les mineurs utilisent leur puissance de calcul pour essayer différentes valeurs de hachage jusqu’à ce qu’ils trouvent la bonne. La difficulté de ce problème est ajustée automatiquement en fonction du taux de hachage du réseau pour garantir que les blocs sont ajoutés à un rythme régulier. Par exemple, le niveau de hachage du Bitcoin relève de la fonction de hachage SHA256, soit 64 caractères hexadécimaux (0123456789abcdef) entièrement aléatoires.
Le hachage
Pour rappel, une fonction de hachage est une fonction mathématique qui prend en entrée une quantité de données (comme un fichier, un message, ou un bloc d’informations) et produit une valeur fixe et unique, souvent appelée “hash“. Cette valeur doit être la même pour les mêmes données en entrée, mais doit changer de manière significative même pour une modification minime des données.
Le processus est conçu pour être à sens unique, ce qui signifie qu’il doit est pratiquement impossible de retrouver les données d’origine à partir de la valeur de hachage.
La récompense
Nous en parlions au début de la page, la preuve de travail repose sur l’accomplissement d’une tâche, un coût de mise en œuvre du mineur. La mise en jeu du PoW pour le Bitcoin réside dans la puissance électrique. Le coût énergétique peut donc être élevé et coûteux pour les mineurs.
Ainsi, les « mineurs » sont mis en concurrence pour la résolution la plus rapide du problème informatique. Celui réussissant le challenge obtient un certain nombre de BTC à la création du bloc. À cela s’additionnent les frais de transaction, qui sont redistribués.
Le fameux halving
Le “halving” (ou division par deux) est un événement programmé dans le protocole de certaines cryptomonnaies comme Bitcoin, où la récompense pour miner un nouveau bloc est réduite de moitié. Cela réduit le taux auquel de nouvelles monnaies sont créées et, par conséquent, réduit l’offre de nouvelles monnaies entrant en circulation.
Dans le cas de Bitcoin, le halving se produit tous les 210 000 blocs, ce qui prend environ quatre ans. Le dernier halving de Bitcoin a eu lieu en mai 2020, réduisant la récompense de minage de 12,5 à 6,25 bitcoins par bloc.
Ce mécanisme est conçu pour simuler la rareté et l’inflation contrôlée, semblable à la manière dont l’or est miné dans le monde réel. Le halving contribue à assurer que la quantité totale de Bitcoin n’excédera jamais 21 millions, ajoutant ainsi une pression déflationniste et pouvant avoir un impact sur le prix de la monnaie.
Avantages et inconvénients du PoW
Avantages du PoW
Sécurité élevée
La robustesse du Proof-of-Work (PoW) est en grande partie attribuable à l’utilisation du SHA-256, un algorithme de hachage cryptographique utilisé dans bien d’autres contextes que que celui de la blockchain. Lorsqu’une donnée est passée à travers cet algorithme, elle est transformée en une chaîne de 64 caractères «aléatoires». Cette complexité rend pratiquement impossible la prédiction ou la réplication du résultat sans avoir la donnée originale, conférant ainsi au réseau Bitcoin une sécurité renforcée contre les attaques et rendant coûteuses et complexes les attaques potentielles.
Décentralisation
Le PoW permet une participation décentralisée, car n’importe qui peut devenir mineur en investissant dans de la puissance de calcul. Cela garantit que le consensus est atteint de manière équitable, sans qu’une seule entité puisse contrôler le réseau. Pas besoin de diplômes, de KYC (vérification d’identité), ou autre. Seulement, de nos jours, l’investissement initial nécessaire est très important pour espérer avoir une chance de résoudre le puzzle cryptographique et obtenir une récompense en BTC.
Enfin, ce n’est pas tout à fait vrai. Des pools de mining existent afin que les petits acteurs puissent mettre en commun leur puissance. Grâce à cela, tous les nœuds peuvent prétendre au titre de « mineurs » dans le but d’obtenir des récompenses. Au sein d’un pool de mining, les récompenses sont partagées selon la proportion de votre apport dans la pool.
Intégrité de la blockchain
De part la sécurité qu’il procure, le PoW garantit que la chaîne de blocs est stable, car les mineurs sont incités à maintenir l’intégrité de la chaîne en raison de la récompense financière qu’ils reçoivent pour leur travail. Cela signifie que les transactions sont confirmées et que les blocs sont ajoutés régulièrement, créant ainsi une chaîne de blocs stable et qui garantit l’authenticité des données qui y sont enregistrées.
Inconvénients
Consommation d’énergie élevée
Le minage via le Proof of Work (PoW) est particulièrement gourmand en énergie. Les équipements nécessaires pour ce processus, en plus d’être hautement spécialisés, sont également coûteux, ce qui conduit à des dépenses importantes pour les mineurs.
Mais le véritable coût réside dans la consommation d’électricité : le PoW exige d’énormes quantités d’énergie pour résoudre les énigmes cryptographiques, un facteur qui a suscité de vives critiques au regard des préoccupations environnementales actuelles. Selon Le Monde, les coûts électriques représenteraient 75% du minage. Cette forte consommation énergétique, combinée au coût élevé des équipements, met en lumière une facette de plus en plus discutée des cryptomonnaies, à savoir leur impact environnemental.
Scalabilité (très) limitée
Le Proof of Work (PoW) présente plusieurs caractéristiques qui, bien que cruciales pour la sécurité et la fiabilité des blockchains, posent des défis en matière de scalabilité. D’abord, le PoW exige la résolution de problèmes cryptographiques avant d’intégrer un nouveau bloc, instaurant un temps de traitement prédéfini, comme les 10 minutes du Bitcoin, qui induit un délai dans la validation des transactions. Ensuite, cette méthode est gourmande en énergie et en ressources matérielles.
Avec la montée en difficulté des énigmes à résoudre, la barrière à l’entrée pour les mineurs se renforce, orientant le minage vers une centralisation potentielle. Par ailleurs, la capacité fixe des blocs dans de nombreux systèmes PoW limite le nombre de transactions traitables à la fois, générant des engorgements durant les pics d’activité. Enfin, cette restriction engendre une compétition pour l’espace disponible dans les blocs, poussant les utilisateurs à surenchérir leurs frais pour que leurs transactions soient traitées en priorité, ce qui peut rendre les coûts prohibitifs.
Centralisation potentielle
Le côut énergétique a conduit à des problèmes potentiels de centralisation. Les entités dotées d’importants capitaux sont naturellement avantagées, car elles peuvent s’offrir le matériel de pointe et négocier des tarifs électriques préférentiels. De nombreux mineurs, afin d’accroître leurs chances d’obtention de récompenses, ont formé des “pools de minage”, consolidant de ce fait leur puissance de calcul.
Cette dynamique a renforcé le poids de ces pools sur le réseau, accentuant les risques de centralisation. La complexité croissante du PoW a par ailleurs constitué une barrière pour les petits mineurs, avantageant davantage les acteurs dominants. De surcroît, l’inégalité des coûts énergétiques mondiaux a vu une concentration géographique des mineurs dans certaines régions, érodant ainsi l’idéal de décentralisation des cryptomonnaies.
Quel avenir pour le PoW ?
Le modèle PoW jouit d’une robustesse inégalée aujourd’hui. Cependant, d’autres mécanismes tendent à évoluer et se perfectionner. Ceux-ci ont pour but de rendre les blockchains plus sécurisées, décentralisées et plus écologiquement responsables. Parmi ces solutions, celle du PoS apparaît comme le PoW-killer. Le PoS a d’ailleurs séduit la blockchain Ethereum, grand N•2 du monde décentralisé. Alors, quel avenir pour le PoW ? Celui-ci réussira-t-il à garder sa place de mécanisme il détrônable grâce au Bitcoin ? Où se verra-t-il peu à peu remplacé ?