La blockchain est une des innovations technologiques centrales de ces dernières années. Mais ce système distribué, qui assure la sécurité par chiffrement et consensus et non par la confiance comme avec une institution financière, reste difficile à appréhender. Si vous n’osez plus demander comment il fonctionne et à quoi il sert, Enjeux DAF et Le Monde Informatique profitent de la fin de l’année pour vous proposer une petite révision. (Photo : Pixabay/IDG)
La blockchain pourrait se révéler encore plus perturbatrice et durable que le cloud. Ce dernier transforme la manière de concevoir les logiciels et le fonctionnement opérationnel des entreprises. La blockchain elle, modifie la façon dont les entreprises et institutions gèrent les transactions ou l’authentification. Outre sa capacité à servir de socle aux cryptomonnaies, elle sert à la soumission et à l’enregistrement de contrats. Mais de quoi parle-t-on très concrètement ?
L’intérêt des transactions décentralisées
Il est difficile de construire des systèmes logiciels distribués, notamment à cause des datas qu’il faut stocker, protéger et rendre disponibles. Chaque fois que des données sont envoyées ou récupérées – qu’on parle d’un message personnel ou de la vérification du solde d’un compte bancaire –, elles peuvent être hackées ou simplement perdre leur cohérence. Dans le cas du relevé de compte, la méthode classique pour sécuriser et s’assurer de l’exactitude des données est de passer par un agent de confiance. En l’occurrence, une banque.
L’article « Bitcoin : un système de paiement électronique pair à pair », issu du livre blanc de Satoshi Nakamoto, pseudonyme du créateur supposé du Bitcoin, argue que les « faiblesses du modèle basé sur la confiance » sont liées au fait que « les transactions non-réversibles sont impossibles ». 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 d’augmenter les coûts.
La signature chiffrée
Le mécanisme central de la blockhain est constitué de paires de chiffrement utilisées pour signer les transactions. Les propriétaires de cryptomonnaies transmettent celles-ci à des acheteurs en les chiffrant avec une clé publique et les vérifient avec une clé privée. Chaque transaction embarque également un hachage de la transaction précédente (chaîne de caractères de longueur fixe générée à partir d’un ensemble de données) et la clé publique du propriétaire. Si tous les participants opéraient de bonne foi, les chaînes de transactions seraient déjà sécurisées et le système serait à l’abri d’une falsification externe directe grâce à la signature cryptographique. Reste que les propriétaires de la cryptomonnaie pourraient tromper le système en la dépensant plus d’une fois. En effet, 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. En effet, cela nécessite que tous les participants à la chaîne aient connaissance de l’ensemble des transactions ainsi que de leur ordre d’apparition. Dans ce cas, les nœuds n’accepteraient que la première instance de la transaction et rejetteraient toutes les autres.
C’est pour résoudre ce problème dit de double dépense que Satoshi Nakamoto a proposé d’exploiter la blockchain. L’idée principale est de réunir l’ensemble des transactions dans un « bloc » et les nœuds du réseau accumule la puissance nécessaire à résoudre un calcul difficile spécifique à la transaction. Ce « nonce » est un nombre arbitraire utilisé une seule fois dans une communication cryptographique. Quand il est « haché », il produit une valeur comportant un certain nombre de zéros en tête. Et toujours sur le même principe, chaque bloc fait référence au hachage du bloc précédent. Les transactions sont ainsi acceptées dans des blocs qui sont vérifiés en exploitant un certain niveau de puissance de calcul. Chaque nouveau bloc rallonge la chaîne résultant de ce dernier.
La vérité par le consensus
Pendant que chaque nœud travaille pour valider son bloc de transactions, d’autres font de même. Si un noeud en particulier reçoit un bloc concurrent de la part du réseau, il l’enregistre dans une chaîne concurrente et continue de travailler sur la sienne. Si le nœud reçoit suffisamment de nouveaux blocs sur la chaîne concurrente, il abandonne son travail et accepte cette chaîne comme étant la vérité. En revanche, si ce nœud termine son travail avant que la chaîne concurrente ne soit confirmée, il rend le résultat de son calcul dans le réseau. tous les autres nœuds se comportent de la même manière pour valider cette revendication par le premier noeud. De cette façon, le réseau accepte obligatoirement 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.
Pour tromper ce système, il faudrait refaire tout le travail de la chaîne, ce qui devient de plus en plus difficile à mesure qu’elle grandit. L’attaque à 51 % est le nom utilisé pour qualifier les tentatives de dépassement de la chaîne de blocs légitime. Dans ce cadre, un pirate s’arrogerait plus de la moitié de la puissance de calcul nécessaire au système et l’utiliserait pour valider de fausses transactions. Au fur et à mesure que la blockchain se développe, cela devient plus difficile à réaliser, et même si c’était le cas, cela n’offrirait que des capacités limitées.
Extraction et émission de cryptomonnaie
L’activité de minage, avec son rôle géopolotique, est particulièrement médiatisée. Mais de quoi s’agit-il ? 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 de cryptomonnaie, un « coin », et en devient propriétaire. C’est le minage. Le « coin » sert à inciter le système à participer au processus de minage.
La principale réussite de la blockchain réside dans la sécurisation d’un réseau de nœuds appartenant à tout le monde. Cela semble contre-intuitif, mais le système fonctionne en posant des hypothèses non seulement sur le chiffrement, mais aussi sur le comportement humain. Une fois que le bitcoin a démontré le bon fonctionnement de ce système largement distribué controllé par des êtres humains, le nombre de nouvelles cryptomonnaies a exploosé. L’Ether par exemple, créée par Ethereum, propose de superposer un ordinateur Turing-complet (théoriquement capable de résoudre n’importe quel problème) à une blockchain de type bitcoin.
Une innovation en constante évolution
En ce qui concerne spécifiquement la monnaie, les banques traditionnelles continueront certainement de fonctionner dans une large mesure comme actuellement, et le système financier s’efforcera sans soute d’obtenir des avantages au sein du système de cryptomonnaie. Les banques ont d’ailleurs déjà commencé à lancer leurs propres cryptomonnaies.
Reste que la blockchain et les monnaies qui l’exploiteent fait encore face à plusieurs défis. D’une part, l’extrême volatilité des marchés des crypto-monnaies rend difficile la prédiction de leur valeur (des monnaies stables ont été introduites pour cette raison). D’autre part, la programmation dans cet environnement est difficile. Finalement, il faut continuer d’observer cette innovation hors norme qui ne cesse d’évoluer rapidement sous nos yeux.
Matthew Tyson, IDG NS (adapté par Jean Elyan / Enjeux DAF)
Retrouvez l’article original sur le site de notre publication sœur Le Monde Informatique