Si vous avez regardé les informations ces derniers temps, vous avez peut-être entendu parler d’un concept appelé « blockchain ». Il s’agit d’un concept qui rend les données ultra-sécurisées pour des utilisations spécifiques. Vous l’avez probablement entendu en rapport avec le bitcoin, mais ses applications vont bien au-delà des crypto-monnaies préférées de tous. Voici une explication rapide de son fonctionnement.

Tout commence par le cryptage

Pour comprendre les blockchainsblockchains, vous devez comprendre la cryptographie. L’idée de la cryptographie est bien plus ancienne que les ordinateurs : il s’agit simplement de réorganiser des informations de telle sorte que vous ayez besoin d’une clé spécifique pour les comprendre. Le simple anneau décodeur que vous avez trouvé dans votre boîte de céréales Kix est une forme de cryptographie la plus élémentaire : créez une clé (également appelée « chiffre ») qui remplace une lettre par un chiffre, faites passer votre message par la clé, puis donnez la clé à quelqu’un d’autre.

Toute personne qui trouve le message sans la clé ne peut pas le lire, à moins qu’il ne soit « craqué ». L’armée utilisait une cryptographie plus complexe bien avant les ordinateurs (la machine Enigma codait et décodait les messages pendant la Seconde Guerre mondiale, par exemple).

Le cryptage moderne, cependant, est entièrement numérique. Les ordinateurs d’aujourd’hui utilisent des méthodes de cryptage si complexes et si sûres qu’il serait impossible de les briser par de simples calculs humains. La technologie de cryptage informatique n’est cependant pas parfaite ; elle peut toujours être « craquée » si des personnes suffisamment intelligentes attaquent l’algorithme, et les données sont toujours vulnérables si quelqu’un d’autre que le propriétaire trouve la clé.

Mais même le cryptage au niveau du consommateur, comme le cryptage AES 128 bits qui est maintenant standard sur l’iPhone et Android, est suffisant pour garder les données verrouillées à l’abri du FBI.

La blockchain est un grand livre de données collaboratif et sécurisé

Le cryptage est normalement utilisé pour verrouiller des fichiers afin qu’ils ne soient accessibles qu’à certaines personnes. Mais que se passe-t-il si vous avez des informations qui doivent être vues par tout le monde – par exemple, les informations comptables d’une agence gouvernementale qui doivent être rendues publiques par la loi – et qui doivent quand même être sécurisées ? Là, vous avez un problème : plus il y a de personnes qui peuvent voir et modifier les informations, moins elles sont sécurisées.

Les chaînes de blocs ont été développées pour répondre aux besoins de sécurité de ces situations spécifiques. Dans une chaîne de blocs, chaque fois qu’une information est consultée et mise à jour, la modification est enregistrée et vérifiée, puis scellée par cryptage, de sorte qu’elle ne peut plus être modifiée. L’ensemble des modifications est ensuite enregistré et ajouté à l’enregistrement total.

La prochaine fois que quelqu’un apporte des modifications, tout recommence, en conservant les informations dans un nouveau « bloc » crypté et attaché au bloc précédent (d’où le terme « chaîne de blocs »). Ce processus répétitif relie la toute première version de l’ensemble d’informations à la dernière, de sorte que chacun peut voir toutes les modifications apportées, mais ne peut contribuer et modifier que la dernière version.

Pour aller plus loin : Le DNS Alimenté Par La Blockchain Est Là

Cette idée résiste en quelque sorte aux métaphores, mais imaginez que vous êtes dans un groupe de dix personnes en train d’assembler un jeu de LEGO. Vous ne pouvez ajouter qu’une seule pièce à la fois, et ne pouvez jamais en retirer aucune. Chaque membre du groupe doit se mettre d’accord sur l’emplacement précis de la prochaine pièce. De cette façon, vous pouvez voir toutes les pièces à tout moment – jusqu’à la toute première pièce du projet – mais vous ne pouvez modifier que la dernière pièce.

