La révolution Bitcoin, le gadget blockchain
Sous ce titre un peu racoleur se cache une vérité difficile à admettre. Alors que l’on entend parler à tout bout de champ de « technologie blockchain », censée apporter tout à la fois décentralisation, équité et sécurité, il se trouve que l’on cède – encore aujourd’hui – bien trop à une forme de hype légèrement déraisonnable. Pas de doute, lorsque vous entendez parler de « blockchain » sans qu’il vous soit précisé de quelle blockchain il s’agit, c’est qu’on s’apprête à vous servir sans état d’âme un gloubi boulga disparate de choses qui n’ont probablement pas grand chose à voir avec les fondements de la cryptomonnaie reine, Bitcoin.
Pourtant, c’est bien ce mot qui s’est imposé et qui fait consensus, étant désormais utilisé quasi systématiquement pour décrire tous types de registres distribués, du moment que ces derniers se basent – même sans utilité – sur une structure de données en chaîne de blocs. Mais je vais vous révéler un secret. Cette fameuse blockchain n’existe pas !
Avant Bitcoin, la « block chain »
Si tout le monde répète à l’envi que la révolution viendra de la « blockchain », il devient alors capital de mieux expliciter ce que l’on doit désigner par ce terme. En effet, si l’on parle du fait de chaîner des ensembles de transactions et de données les unes aux autres, cette notion était déjà expérimentée dans un brevet US datant de 1976. Lui-même fait référence au mode d’opération de chiffrement par enchaînement de blocs (Cypher Bloc Chaining, ou CBC). Cependant, il est vrai – si l’on ne veut pas tomber dans la mauvaise foi – que l’on a pu aussi retrouver à l’occasion le terme de « block chain » même dans la bouche de bitcoiners historiques : par exemple, Hal Finney l’avait effectivement utilisé lors d’un de ses échanges sur la mythique Cryptography Mailing List :
« Quelqu’un a parlé du fait qu’une transaction transmise au réseau puisse ne pas atteindre tous les noeuds, et c’est vrai. Mais de toute façon, la transaction finira bien dans la chaîne de blocs (block chain) à un moment. »
Si l’on se place spécifiquement dans la sphère purement crypto, ce terme un peu bâtard de la « block chain » (et plus tard, de sa contraction paresseuse blockchain) était utilisé simplement pour parler de la seule structure de données utilisée, notamment sur le forum Bitcointalk. Pour les lecteurs au fond de la salle qui n’auraient pas suivi, rappelons que le Journal du Coin avait proposé cet été une rétrospective complète à propos de ce forum historique de la crypto :
Au hasard des déambulations sur ce forum, l’on pouvait par exemple déjà croiser ce genre de messages équivoques dès 2010 :
« Suivre les transferts entre adresses, peu importe qu’il s’agisse de dons, de commissions ou de simples échanges, c’est d’une facilité déconcertante pour n’importe quel développeur qui voudrait prendre le temps de faire un programme pour pouvoir lire la blockchain. »
Ce qu’il convient de comprendre, c’est que si le terme était déjà identifiable à l’époque, il restait assez rare. Mais surtout, il n’avait absolument pas usité pour désigner une quelconque « technologie ». D’ailleurs, peut-on véritablement considérer le fait de structurer une base de données informatiques à l’aide d’un chaînage de blocs comme une véritable rupture technologique à proprement parler ?
Bien que l’outil soit imparfait, Google Trend permet de se plonger dans le passé de notre Internet et d’observer une tendance sur l’usage du terme blockchain. Ce résultat est plutôt corroboré par les recherches Google. Il est assez clair qu’en 2010, le terme “blockchain” était peu utilisé.
Pour l’anecdote, et pour vacciner tous nos amis qui répètent à l’envi que « la blockchain est la technologie sous-jacente au Bitcoin », notons que l’enregistrement DNS du mythique domain blockchain.org n’a été réalisé que le 8 mars 2011.
Une technologie accaparée par les banques
Comme nous l’avons vu, initialement, ce terme un peu foutraque de blockchain est né comme une simple contraction un brin paresseuse de notre chaîne de blocs en langue anglaise. Du fait de la structure atypique de la donnée concernée, évoquer une « chaîne de blocs » est d’ailleurs stricto sensu correct. Mais tout le souci vient de ce que l’on a bien vite décidé de cacher sous le tapis de ce terme devenant fourre-tout.
C’est courant 2015 que la popularité de « blockchain » a commencé à exploser, dans les suites d’une promotion en fanfare de Blythe Masters. Mme Masters était alors une ancienne opératrice de marché auprès de JP-Morgan Chase et une grande contributrice à la création des couvertures de défaillance. C’est à cette période et devant un parterre de banquiers qu’elle présentera la fameuse blockchain comme étant la technologie utilisée par Bitcoin.
Mais si elle évoque cette technologie, ce n’est pas pour donner à Bitcoin ses lettres de noblesse, bien évidemment : Blythe Masters l’envisage plutôt comme un outil financier à destination des banques. A l’époque, elle gagne une exposition notable suite à un article de Bloomberg, tellement sidérant qu’une phrase unique pourrait le résumer :
« Mme Masters prend le pari que la blockchain, la disruption qui est permise par le fait que tout un chacun puisse acheter et vendre des bitcoins sans avoir besoin d’un intermédiaire, que cette blockchain donc puisse servir à remodeler intégralement tout le monde de la finance traditionnelle. »
Lorsque vous entendez quelqu’un vous répondre qu’il « ne [croit] pas au bitcoin » mais qu’il « [croit] en la technologie blockchain”, sachez que son avis réfléchi lui vient des idées diffusées par Blythe Masters.
“Blockchain”, une erreur conceptuelle
Le terme blockchain est tellement mal à propos qu’il est nécessaire d’y ajouter systématiquement ses autres caractéristiques souhaitées, comme « inaltérable » ou « irréversible » pour le définir… puisqu’en réalité, une blockchain ne respecte pas nécessairement ces caractéristiques d’office. C’est bien pour cette raison que Satoshi Nakamoto utilisait plutôt la notion de « timestamp server » dans le livre blanc de Bitcoin.
Si cette notion vous échappe, il est du coup compréhensible que vous soyez tombés un peu par accident dans le panneau de la sacro-sainte blockchain censée nous sauver de tous les maux dans un semi-délire christique.
Bitcoin trouve son origine dans le but de réussir à résoudre le problème d’une double dépense dans un environnement non coopératif, et sans intermédiaire de confiance.
Le meilleur moyen pour y parvenir aux yeux de Satoshi fut alors d’avoir d’avoir recours à un serveur de temps décentralisé, non falsifiable, devant servir de Grande Horloge atomique du projet tout entier. Du fait de l’environnement non coopératif, cette horloge doit pouvoir résister à la censure – sans dépendre d’un serveur maître – et résoudre le problème mathématique dit des généraux byzantins – aussi appelé le consensus de Nakamoto à preuve de travail.
Le terme de « blockchain » ne dit rien de tout ça. Une structure de chaîne de blocs n’a pas ce type de fonctionnalités capitales, par magie et par défaut. C’est si vrai que Hyperledger n’émet d’ailleurs pas sa propre cryptomonnaie – pourquoi le ferait-elle ? – tandis qu’elle ne repose pas sur un mécanisme de défense purement décentralisé effectif contre la double dépense.
A titre d’anecdote, rappelons que le premier « serveur d’horodatage » distribué a été créé en 1991 par Stuart Haber et W. Scott Stornetta. Ils avaient utilisé la rubrique des petites annonces dans le « New York Times » afin de horodater des documents. Le journal pouvait être ainsi être vu comme une forme de registre distribué aux quatre coins du pays, et inaltérable en tant que registre distribué dans son entièreté.
Cette anecdote illustre simplement à quel point la seule structure d’une donnée n’est pas pertinente pour parler d’une technologie en tant que telle, et encore moins dans le cas de Bitcoin : le terme blockchain n’a alors aucune réelle puissance évocatrice. C’est pour cette raison qu’on a autant de mal à expliquer cette technologie, et qu’elle paraît à beaucoup de monde très complexe : en réalité, il n’en est rien, elle est simplement bien souvent présentée pour ce qu’elle n’est pas.
Ainsi, quand bien même nous nous accorderions pour dire par gentillesse que « la blockchain » serait une technologie, alors cette dernière serait bien fragile, et bien loin d’être inaltérable, infalsifiable ou encore résistante à la censure.
Le temps Bitcoin
Un autre élément entre en jeu, et il est tout autant important : c’est le temps. Spontanément, quand nous analysons les transactions dans un explorateur Bitcoin, nous nous référons à notre plan de référence, c’est-à-dire à notre propre horloge. On peut donc voir qu’il y a en moyenne 10 minutes entre chaque bloc, ou encore qu’une transaction peut prendre plusieurs heures avant d’être réellement considérée comme irréversible.
Pourtant, cette notion n’a pas de sens sur le plan de référence de Bitcoin. En terre de Bitcoin, il n’existe ni jour, ni heure, ni seconde. Il n’existe que des blocs et des mineurs qui sont là pour donner le rythme de l’horloge. Cela peut vous sembler abstrait, mais sachez que les mises à jours planifiées sont basées sur une hauteur de bloc – et donc sur le seul temps Bitcoin. L’ajustement de la difficulté de minage n’y fait pas exception : elle a lieu tous les 2016 blocs, soit à-peu-près toutes les deux semaines de notre temps.
A la recherche du mot perdu
Pour faire une analogie, si Blythe Masters avait fait la promotion d’Internet de la même manière qu’elle fit la promotion de la « blockchain », elle l’aurait certainement nommée « assemblage de segment ». Le terme Internet décrit pourtant parfaitement sa fonction qui est une interconnexion de réseaux.
De la même manière, une chaîne de bloc n’est pas évocatrice de grand chose. Si Satoshi Nakamoto utilisait plutôt « timechain », c’est précisément parce qu’il permettait de remettre la notion de temps au centre du jeu – et des enjeux d’un système de cash pair-à-pair sans intermédiaire. On retrouve d’ailleurs le terme timechain dans le code de la pré-version de Bitcoin.
On se rend bien compte que ce terme est en définitive spécifique aux cryptomonnaies, et qui plus est exclusivement à celles fonctionnant sur une base similaire à Bitcoin. Sont ainsi exclus de fait tout un tas d’autres outils utilisant uniquement une structure de stockage en chaîne de blocs.
Pour reprendre l’exemple d’Hyperledger, ce projet en particulier n’a bien évidemment pas les mêmes objectifs que Bitcoin. En conséquence, il n’est pas surprenant qu’il n’utilise absolument pas les mêmes concepts ! C’est tout simplement parce que ses buts diffèrent trop de ceux de Bitcoin : Heperledger a-t-il le moindre besoin de survivre dans un environnement hostile ? Pourquoi donc lui faudrait-il même faire semblant de résister à une quelconque censure ? Comme tout système informatique, l’utilisation d’un serveur de temps est nécessaire, mais il n’obéit absolument pas aux mêmes contraintes. Tout au plus, et par pure politesse, peut-on englober certains de ces types de fonctionnement dans une vague catégorie disparate d’outils utilisant un registre distribué – puisque force est de le constater, même si leur utilité peut paraître bien plus discutable.
L’utilisation continue du mot blockchain est en réalité la promesse d’une confusion entretenue et perpétuelle. Du fait de celle-ci, on en arrive à répéter « Je crois à la blockchain, mais pas au Bitcoin » alors que cela n’a strictement aucun sens. Dans la même veine, la réalité se retrouve littéralement retournée et distordue lorqu’on explique doctement que « Satoshi Nakamoto a créé la blockchain, et Bitcoin n’est qu’un cas d’usage parmi d’autres ».
Pour quel autre usage qu’une monnaie numérique non souveraine et non censurable – pouvant tout à la fois servir de cash pair-à-pair et de réserve de valeur – pourrait-on bien avoir réellement besoin d’une Grande Horloge distribuée ?