Si vous avez un peu suivi l’actualité ces derniers temps, vous avez certainement entendu parler d’un truc qui s’appelle “blockchain” ou “chaîne de blocs” chez nous, gaulois. C’est un concept de stockage qui permet de rendre les données ultra-sécurisées pour des usages bien spécifiques. Si vous en avez entendu parler, il y a fort à parier que c’est dans le contexte du Bitcoin, mais ce concept à des utilisations bien au-delà de la crypto-monnaie plus que jamais à la mode en ce moment.

Le mathématicien Jean-Paul Delahaye, décrit la blockchain comme « un très grand cahier, que tout le monde peut lire librement et gratuitement, sur lequel tout le monde peut écrire, mais qui est impossible à effacer et indestructible. »

Voici donc une tentative d’explication de son fonctionnement.

Au commencement était le chiffrement…

Pou comprendre les blockchains, vous devez avant tout comprendre la cryptographie. Le principe de la cryptographie (ou chiffrement) est bien plus ancien que celui de l’informatique : elle consiste simplement à réorganiser l’information de telle sorte qu’il vous faut une clé spécifique pour la comprendre. Vous vous êtes déjà peut être amusé à coder des messages à l’école pour transmettre des mots doux en utilisant des clés de cryptage basiques (en décalant chaque lettre d’une lettre de l’alphabet ou en attribuant des numéros aux lettres)… Ainsi, si quelqu’un tombe sur votre message il ne pourra pas le décoder à moins de disposer de la clé de cryptage pour traduire le code en message lisible. Les militaires ont utilisé des systèmes de cryptographie très complexe bien avant les premiers ordinateurs (on peut citer par exemple la célèbre machine Enigma qui encodait et décodait les messages des Allemands pendant la Seconde Guerre mondiale et qui fut craquée par Alan Turing).

Enigma-e1513519380465 Dis papa, c'est quoi une "blockchain" ?
Le clavier d’Enigma, capot fermé (gauche) et ouvert (droite), révélant les rotors et le compartiment de la batterie (source Wikipedia)

Le cryptage moderne est désormais 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 casser par de simples calculs mathématiques effectués par des humains. Cependant, la technologie de chiffrement informatique n’est pas parfaite. Elle peut tout de même être “craquée” par des personnes suffisamment douées pour lui trouver des failles… De plus, les données demeurent vulnérables si quelqu’un d’autre que le propriétaire se retrouve en possession de la clé de cryptage.

Globalement, le cryptage numérique reste très costaud et même les technologies de chiffrement que l’on retrouve au niveau du grand public, comme la norme AES 128 bits qu’on retrouve en série sur les iPhone et autres appareils sous Android, sont suffisamment sécurisées pour empêcher des agences gouvernementales comme le FBI aux États-Unis d’accéder aux données de vos appareils.

La blockchain, une base de données publique, collaborative et sécurisée

Le cryptage est normalement utilisé pour verrouiller les fichiers afin qu’ils ne soient accessibles que par des personnes spécifiques. Mais que se passe-t-il si vous avez de l’information qui doit être vue par tout le monde – comme, par exemple, l’information comptable d’un organisme d’État qui doit être rendue publique en vertu de la loi – et qui doit quand même être protégée ? Là, vous avez un problème : plus il y a de personnes qui peuvent voir et modifier des informations, moins celles-ci sont sécurisées.

Les blockchains ont été développées pour répondre aux besoins de sécurité de ces situations spécifiques. Dans une blockchain, chaque fois que l’information est consultée et mise à jour, la modification est enregistrée et vérifiée, puis scellée par cryptage, la rendant impossible à éditer une 2e fois. L’ensemble des modifications est ensuite sauvegardé et ajouté à l’enregistrement global. Lorsque quelqu’un veut faire une nouvelle modification, tout recommence à zéro, l’information est conservée dans un nouveau “bloc” qui est crypté et attaché au bloc précédent (d’où “chaîne de blocs”). Ce processus itératif connecte la toute première version de l’ensemble d’informations avec la dernière version, afin que tout le monde puisse voir toutes les modifications apportées, mais chacun ne peut contribuer et éditer que la dernière version.

lego_1513447867 Dis papa, c'est quoi une "blockchain" ?