Pour quelque chose d’un peu plus pertinent, imaginez un document collaboratif, comme une feuille de calcul sur Google Docs ou Office 365. Toute personne ayant accès au document peut le modifier, et chaque fois qu’elle le fait, la modification est sauvegardée et enregistrée comme une nouvelle feuille de calcul, puis verrouillée dans l’historique du document. Il est donc possible de revenir en arrière, étape par étape, dans les modifications apportées, mais vous ne pouvez ajouter des informations qu’à la dernière version, et non modifier les versions antérieures de la feuille de calcul qui ont déjà été verrouillées.

Comme vous l’avez probablement entendu, cette idée d’un « grand livre » sécurisé et constamment mis à jour est surtout appliquée aux données financières, où elle est la plus logique. Les monnaies numériques distribuées comme le bitcoin sont l’utilisation la plus courante des chaînes de blocs. En fait, la toute première chaîne a été créée pour le bitcoin et l’idée s’est répandue à partir de là.

Les aspects techniques : Étape par étape, bloc par bloc

Comment tout cela fonctionne-t-il sur un ordinateur ? C’est une combinaison de cryptographie et de réseau peer-to-peer.

Vous connaissez peut-être le partage de fichiers en peer-to-peer : des services comme BitTorrent qui permettent aux utilisateurs de charger et de télécharger des fichiers numériques depuis plusieurs endroits de manière plus efficace qu’à partir d’une seule connexion. Imaginez les « fichiers » comme les données de base d’une blockchain, et le processus de téléchargement comme la cryptographie qui la maintient à jour et sécurisée.

Ou, pour revenir à notre exemple Google Docs ci-dessus : imaginez que le document collaboratif sur lequel vous travaillez n’est pas stocké sur un serveur. Au lieu de cela, il se trouve sur l’ordinateur de chaque personne, qui vérifie et met à jour en permanence les autres pour s’assurer que personne n’a modifié les enregistrements précédents. Cela en fait un système « décentralisé ».

C’est l’idée centrale de la blockchain : il s’agit de données cryptographiques auxquelles on accède en permanence et qui sont sécurisées en même temps, sans serveur ou stockage centralisé, avec un enregistrement des modifications qui s’incorpore à chaque nouvelle version des données.

Nous avons donc trois éléments à prendre en compte dans cette relation. Un, le réseau d’utilisateurs peer-to-peer qui stockent tous des copies de l’enregistrement de la blockchain. Deuxièmement, les données que ces utilisateurs ajoutent au dernier « bloc » d’informations, lui permettant d’être mis à jour et ajouté à l’enregistrement total. Trois, les séquences cryptologiques que les utilisateurs génèrent pour se mettre d’accord sur le dernier bloc, le verrouillant en place dans la séquence de données qui forme l’enregistrement.

C’est cette dernière partie qui est la sauce secrète du sandwich blockchain. Grâce à la cryptographie numérique, chaque utilisateur apporte la puissance de son ordinateur pour aider à résoudre certains de ces problèmes mathématiques super-complexes qui assurent la sécurité de l’enregistrement.

Ces solutions extrêmement complexes – connues sous le nom de « hachage » – résolvent des parties essentielles des données de l’enregistrement, comme le compte qui a ajouté ou soustrait de l’argent dans un livre comptable, et où cet argent est allé ou est venu. Plus les données sont denses, plus la cryptographie est complexe et plus la puissance de traitement nécessaire pour les résoudre est importante. (C’est là qu’entre en jeu l’idée de « minage » dans le bitcoin, soit dit en passant).

Donc, pour résumer, nous pouvons considérer qu’une blockchain est un élément de données qui est :

Constamment mis à jour. Les utilisateurs de la blockchain peuvent accéder aux données à tout moment, et ajouter des informations au bloc le plus récent.
Distribuées. Des copies des données de la blockchain sont stockées et sécurisées par chaque utilisateur, et tous doivent se mettre d'accord sur les nouveaux ajouts.
Vérifié. Les modifications apportées aux nouveaux blocs et les copies des anciens blocs doivent être approuvées par tous les utilisateurs au moyen d'une vérification cryptographique.
Sécurisé. L'altération des anciennes données et la modification de la méthode de sécurisation des nouvelles données sont empêchées à la fois par la méthode cryptographique et par le stockage non centralisé des données elles-mêmes.

