La Blockchain pour les personnes intelligentes*

*Qui se sentent comme des nuls quand quelqu’un dit Blockchain

Blockchain en un coup d'oeil

La Blockchain est le terme utilisé pour désigner une technologie mise en œuvre pour la première fois en 2009 et mieux connue pour son utilisation avec la crypto-monnaie. La Blockchain est devenue une technologie largement utilisée qui perturbe rapidement des secteurs aussi divers que la cybersécurité, les élections, l’immobilier, l’analyse et le covoiturage.

Aux fins de la crypto-monnaie, une Blockchain est comme un registre public distribué, une méthode sécurisée pour enregistrer les transactions entre homologues et les rendre publiquement vérifiables. La Blockchain ne repose pas sur une autorité centrale et, plus important encore, elle rend impossible le double investissement et la falsification. Théoriquement, la duplication des dépenses et la falsification sont possibles, mais le temps requis est plus long que l’âge actuel de l’Univers.

Expliquer à fond la technologie Blockchain dans l’espace de cet article serait encore plus impossible! Au lieu de cela, nous allons expliquer quelques concepts fondamentaux dans le contexte de l’utilisation de la Blockchain par Scrive. En fonction de votre savoir-faire technologique, vous trouverez ci-dessous une vue d’ensemble de haut niveau ou une étude détaillée.

Pourquoi Scrive utilise la blockchain

Scrive garantit l’intégrité de votre document en le scellant d’une signature numérique. La technologie Blockchain fournit une méthode pour sécuriser la signature numérique en la saisissant dans un enregistrement public permanent et vérifiable. Cela signifie qu’en cas de litige, vous pouvez prouver que votre document:

  • n’a pas été modifié
  • n’est pas un faux
  • a été créé à la date et à l’heure indiquées par la signature numérique

Hachage cryptographique

Il est possible de créer une empreinte digitale unique et infalsifiable de tout fichier numérique en appliquant un algorithme aux données binaires. L’empreinte résultante est une valeur appelée hachage cryptographique.

Un exemple très simple de fonction de hachage est le suivant:

  • utilisez une lettre sur deux
  • avec un maximum de 6 lettres dans le hachage
  • ajoutez X à la fin si nécessaire

Blockchain –> BOKHIX
To be, or not to be, that is the question –> TBONTO

Compte tenu des combinaisons possibles de lettres, cet algorithme ne permettrait pas de créer des empreintes digitales vraiment uniques pour ces chaînes de texte. Cependant, il existe des moyens beaucoup plus sophistiqués de le faire. Vous pouvez utiliser une représentation binaire des lettres et appliquer des fonctions bien plus intéressantes que “une lettre sur deux”. Si vous considérez qu’un simple fichier de 100 Kb peut correspondre à une série de 800 000 chiffres de 1 et 0, il n’est pas surprenant que les fonctions de hachage soient des projets de doctorat très populaires.

Dans le cas d’un document Scrive, le fichier est le format PDF d’un document signé électroniquement, du Paquet de Preuves et de toutes les pièces jointes. Pour sceller un document signé électroniquement, Scrive utilise l’algorithme SHA-256, qui rend impossible la génération d’un hachage identique à partir d’un autre document ou fichier. Et la nature d’un hachage cryptographique est telle qu’il est impossible de l’utiliser pour recréer le contenu du document. Le hachage est ensuite envoyé au fournisseur et partenaire de Scrive, Guardtime.

Arbre de Merkle

Pour sécuriser l’intégrité de plusieurs fichiers, vous pouvez inclure leurs valeurs de hachage dans une structure appelée arbre de Merkle. Chaque hachage est un nœud de l’arborescence.

Chacune des feuilles (les nœuds au niveau le plus bas de l’arbre) est un hachage représentant un fichier numérique (pas le fichier lui-même). Vous pouvez combiner les hachages de deux feuilles adjacentes (Hash G et Hash H) et utiliser la même fonction de hachage (algorithme SHA-256) pour calculer une troisième valeur de hachage, créant ainsi un nœud à un niveau supérieur de l’arbre (Hash C). En poursuivant ce processus dans l’arbre, vous pouvez calculer le hachage de niveau supérieur (Top).

