Bitcoin, ou l'inélégance de la technologie

Read this post in english

La blockchain est une technologie prometteuse. Mais qui reste, pour l’instant, un peu jeune, et inélégante.

L’un de mes amis, un peu geek comme moi, me confiait récemment la frustration qu’il avait ressenti en tentant désespérément, il y a quelques semaines, d’expliquer le concept de l’élégance de la technologie à ses collègues goguenards. Je lui ai témoigné ma compréhension et souris avec compassion puis ai pensé: « D’accord, je vais t’aider dans cette tâche de la plus haute importance. Je vais coucher tout cela sur papier ».

En attendant, j’y ai réfléchi et j’ai réalisé: « Sapristi ! Il n’y a pas de meilleur exemple pour expliquer cela que de parler de blockchain et de crypto-monnaies! ».

Mais avant tout autre chose…

Qu’est-ce donc que ce truc, l’élégance dans la technologie?

Ce concept d’ingénieur maniaque, initialement très lié à la programmation, est en réalité applicable à toute forme de « résolution de problèmes ».

Une solution à un problème sera ainsi considérée comme « élégante » si elle atteint ses objectifs de manière simple, efficace et robuste (c’est à dire prévoyant tous les cas particuliers possibles).

Une solution «inélégante», au contraire, atteindra ses objectifs, mais d’une manière inefficace, trop complexe ou comportant de grandes limites dans ses applications futures.

Pour faire court, le concept peut être très bien imagé par cette brillante citation:

« La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer »

– Antoine de Saint-Exupéry –

Mais quel est donc le lien avec un Bitcoin?

Je suis certain qu’Antoine de Saint-Exupéry n’a pas pensé au bitcoin et aux crypto-monnaies en écrivant ceci (c’était un visionnaire et un génie, mais quand même). Cependant, cette citation s’applique en fait très bien, un siècle plus tard, à la blockchain, au bitcoin et à ses frères et sœurs crypto-monnaies.

Le sujet est délicat…

Arrêtons donc de tourner autour du pot et disons le sans tarder. Pardonnez-moi s’il vous plait, amis adorateurs de la Blockchain.

La blockchain, telle qu’implémentée actuellement, est une technologie « inélégante ».

J’imagine bien que cela ne va pas vous empêcher de dormir! Je dois donc m’expliquer et, plus important encore, expliquer pourquoi ceci a en réalité beaucoup d’importance pour l’avenir de cette technologie.

Pour ce faire, je dois revenir au problème fondateur dont la résolution a permis la création de toutes les blockchain et crypto-monnaies.

Il s’appelle…

Le problème des généraux byzantins!

En voilà un nom bizarre. Voici le dit problème :

Imaginez que 3 généraux (ou plus) assiègent une ville et décident de l’attaquer. Ils doivent, pour cela, s’entendre sur une heure d’assaut exacte pour que leur attaque réussisse. Ils ne peuvent communiquer qu’à travers des messagers. MAIS, les messagers et autres généraux peuvent être des traîtres et les généraux loyaux ne peuvent pas vérifier l’authenticité des messages qu’ils reçoivent.

Concevez maintenant un protocole de communication et d’accord entre tous les généraux (un « protocole de consensus ») qui leur permettrait de se mettre d’accord de manière fiable sur une heure d’attaque et de prendre la ville …

Bien bien, arrêtez tout de suite d’essayer de résoudre ce problème. Enfin vous pouvez essayer, mais comme vous l’avez probablement deviné, c’est un problème d’une effrayante difficulté que vous et moi n’avons aucune chance de résoudre.

Mais, dans une version encore plus complexe, les fondateurs de Bitcoin (et donc de la blockchain) l’ont résolu, permettant aux propriétaires de bitcoin («les généraux») de parvenir à un consensus sur les transactions légitimes («l’heure de l’attaque») malgré la possible présence de nombreux intervenants malveillants ( les « généraux traîtres » ) ou de transactions corrompues ( les « messagers traîtres » ).