Ce concept est difficile à illustrer par une métaphore, mais imaginez que vous faites partie d’un groupe de dix personnes qui réalisent une construction en Lego. Vous ne pouvez ajouter qu’une seule pièce à la fois, et ne pouvez jamais en enlever aucune. Chaque membre du groupe doit se mettre d’accord sur le positionnement précis de la pièce suivante. De cette façon, vous pouvez voir toutes les pièces à tout moment – depuis la toute première pièce du projet – mais vous pouvez modifier uniquement la dernière pièce.

Prenons un exemple un peu plus pertinent. Imaginez un document collaboratif, comme une feuille de calcul sur Google Docs ou Office 365. Tous ceux qui ont accès au document peuvent l’éditer et chaque fois qu’ils le font, la modification est sauvegardée et enregistrée sous forme d’une nouvelle feuille de calcul, puis verrouillée dans l’historique du document. Ainsi, vous pouvez consulter, étape par étape, les modifications apportées, mais vous pouvez seulement ajouter des informations à la dernière version, et non pas modifier les versions antérieures de la feuille de calcul qui ont déjà été verrouillées.

Cette idée d’un “registre” sécurisé et constamment mis à jour trouve une application toute naturelle dans les domaines financiers. Les monnaies numériques en circulation comme le Bitcoin sont l’utilisation la plus répandue et la plus connue des blockchains – et pour cause, la toute première chaîne de blocs a été créée en 2008 pour les besoins du Bitcoin et l’idée s’est depuis répandue dans d’autres domaines.

La technique : étape par étape, bloc après bloc

Une fois qu’on a dit cela, regardons maintenant comment cela fonctionne concrètement d’un point de vue informatique : il s’agit d’une combinaison de cryptographie et de réseau peer-to-peer.

Concept apparu à la fin des années 90 avec Napster, les services peer-to-peer (pair à pair en bon français) permettent aux utilisateurs de télécharger des fichiers depuis plusieurs endroits en même temps, rendant le processus plus efficace que si vous deviez télécharger ces mêmes fichiers depuis une seule connexion. Si on rapporte cela au sujet qui nous intéresse ici, les “fichiers” seraient les données de base d’une blockchain et le processus de téléchargement serait l’équivalent du chiffrement qui la maintient à jour et sécurisée.

Si l’on revient à notre exemple de tableur sur Google Docs, imaginez que le document collaboratif sur lequel vous travaillez n’est pas stocké sur un serveur. Au lieu de cela, il est sur l’ordinateur de chacune des personnes impliquées. Ces ordinateurs s’interrogent entre eux et se mettent à jour constamment pour s’assurer que personne n’a modifié les enregistrements précédents du fichier. On est alors dans un processus “décentralisé”.

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

blck-schema Dis papa, c'est quoi une "blockchain" ?
Source : blockchainfrance.net

Nous avons donc trois éléments à considérer dans ce système. Premièrement, le réseau d’utilisateurs peer-to-peer qui stocke toutes les copies de l’enregistrement de la chaîne de blocs. Deuxièmement, les données que ces utilisateurs ajoutent au dernier “bloc” d’information, ce qui permet de les mettre à jour et de les ajouter à la base de données publique. Troisièmement, les séquences de chiffrement que les utilisateurs génèrent pour s’entendre sur le dernier bloc, le verrouillant ainsi dans la séquence de données qui forme le registre.

C’est dans le dernier morceau que réside toute la magie du process. En utilisant le chiffrement numérique, chaque utilisateur apporte la puissance de son ordinateur afin d’aider à résoudre certains des problèmes mathématiques super-complexes qui sécurisent le document. Ces solutions extrêmement pointues – connues sous le nom de sommes de contrôle (ou “hash” en anglais) – permettent de révéler les éléments essentiels des données contenues dans le document, comme le compte qui a crédité ou débité de l’argent dans un grand livre comptable ou l’origine de cet argent. Plus les données sont denses, plus le chiffrement est complexe et plus il faut de puissance de traitement pour les décoder. C’est d’ailleurs pour cela que l’on parle de “miner” du Bitcoin.

Donc, pour résumer, on peut représenter une blockchain comme un ensemble de données qui est :

  • Mis à jour en permanence.
    Les utilisateurs de la blockchain peuvent accéder aux données à tout moment et ajouter des informations au bloc le plus récent.
  • Partagé
    Des copies des données de la blockchain sont stockées et sécurisées par chaque utilisateur, et tous doivent s’entendre sur de nouveaux ajouts.
  • Vérifié
    Les modifications apportées aux nouveaux blocs et les copies d’anciens blocs doivent être acceptées par tous les utilisateurs au moyen d’une vérification cryptographique.
  • Sécurisée.
    L’altération des données anciennes et la modification de la méthode de sécurisation des nouvelles données sont empêchées par la méthode de chiffrement et la décentralisation du stockage des données elles-mêmes.