Et croyez-le ou non, c’est encore plus compliqué que cela… mais c’est l’idée de base.

La blockchain en action : Montrez-moi l’argent (numérique) !

Prenons un exemple de la façon dont cela s’applique à une crypto-monnaie comme le bitcoin. Supposons que vous ayez un bitcoin et que vous souhaitiez l’utiliser pour acheter une nouvelle voiture (ou un vélo, une maison ou une île de taille petite à moyenne, selon la valeur du bitcoin cette semaine).

Vous vous connectez à la blockchain décentralisée de Bitcoin avec votre logiciel, et vous envoyez votre demande de transfert de vos bitcoins au vendeur de la voiture. Votre transaction est alors transmise au système.

Chaque personne du système peut la voir, mais votre identité et celle du vendeur ne sont que des signatures temporaires, des éléments minuscules des énormes problèmes mathématiques qui constituent le cœur de la cryptographie numérique. Ces valeurs sont intégrées dans l’équation de la blockchain, et le problème lui-même est « résolu » par les membres du réseau peer-to-peer qui génèrent des hachages cryptographiques.

Une fois la transaction vérifiée, un bitcoin est transféré de vous au vendeur et enregistré sur le dernier bloc de la chaîne. Le bloc est terminé, scellé et protégé par la cryptographie. La série de transactions suivante commence, et la blockchain s’allonge, contenant un enregistrement complet de toutes les transactions à chaque fois qu’elle est mise à jour.

Lorsque vous pensez qu’une blockchain est « sécurisée », il est important de comprendre le contexte. Les transactions individuelles sont sécurisées, et l’enregistrement total est sécurisé, tant que les méthodes utilisées pour sécuriser la cryptographie ne sont pas « cassées ». (Et n’oubliez pas que ce système est très difficile à casser – même le FBI n’y parvient pas avec ses seules ressources informatiques). Mais le maillon le plus faible de la blockchain, c’est vous, l’utilisateur.

Si vous autorisez quelqu’un d’autre à utiliser votre clé personnelle pour accéder à la chaîne, ou s’il la trouve en piratant simplement votre ordinateur, il peut faire des ajouts à la blockchain avec vos informations, et il n’y a aucun moyen de l’arrêter.

C’est ainsi que les bitcoins sont « volés » lors d’attaques très médiatisées sur les principaux marchés : ce sont les sociétés qui exploitaient les marchés, et non la blockchain Bitcoin elle-même, qui ont été compromises. Et comme les bitcoins volés sont transférés à des utilisateurs anonymes, par le biais d’un processus vérifié par la blockchain et enregistré à jamais, il n’y a aucun moyen de trouver l’attaquant ou de récupérer les bitcoins.

Que peuvent faire d’autre les chaînes de blocs ?

La technologie blockchain a vu le jour avec le bitcoin, mais l’idée est tellement importante qu’elle n’est pas restée longtemps au point mort. Un système constamment mis à jour, accessible à tous, vérifié par un réseau non centralisé et incroyablement sécurisé, a de nombreuses applications différentes.

Des institutions financières comme JP Morgan Chase et la Bourse australienne développent des systèmes de blockchain pour sécuriser et distribuer des données financières (pour l’argent conventionnel, pas pour les crypto-monnaies comme le bitcoin). La fondation Bill et Melinda Gates espère utiliser les systèmes de blockchain pour fournir des services bancaires gratuits et distribués à des milliards de personnes qui ne peuvent pas s’offrir un compte bancaire ordinaire.

Des outils open source comme Hyperledger tentent de mettre les techniques de blockchain à la disposition d’un plus grand nombre de personnes, parfois sans avoir besoin de la puissance de traitement monstrueuse nécessaire pour sécuriser d’autres modèles. Les systèmes de travail collaboratif peuvent être vérifiés et enregistrés grâce aux techniques de blockchain. Pratiquement tout ce qui doit être constamment enregistré, accessible et mis à jour peut être utilisé de la même manière.