S'il est une tendance technologique qui pourrait s'avérer encore plus perturbatrice et durable que le cloud, c'est bien la blockchain. Alors que le cloud remet en question la manière de concevoir les logiciels et transforme le fonctionnement opérationnel des entreprises, la technologie blockchain modifie potentiellement la manière dont on envisage et traite les transactions, l'authentification, etc. Outre sa capacité à servir de socle aux crypto-monnaies, la blockchain pourrait influencer de manière fondamentale la façon de soumettre et d’enregistrer les contrats. Tout le monde reconnaît la nature révolutionnaire de la blockchain et des crypto-monnaies qu'elle rend possible. Et quand on essaye d’imaginer quelles technologiques pourraient avoir le plus d’influence à l’avenir, la blockchain est sans nul doute celle qui s’impose. Elle pourrait même être l'innovation la plus importante depuis Internet. Mais qu'est-ce que la technologie blockchain et pourquoi est-elle potentiellement si transformatrice ?
L’intérêt des transactions décentralisées
Il est difficile de construire des systèmes logiciels distribués. Cette difficulté tient essentiellement aux données qu’il faut protéger, rendre disponibles, stocker. Même si les êtres humains et leurs tentatives de tromper le système sont en grande partie à l’origine du problème, il existe également une difficulté objective inhérente à surmonter les défaillances et maintenir la cohérence des données (voir par exemple le théorème de Brewer). Chaque fois que des données sont envoyées ou récupérées - que ce soit un message sur un déjeuner ou la vérification du solde d’un compte bancaire -, elles sont soumises à ces aléas. Si le cas est important, le compte bancaire par exemple, la solution classique pour sécuriser et s'assurer de l'exactitude des données est de passer par un agent de confiance, la banque dans le cas présent. La version distribuée des services bancaires combine des pratiques traditionnelles de gestion financière avec l’lnternet. On faisait confiance à la banque pour conserver et récupérer nos informations financières.
Les limites de cet arrangement sont exposées dans le livre blanc sur le bitcoin qui a déclenché le raz de marée cryptographique (document fondateur de la crypto-monnaie, l’article « Bitcoin : un système de paiement électronique pair-à-pair » de Satoshi Nakamoto propose le premier réseau blockchain public et réel). Les critiques de M. Nakamoto à propos des « faiblesses inhérentes au modèle basé sur la confiance » sont liées au fait que « les transactions non réversibles ne sont pas possibles ». En d'autres termes, les banques sont tenues de jouer le rôle de médiateur en cas de litige, ce qui a pour effet de diluer la confiance et de faire grimper les coûts. Pour un livre blanc qui décrit une véritable alternative à la banque traditionnelle, cette critique est assez modérée. La plupart d'entre nous pourraient facilement trouver d'autres problèmes : à commencer par des frais surprenants et une interaction avec des structures d'entreprises byzantines. En outre, ces structures constituent des obstacles importants à la participation au système financier pour les acteurs privés de leurs droits. Le document sur le bitcoin propose une alternative : un « système de paiement électronique basé sur la preuve cryptographique plutôt que sur la confiance ».
La signature cryptographique
Le mécanisme central d'un tel réseau est constitué de paires cryptographiques utilisées pour signer les transactions. Les propriétaires d'une monnaie électronique (ou plus généralement, un état numérique) transmettent la monnaie (ou l'état) aux acheteurs avec leur clé publique et se vérifient eux-mêmes avec leur clé privée. Chaque transaction porte également un hachage de la transaction précédente et la clé publique du propriétaire (voir figure 1). Si tous les participants au réseau opéraient de bonne foi, les chaînes de transactions seraient déjà sécurisées (c'est-à-dire que le système serait à l'abri d'une falsification externe directe grâce à la signature cryptographique). Le point faible, c’est que les propriétaires de la monnaie pourraient tromper le système en la dépensant plus d'une fois. Un acheteur n'a aucun moyen de savoir si la monnaie qu'il achète a déjà été dépensée.
Résoudre ce problème sans se replier sur une autorité centrale n'est pas une mince affaire. Il faut que tous les participants du réseau prennent connaissance de toutes les transactions et de leur ordre d'apparition. Si l’on pouvait y parvenir, les nœuds pourraient alors n'accepter que la première instance d'une transaction et rejeter toutes les autres. Pour résoudre le problème dit de double dépense, le livre blanc sur le bitcoin a proposé la blockchain comme mécanisme. L'idée centrale est que les transactions sont rassemblées dans un ensemble (un « bloc ») et que les nœuds du réseau déploient des efforts computationnels pour calculer une valeur difficile à résoudre. La valeur - un nonce - est un nombre arbitraire utilisé une seule fois dans une communication cryptographique. Quand il est haché, le nonce produit une valeur comportant un certain nombre de zéros de tête. Chaque bloc fait également référence au hachage du bloc précédent. Cette configuration signifie que les transactions sont acceptées dans des blocs qui sont vérifiés avec un effort computationnel. Chaque nouveau bloc rallonge la chaîne résultant de ce calcul.
La vérité du consensus
Pendant que chaque nœud travaille pour valider son bloc de transactions, les autres nœuds font de même. Si un nœud donné reçoit un bloc concurrent du réseau, il enregistre ce bloc sur une chaîne concurrente et continue à travailler sur sa propre chaîne. Si le nœud reçoit suffisamment de nouveaux blocs sur la chaîne concurrente, il abandonne son travail et accepte la chaîne concurrente comme étant la vérité. Si le nœud actuel termine son travail avant que la chaîne concurrente ne soit confirmée, le nœud actuel diffuse son effort au réseau. Les autres nœuds se comportent de la même manière pour valider cette affirmation. De cette façon, le réseau accepte inévitablement le travail du plus grand nombre de nœuds, votant en quelque sorte pour une version consensuelle de la vérité, soutenue par le travail de calcul requis par les hachages.
L’attaque à 51 %
Pour tromper ce système, il faudrait refaire tout le travail de la chaîne, ce qui devient de moins en moins probable à mesure que la chaîne grandit. L’attaque à 51 % est le nom utilisé pour qualifier les tentatives de dépassement de la chaîne de blocs légitime. L'idée est qu'un attaquant obtienne plus de la moitié de la puissance de calcul participant au système et l'utilise pour valider de fausses transactions. Au fur et à mesure que la blockchain se développe, cela devient plus difficile, et même si elle y parvient, elle offre des capacités limitées.
L'arbre de Merkel dans la technologie blockchain
Un fait stupéfiant concernant la blockchain en tant qu'arbre de nœuds, c’est que la chaîne entière est stockée sur chaque système informatique participant. Pour qu'un tel réseau soit réalisable, il faut une conception intelligente. Un arbre de Merkel est utilisé pour permettre au système de ne stocker que la racine et les feuilles pertinentes de la chaîne.
Extraction et émission de monnaie
Parce qu’elle a pris une importance géopolitique, l'activité de minage est très médiatisée. Mais de quoi s'agit-il ? Notre compréhension de la blockchain nous permet de la décrire clairement. Quand un nœud réussit à valider son bloc (en obtenant un bon hachage et en prouvant au réseau qu'il s'agit du premier nouveau bloc valide de la chaîne), il reçoit une nouvelle pièce dont il devient propriétaire. C'est le minage. Le « coin » sert à inciter le système à participer au processus de minage.
La sécurité sans la confiance
La principale réussite de la blockchain réside dans la sécurisation d'un réseau qui fonctionne sur des nœuds appartenant à tout le monde. Cela semble contre-intuitif, mais le système fonctionne en faisant des hypothèses non seulement sur la cryptographie, mais aussi sur le comportement humain. Le fait qu'un système largement distribué et contrôlé par des êtres humains peu dignes de confiance (soyons francs) puisse fonctionner en toute sécurité est stupéfiant. Une fois que la fonctionnalité de ce système a été démontrée par le bitcoin, l'explosion de nouvelles monnaies digitales a été remarquable. L'une d'entre elles est l'éther, créée par Ethereum, une entreprise qui propose de superposer un ordinateur complet de Turing à une blockchain de type bitcoin. Et il y en a beaucoup d'autres (voir l’article d’introduction aux contrats intelligents Ethereum pour en savoir plus sur cette technologie).
Dans le cas spécifique des monnaies, la banque traditionnelle continuera certainement à fonctionner dans une large mesure comme elle le fait actuellement, et les intérêts bien établis dans le système financier s'efforceront d'obtenir des avantages au sein du système cryptographique. Ils ont déjà commencé à introduire leurs propres monnaies. La promesse la plus marquante des systèmes de blockchain est peut-être que l'humanité a trouvé une méthode pour parvenir à un consensus entre des participants connectés à distance. Une telle capacité a des implications de grande envergure, difficiles à préciser dans le détail, mais faciles à prédire dans leur ensemble.
Certes, la blockchain présente des défis. D'une part, l'extrême volatilité des marchés des crypto-monnaies rend difficile la prédiction de la valeur des crypto-monnaies (des monnaies stables ont été introduites pour cette raison). D'autre part, la programmation de la blockchain est difficile. Enfin, les intérêts bien ancrés dans les industries financières et autres résistent à la blockchain. Dans l'ensemble, la technologie blockchain est une innovation étonnante et un espace fascinant à observer alors qu'elle évolue rapidement sous nos yeux.
Commentaire