Le développement des cryptomonnaies est en plein boom et cette démocratisation a cependant un revers : la consommation électrique.
Comme nous l’ont présenté Quentin et Alister lors du dernier #KaizenTalk, le développement de la blockchain par les cryptomonnaies est en plein boom. L’équivalent de la masse monétaire des principales cryptomonnaies (Bitcoin, Etherum, Ripple, Litecoin et Dash) représente pas moins de 70 Milliards de Dollars US. Cette démocratisation a cependant un revers, la consommation électrique.
Petit rappel
La blockchain est un mécanisme qui permet de faire des transactions (au sens large et dans notre contexte des transactions financières) sans avoir besoin d’autorité de confiance. La base de la blockchain ici. L’idée est donc qu’en partageant la totalité de l’historique des transactions entre tous les utilisateurs, il est possible de se passer d’une autorité de confiance (une banque). Cela est rendu possible par l’utilisation d’un mécanisme de calcul mathématique cryptographique (calcul d’un hash). Pour ajouter un nouveau block (une nouvelle transaction), il faut trouver un hash de l’ensemble répondant à des contraintes spécifiques : registre de la blockchain et nouveau block que l’on veut ajouter.
Le Hash
Un hash c’est pratique, c’est très facile à calculer et à vérifier. Seulement pour assurer l’intégrité de la blockchain et donc se passer de l’autorité de confiance il faut faire en sorte qu’un hash soit difficile à trouver pour laisser du temps entre l’ajout de 2 blocks successifs. Pour cela, les cryptomonnaies ont trouvé une astuce. Ils demandent à un hash de forcement débuter par une série de zéros. Comme il existe une multitude de hash pour un nouveau block, cela va prendre du temps avant d’en trouver un qui commence par plusieurs zéros. L’ajout d’un nouveau block est régi par le calcul d’un très grand nombre de hashs de manière aléatoire pour finir par tomber sur un hash avec le bon nombre de zéros.
Miner
La recherche de ce hash est une action que l’on nomme « miner ». En complète analogie avec le vrai mineur, la personne qui trouve de bons hash trouve la pépite d’or (elle a le droit d’ajouter son block à la blockchain). Autrement dit, un nouveau block, donc une nouvelle transaction, a besoin d’un « mineur » pour être ajouté à la blockchain. Pour ajouter un block il faut être le premier à calculer le hash. Le problème est que l’utilisateur lambda qui utilise la blockchain n’est pas en mesure de calculer ce hash. Il doit faire appel à d’autres utilisateurs qu’on appelle mineurs. Les mineurs, passent leur temps à calculer des hashs pour les autres et, en échange de ce service, sont rétribués par la blockchain. Plus ils trouvent de hashs corrects, plus ils seront payés.
Le business étant plutôt lucratif de plus en plus de mineurs offrent leurs services. Pour maintenir le niveau d’intégrité de la blockchain les cryptomonnaies sont obligées d’augmenter la difficulté (le nombre de zéros dans le début du hash). Du coup, les mineurs doivent augmenter leur puissance de calcul. Et ainsi de suite. Aujourd’hui, le business est bien moins rentable, la puissance de calcul pour miner un block est si importante qu’il faut s’associer avec d’autres pour avoir une chance de miner le premier. Il faut alors partager les gains avec les associés (pool). Pour une carte graphique avec 20 MH/s, la rentabilité sur l’Ethereum est d’environ 0.8$ par jour, ce à quoi il faut déduire le prix de l’électricité consommée par la carte graphique.
Si vous avez bien suivi, vous aurez compris qu’un hash se calcule très facilement mais que la complexité réside dans la nature du hash qu’il faut trouver. Il faut donc lancer le calcul d’un hash, vérifier si celui-ci correspond aux exigences et recommencer jusqu’à en trouver un correct. Et faire cela le premier car sinon un nouveau block sera ajouté à la blockchain avant le vôtre ce qui implique que votre calcul du hash n’a plus de sens comme le registre a changé. Le minage nécessite donc l’utilisation de GPUs et non des CPUs pour miner de manière optimale en parallélisant les calculs.
L’impact écologique et quelques chiffres
Aujourd’hui, le minage prend tellement d’ampleur qu’il est difficile d’acheter les cartes graphiques (GPU) ayant les meilleurs rapports calcul de hash vs consommation électrique car elles sont toutes en rupture de stock. Les concepteurs de cartes graphiques commencent à commercialiser des gammes spécifiques pour miner, sans sortie vidéo. C’est toute une industrie qui s’adapte à cette nouveauté.
La puissance générée pour ajouter un block de bitcoin est de 7 441 574 406 GH/s (Giga Hash par secondes). Si bien qu’il est maintenant impossible de miner du bitcoin avec des cartes graphiques conventionnelles. Pour l’Ethereum, la puissance globale vient tout juste de passer les 100 000 GH/s. En sachant qu’une bonne carte graphique comme la 1080 GTX (env 500€) culmine à seulement 20 MH/s, imaginez le nombre de GPU qui effectuent des calculs sans intérêt en permanence sachant que seul le premier à trouver un bon hash sera récompensé. Les autres auront calculé pour rien.
Conclusion
Pour parvenir à ces puissances de calcul énorme, il faut de l’énergie. La consommation énergétique nécessaire au fonctionnement du bitcoin et de l’Ethereum cumulée par an avoisine les 19.16 TWh. Soit la consommation d’une ville de 18 millions d’habitants, comme New-York. C’est considérable, sachant que 99% des calculs qui ont été fait n’ont servi à rien car seul le premier mineur qui trouve le bon hash est rétribué.
Alors la généralisation de ce type de monnaie est impossible ? Heureusement, des solutions existent notamment le changement de type de blockchain, en passant par des méthodes de proof of stake par exemple. La suite au prochain #KaizenTalk et dans le prochain post du Blog ou on parlera Blockchain et IoT.
Sources
Hashrate
Bitcoin difficulty
Consommation
Tuto simple pour comprendre la BC
Retour aux articles