Une blockchain, ou chaîne de blocs, est une technologie de stockage et de transmission d’informations sans organe de contrôle. Techniquement, il s’agit d’une base de données distribuée dont les informations envoyées par les utilisateurs et les liens internes à la base sont vérifiés et groupés à intervalles de temps réguliers en blocs, formant ainsi une chaîne.
L’ensemble est sécurisé par cryptographie. Par extension, une chaîne de blocs est une base de données distribuée qui gère une liste d’enregistrements protégés contre la falsification ou la modification par les nœuds de stockage. C’est donc un registre distribué et sécurisé de toutes les transactions effectuées depuis le démarrage du système réparti.
Il existe une analogie avec le réseau Internet, car dans les deux cas les technologies emploient des protocoles informatiques liés à une infrastructure décentralisée. Internet permet de transférer des paquets de données à partir d’un serveur « sûr » à des clients distants (charge aux destinataires de vérifier l’intégrité des données transmises).
La blockchain permet à la « confiance » de s’établir entre des agents distincts du système. Avec la technologie blockchain, le « tiers de confiance » devient le système lui-même : chaque élément réparti de la blockchain contient les éléments nécessaires pour garantir l’intégrité des données échangées (par un algorithme cryptographique). Chaque élément détient une mico part d’une information cryptée. Cela permet de transporter une information d’un point A à un point B en toute sécurité.
La preuve de travail, méthode historique de consensus
La chaîne de blocs est une forme de problème mathématique qui consiste
à s’assurer qu’un ensemble de composants informatiques fonctionnent de concert, et que les défaillances (ou malveillances) soient gérer.
On en arrive donc à produire un consensus. Le système doit pouvoir maintenir sa fiabilité dans le cas où une part minoritaire des
composants enverrait des informations erronées (bug) ou malveillantes (hack).
La Cryptomonnaie en exemple
Dans le cas d’une cryptomonnaie, pour contourner la vérification de la double dépense par les mineurs du réseau. La double dépense consiste à réaliser deux paiements simultanément : un vers soi-même et un autre vers une victime. l’objectif est de voir le paiement vers la victime inscrit dans la chaîne de blocs suffisamment longtemps pour tromper la victime. Et en même temps inscrit de manière temporaire de sorte qu’il finisse par être entièrement remplacé par le paiement vers soi-même.
PROOF OF WORK
La méthode historique pour aboutir à ce type de consensus est « la preuve de travail » (proof of work). Cette méthode utilise un problème mathématique dont la solution permet de vérifier que le « mineur » a bien réalisé un travail. Le protocole utilise un système cryptographique fondé sur un système décentralisé de preuves : la résolution de la preuve nécessite une puissance de calcul informatique élevée, fournie par les mineurs. Les mineurs sont des entités dont le rôle est d’alimenter le réseau en puissance de calcul, pour permettre la mise à jour de la base de données décentralisée. Pour cette mise à jour, les mineurs doivent confirmer les nouveaux blocs en validant les données. Dans le cas d’ajout de blocs à la chaîne, il faut résoudre un problème de cryptographie par force brute pour pouvoir ajouter un nouveau bloc. Selon la « difficulté » de la chaîne au moment de la résolution, celle-ci peut nécessiter de répéter plusieurs centaines de milliards de fois la même opération. Un mineur est uniquement rémunéré pour son travail fourni s’il a été le premier à résoudre le problème cryptographique.