Ils ont réussi en termes barbares à « atteindre un consensus sans confiance sur un réseau distribué ». Je sais, cela sonne très technique, mais c’est comme ça qu’ils l’appellent!

Ce n’était pas une chose facile. Et ce travail constitue donc une formidable réussite et un immense progrès en matière de technologie de l’information. Ils ont trouvé une première solution. La blockchain « fonctionne ».

Eh bien ça fonctionne, mais c’est « inélégant »

Ne vous méprenez pas, je ne peux pas faire mieux. Oulà non. Ce sont des génies, pas moi.

Mais la solution qu’ils ont trouvée a malheureusement d’énormes limites, ce qui la rend inélégante certes, mais surtout, et c’est là le vrai problème, probablement incapable de survivre dans sa conception actuelle.

La solution qu’ils ont trouvée s’appelle le système de consensus par « proof-of-work » (ou preuve de travail). Cette méthode est utilisée dans presque toutes les blockchain actuelles  (une autre méthode appelée consensus par « proof-of-stake » existe, mais présente d’autres inconvénients et reste très peu utilisée pour le moment). Je ne vais pas rentrer dans le détail du fonctionnement de cette méthode, ce serait hors sujet.

Mais je peux expliquer simplement pourquoi cette méthode de consensus, cette solution, présente deux inconvénients majeurs qui obscurcissent son avenir :

  1. Tout d’abord, elle requière une quantité croissante de puissance de calcul informatique. Et cette croissance est en théorie illimité! Cette méthode repose entièrement sur l’obligation pour les intervenants (« les généraux ») de faire travailler leurs ordinateurs de plus en plus fort.  Cette puissance augmente avec le nombre d’utilisateurs, et elle augmente avec le nombre de transactions. Bref, elle augmente tout le temps. Et cette puissance informatique, donc l’électricité utilisée pour la produire, est énorme. La blockchain, telle qu’elle est conçue actuellement, est limitée en taille et est limité dans le temps. Et je ne parle même pas de son empreinte carbone, problématique pour dire le moins.
  2. Cette méthode est vulnérable à une attaque appelée l’attaque des 51%, ce qui signifie que des participants malveillants possédant plus de 51% de la puissance de calcul du réseau peuvent en prendre le contrôle et faire à peu près ce qu’ils veulent. Je suis sûr que vous comprenez pourquoi cela est « gênant ». Bien que cela soit pragmatiquement infaisable sur les grandes blockchain (comme le bitcoin) où le réseau est trop étendu pour cela, il s’agit en revanche d’une réelle préoccupation pour les petites chaînes. De plus, la concentration croissante des mineurs dans certaines chaînes, en particulier Ethereum, où les deux plus grands « pool de minage » génèrent plus de 40% des transactions, rend ce problème encore plus pressant. Et je ne parle même pas du fait que 80% des mineurs du monde se trouvent en Chine, ce qui est problématique, pour dire le moins.

C’est pourquoi on peut dire que la technologie utilisée pour faire fonctionner les blockchain, malgré sa complexité et sa finesse, est encore, dans son état actuel, peu élégante et non viable.

Mais ceci ne présage bien sûr en rien de son avenir! La réalité est que cette technologie est extrêmement prometteuse, bien qu’encore à ses balbutiements. La recherche universitaire et privée sur le sujet se poursuit et j’espère qu’une solution fiable, durable, évolutive et élégante sera trouvée, car les applications potentielles sont innombrables et extrêmement positives.

En fait, le plus gros problème de cette technologie, ce sont les cryptomonnaies, qui ont suscité beaucoup trop d’intérêt, un intérêt malsain, cupide et impatient, pour une technologie bien trop jeune. Une spéculation brutale et des comportements prédateurs se sont immiscés dans ce qui aurait dû rester une communauté académique, progressiste et ouverte de penseurs et de chercheurs.

L’idée de la blockchain est bien là pour rester, mais elle est encore loin d’être parfaitement « élégante ». J’espère qu’elle le deviendra bientôt.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.