Croyez-le ou non, si l’on continue de creuser, ça devient encore plus compliqué que ça… mais c’est l’idée de base.

La blockchain en pratique : l’exemple du bitcoin

Prenons un exemple concret en regardant comment ce système s’applique à une crypto-monnaie comme le Bitcoin. Mettons que vous disposez d’un Bitcoin et que vous voulez l’utiliser pour acheter un nouveau vélo (ou une voiture, une maison, un château… en fonction de sa valeur du moment ;)).

Chaque personne sur le système peut voir votre Bitcoin, mais votre identité et celle du vendeur ne sont que des informations temporaires, de minuscules fragments des énormes problèmes mathématiques qui forment le cœur du chiffrement numérique. Ces valeurs sont intégrées dans l’équation de la blockchain, et le problème lui-même est “résolu” grâce à la génération des hashs par les membres du réseau peer-to-peer.

fonctionnement-blockchain1 Dis papa, c'est quoi une "blockchain" ?
Source : blockchainfrance.net

Une fois la transaction vérifiée, un Bitcoin est transféré de chez vous au vendeur et enregistré sur le dernier bloc de la chaîne. Le bloc est terminé, scellé et protégé par chiffrement pour ne plus jamais être modifié. La prochaine série de transactions commence, et la chaîne de blocs s’allonge, contenant un enregistrement complet de toutes les transactions passées à chaque fois qu’elle est mise à jour.

Maintenant, lorsque vous considérez la blockchain comme un système “sécurisée”, il est important de comprendre le contexte. Les transactions individuelles sont sécurisées et le registre global est sécurisé, tant que les méthodes utilisées pour sécuriser le chiffrement n’ont pas été hackées (mais le piratage de cette sécurité atteint des niveaux vraiment complexes). Au final, comme toujours en matière de sécurité informatique, le maillon faible de la blockchain c’est vous, l’utilisateur !

bitcoin_1513519095 Dis papa, c'est quoi une "blockchain" ?

Si vous autorisez quelqu’un d’autre à utiliser votre clé personnelle pour accéder à la chaîne, ou si quelqu’un la trouve en piratant votre ordinateur, il peut ajouter des informations à la blockchain. Il n’y a alors aucun moyen de l’en empêcher. C’est ainsi que des Bitcoins se font dérober lors d’attaques très médiatisées sur les grands marchés de crypto-monnaies. Ce sont les entreprises à qui appartiennent ces marchés, et non la blockchain du Bitcoin elle-même, qui ont été compromises. Et parce que les bitcoins volés sont transférés à des utilisateurs anonymes, par un processus qui est vérifié par la blockchain et enregistré à jamais, il n’ y a aucun moyen de trouver le voleur ou de récupérer les bitcoins. Dur, dur !

Quelles autres utilisations pour la blockchain ?

La technologie blockchain a trouvé son origine dans le Bitcoin, mais c’est un concept tellement révolutionnaire, qu’il a vite touché d’autres domaines. Un système mis à jour en permanence, accessible à tous, validé par un réseau non centralisé et surtout incroyablement sécurisé peut être utilisé dans un grand nombre de contextes. Des institutions financières comme JP Morgan ou la Bourse australienne développent des systèmes utilisant la blockchain pour sécuriser et échanger les données financières. La fondation Bill & Melinda Gates espère utiliser les blockchains pour fournir des services bancaires gratuits à des milliards de personnes dans le besoin.

Des outils libres comme Hyperledger essayent de démocratiser les techniques de la blockchain pour que le plus grand nombre puisse les utiliser tout en essayant de réduire la masse astronomique de puissance de traitement nécessaires pour la sécurisation.

Bref, la blockchain est un raz de marée qui va petit à petit faire son trou dans notre quotidien. Si le Bitcoin a bien un mérite, c’est celui d’avoir permis l’émergence de ce phénomène !

Si vous remarquez une faute d’orthographe, vous pouvez nous la signaler en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée. Merci !

Cet article vous a plu ? Partagez-le !

Poster un Commentaire

avatar
  S'abonner  
Notifications