La technologie blockchain face à son destin

La technologie blockchain face à son destin

Cette contribution a essentiellement pour objet de faire le point sur les menaces qui pèsent, à plus ou moins brève échéance, sur la technologie BlockChain (BCh).

Il s’agit aussi bien évidemment d’aborder certains des nuages qui s’amoncellent sur la cryptomonnaie bitcoin (BCo). En effet, cette monnaie s’appuie, depuis 2008, sur la technologie BCh comme architecture sous-jacente.

Nous insisterons en particulier sur les dimensions énergétiques, informatiques et technologiques liées à la technologie BCh. Nous n’aborderons donc pas, dans cette première contribution centrée surtout sur la BCh, les divers obstacles – fiscaux, monétaires (liquidité), économiques, juridiques et géopolitiques – qui perturbent l’avenir de l’écosystème BCo et qui peuvent être assez éloignés des aspects informatiques.

L’idée est toutefois d’insister sur l’avenir de ce couple, très médiatique, et de montrer qu’il n’est pas si serein que cela ! L’idée est aussi de bien différencier les deux technologies et leur couplage. Une BCh repensée pourrait certes survivre sans le BCo, mais le BCo n’est rien sans la BCh !

Quelles sont les contraintes à respecter pour produire une chaîne de blocs qui soit éligible et recevable comme garantie ?

Une chaîne de blocs est une combinaison originale de fonctions et mécanismes cryptographiques et de réseaux pair-à-pair (P2P). Des fonctions de hachages (cryptographiques) et des algorithmes de signature à clés publiques sont classiquement utilisés pour générer un bloc. Le réseau P2P (large échelle) est utilisé pour valider le bloc et l’inclure dans la chaîne. L’usage d’un réseau P2P large échelle (à l’image de celui qui fait fonctionner BitTorrent ou encore Skype) garantie une décentralisation complète du système.

Cette décentralisation est aussi garante d’une certaine sécurité puisqu’il faut en substance corrompre 50 % du réseau pour réaliser une attaque. L’inclusion d’un nouveau bloc dans la chaîne doit être relativement rapide afin de ne pas retarder les transactions et d’en faire un système assez réactif. La chaîne de blocs bitcoin produit en moyenne un bloc toutes les 10 minutes alors qu’il ne faut que quelques secondes pour la chaîne Ethereum apparue plus récemment en 2014.

Ce que la chaîne de blocs doit être capable de garantir, c’est la non-duplication des devis virtuels (comme c’est le cas pour les devises physiques) ou encore le cas de la double dépense. Si je vous donne un bitcoin, et bien je ne l’ai plus !

L’opération de chaînage est donc critique puisque c’est elle qui garantit qu’il n’y a pas plusieurs histoires (plusieurs vérités) qui s’écrivent en même temps. La confiance des utilisateurs dans le système va se reposer sur cette opération qui est massivement distribuée de par le monde (et non centralisée).

Decentralized blockchain System. descryptive.com/, CC BY

Quelles sont les implications en terme de calcul à effectuer ?

Ce chaînage nécessite l’usage de fonctions de hachage cryptographiques (MD5, SHA256, SHA512…) qui initialement sont des fonctions assez simples à calculer mais dont le calcul va être complexifié en exigeant une forme particulière de résultat (par exemple X zéros en début de résultat qu’on appelle une empreinte ou hash).

Cette contrainte de résultat est rigoureusement un défi lancé au réseau P2P. Ce défi ne doit être ni trop compliqué ni trop simple pour rester dans les contraintes temporelles énoncées plus haut (par exemple : 10 minutes). C’est là que rentrent en jeu les mineurs (ceux qui forgent les blocs) pour pouvoir réaliser ce défi dans les temps impartis. En donnant la réponse qu’ils ont dû calculer avec une force brute, c’est-à-dire en essayant mécaniquement toutes les combinaisons, ces mineurs fournissent une preuve de travail (PoW pour Proof of Work) qui va leur permettre de forger le bloc. Le mineur qui fournit le résultat en premier gagne le droit de forger le bloc et d’être rémunéré pour cela à hauteur de 12,5 bitcoin par bloc forgé (ce qui génère de facto des nouvelles devises dans le système).

Tous les autres mineurs ont fait tout simplement le calcul et dépensé beaucoup d’énergie… pour rien. Il existe d’autres types de preuves (la preuve de participation notamment) qui s’appuient sur la base du consensus par le vote sans avoir recours à cette force de calcul phénoménale. Il s’agit aujourd’hui de milliards de milliards de hashs à calculer par seconde pour obtenir une preuve de travail dans la chaîne de blocs bitcoin.