Tous les nœuds de l’arbre (les feuilles ainsi que les valeurs de hachage intermédiaires) sont liés les uns aux autres de telle sorte que vous pouvez calculer la valeur de niveau supérieur correcte seulement si toutes les hachages de l’arbre sont corrects, et cela signifie qu’elles n’ont pas été altérées ni forgées. Cette méthode de calcul rend la falsification impossible, car si un seul hachage est modifié, vous ne pouvez pas compenser en modifiant un autre hachage de l’arbre afin d’arriver au hachage de niveau supérieur correct.

Si votre document est représenté par Hash G dans le diagramme, vous devez utiliser les valeurs Hash H, Hash D et Hash B pour calculer Top.

Blockchain: stockage sécurisé

Une Blockchain est un moyen efficace et sûr de stocker les informations de plusieurs arbres de Merkle. La Blockchain est comme une base de données. Contrairement à la plupart des bases de données classiques, composées de tables avec des colonnes et des lignes, une Blockchain est composée de blocs séquentiels liés de manière sécurisée via une cryptographie. Une autre différence est que la sécurité ne dépend pas des autorisations d’accès, mais les données sont vérifiées indépendamment.

Dans la plupart des bases de données classiques, vous pouvez effectuer quatre types d’actions: créer, lire, mettre à jour et supprimer (acronyme anglais CRUD). Mais avec la Blockchain, il n’est possible que de créer et de lire. Pour créer de nouvelles données, un nouveau bloc est ajouté à la chaîne, de sorte que le dernier bloc de la chaîne est le plus récent. Chaque nouveau bloc ajouté est validé par plusieurs parties indépendantes afin de se prémunir contre la fraude.

En fait, une blockchain KSI est un grand arbre de Merkle en croissance constante. Chaque bloc est une valeur de hachage liée au bloc précédent de telle manière que, si un enregistrement de la chaîne est modifié, il serait impossible de calculer correctement les valeurs de hachage des blocs ajoutés ultérieurement.

Ajouter de nouvelles données à la chaîne de blocs est comme créer un nouveau nœud dans un arbre de Merkle. Vous combinez le hachage de la racine d’un arbre de Merkle (qui n’est pas encore connecté à la Blockchain) et le hachage du bloc précédent. Vous utilisez ensuite la même fonction de hachage (algorithme SHA-256) pour calculer le hachage du nouveau bloc. Le bloc le plus récent est indissociablement lié au bloc précédent ainsi qu’à l’arbre Merkle qui vient d’être ajoutée à la blockchain.

Pour revenir à l’exemple de la crypto-monnaie, chacune des feuilles de l’arbre Merkle contient des informations du registre. Comme le registre est public et non modifiable, tout le monde peut calculer le solde d’un compte individuel et personne ne peut modifier arbitrairement un solde.

Vérification des documents

Dans le cas du scellement et de la vérification d’un document Scrive, Guardtime publie périodiquement (une fois par mois) le hachage de niveau supérieur de l’arbre de Merkle, en croissance constante. Ce hachage est lié au hachage de tous les documents Scrive qui ont été signés et scellés au cours du mois précédent.

Pour valider le nouveau bloc, Guardtime publie le hashage dans le Financial Times, qui répond à la norme juridique des “médias les plus fiables”. En gros, le hachage a été entré dans l’enregistrement public. La modification d’une seule feuille d’un arbre de Merkle briserait la Blockchain. La publication du hachage dans Financial Times permet de vérifier la valeur correcte d’un bloc indépendamment de Scrive ou de Guardtime.

Lors de la publication, tous les documents Scrive représentés par le nouveau hachage sont scellés une seconde fois. Le second sceau fournit un chemin vers le haut de l’arbre, c’est-à-dire les valeurs de hachage intermédiaires nécessaires pour recalculer le hachage publié.

La vérification ne nécessite que le document scellé et l’accès au hash publié dans le Financial Times. Le processus serait le suivant:

  • Recalculez le hachage du document.
  • Recréez l’arbre de Merkle en utilisant les informations contenues dans le sceau.
  • Comparez le hachage de niveau supérieur au hachage publié dans le Financial Times.

Ce n'est pas la fin

Compte tenu de la diversité des applications de la blockchain, des implémentations et des nouveaux développements de la technologie, vous trouverez probablement diverses explications sur ces sujets. Il n’existe aucun moyen simple et rapide de comprendre la technologie blockchain et la plupart d’entre nous ne comprendront jamais les détails les plus fins. Donc, si cela vous intéresse, prenez votre temps et consultez plusieurs sources.