Quelles sont les implications en terme de consommation énergétique nécessaire pour mener à bien ces calculs ?

Tentons une mise en perspective historique simple. En 2018, il faut environ 6 000 kWh pour forger un seul bitcoin. En 2014, il ne fallait « que » 240 kWh soit un facteur 25 en simplement 4 ans. En 2020, il faudra « au moins » 14 000 MW pour maintenir la chaîne de bloc sous-jacente au bitcoin (soit la consommation d’un pays comme le Danemark ou le Maroc). Nous abordons là, la question de l’enfer énergétique de l’écosystème bitcoin !

Lorsque le mystérieux créateur du bitcoin publia et diffusa son invention en 2008, vous pouviez forger un bloc tranquillement sur votre PC de bureau. Aujourd’hui c’est terminé ! Les forges à bitcoin sont de nos jours industrialisées au sein d’unités/usines de production qui ressemblent à s’y méprendre à un datacentre sauf que ces installations sont uniquement dévolues aux chaînes de bloc avec du matériel dédié (AntMiner, Avalon…) et composé pour l’essentiel de cartes graphiques très puissantes.

Dans ce contexte, les prix des cartes graphiques ont fortement augmenté avec des impacts non négligeables sur d’autres secteurs comme l’intelligence artificielle (IA) à base d’apprentissage machine qui est aussi un gros consommateur de cartes graphiques.

Ces forges informatiques sont principalement installées en Chine et en Corée. À ce propos et ceci n’est pas anodin pour l’avenir de la monnaie BCo, la Chine elle-même s’est mise à réguler drastiquement les installations sauvage et l’explosion de la consommation électrique (provenant principalement du charbon).

La Suède et l’Islande – pays froids – sont des fers de lance en Europe et ce, pour des raisons principalement calorimétriques à l’image de ce qui existe déjà pour les méga-datacenter.

Face à la folie des forges (qui n’est pas sans rappeler les folles ruées vers l’or qu’a connu l’humanité), l’usage de preuves autres que la preuve de travail apparaît comme une nécessité. La chaîne de blocs bitcoin n’a pas été conçue pour cela au départ. Par exemple, Ethereum, qui a donc démarré six ans après le bitcoin et dont le cours en temps réel est un peu moins volatile, a la possibilité de passer à la preuve, ou tout du moins, à des preuves qualifiées d’hybrides. Une modification du code a été réalisée en automne dernier portant justement sur la notion de consensus et de preuve de participation.

Quelles sont les implications en terme de vulnérabilité liée à l’(im)puissance informatique et à l impact énergétique

Comme indiqué plus haut, il faut corrompre classiquement 50 % du système pour réaliser une attaque à savoir forger un bloc erroné validant potentiellement un/des double(s) dépense(s).

Si nous reprenons les chiffres déjà cités, il faut donc disposer d’environ 7 000 MW (soit entre trois et quatre centrales nucléaires de dernière génération) pour parvenir à ces fins. Ceci est néanmoins tout à fait envisageable à l’échelle d’un pays comme la Chine qui dispose des plus grandes communautés de mineurs. Il faut toutefois se poser la question de l’intérêt même pour un pays de réaliser une telle attaque qui engendrait indubitablement une chute des cours de la cryptomonnaie correspondante. D’autres failles cryptographiques ont été identifiées notamment sur la partie signature de la transaction qui utiliserait des courbes elliptiques non robustes.

Bugs, anomalies, failles… So what ?

La chaîne de bloc est un code informatique par définition. Il comporte de facto des bugs et des anomalies. Les développeur.es des chaînes de blocs doivent pouvoir à tout moment modifier/corriger le code quand cela est nécessaire de manière à le rendre plus robuste. Une validation par consensus (un vote) de l’ensemble de la communauté d’utilisateurs est alors nécessaire.

C’est cette modification qui a permis à la chaîne Ethereum de survivre à l’attaque de juin 2016 en créant une ramification (un fork) qui a remplacé la chaîne de blocs originelle (l’Ethereum Classique) : la théorie évolutionniste de Charles Darwin peut s’appliquer également à une science formelle comme la science informatique ! Les dimensions énergétiques et calculatoires sont à rapidement intégrer avant que le marché – qui n’aime pas l’idée même d’incertitude fusse-t-elle cryptographique – ne le fasse lui-même et ne sonne le glas de cette (ces) aventure(s) !

Love this article? Show your love with a gift to The Conversation to support our journalism.