La blockchain pour les gens intelligents*

*qui ont l'impression d'être des nuls lorsque quelqu'un parle de blockchain.

La blockchain en un clin d’œil

Blockchain est le terme désignant une technologie qui a été mise en œuvre pour la première fois en 2009 et qui est surtout connue pour son utilisation avec les crypto-monnaies. 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.

Dans le cadre des crypto-monnaies, la chaîne de blocs sert de registre public distribué, une méthode sécurisée pour enregistrer les transactions entre pairs et les rendre publiquement vérifiables. La blockchain ne dépend pas d’une autorité centrale et, surtout, elle rend impossible la double dépense et la falsification. En théorie, la double dépense et la falsification sont possibles, mais le temps nécessaire est plus long que l’âge actuel de l’univers.

Il serait encore plus impossible d’expliquer en détail la technologie blockchain dans le cadre de cet article ! Nous allons plutôt expliquer quelques concepts fondamentaux dans le contexte de l’utilisation de la blockchain par Scrive. En fonction de votre niveau de connaissances technologiques, ce qui suit est soit un aperçu de haut niveau, soit une plongée en profondeur granulaire.

Pourquoi Scrive utilise la blockchain

Scrive garantit l’intégrité de votre document en le scellant par une signature numérique. La technologie blockchain permet de sécuriser la signature numérique en l’inscrivant dans un registre 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 précises indiquées par la signature numérique.

Hachure 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 qui en résulte est une valeur connue sous le nom de hachage cryptographique.

Exemple de fonction de hachage très simple :

  • utiliser une lettre sur deux
  • 6 lettres au maximum dans le hachage
  • ajouter un X si nécessaire

Blockchain –> BOKHIX
Tbe, onot to be, that is the question –> TBONTO

Compte tenu des combinaisons de lettres possibles, cet algorithme ne parviendrait pas à créer des empreintes digitales véritablement uniques pour ces chaînes de texte. Cependant, il existe des méthodes beaucoup plus sophistiquées pour y parvenir. Vous pourriez utiliser la représentation binaire des lettres et appliquer des fonctions bien plus intéressantes que “une lettre sur deux”. Sachant qu’un simple fichier de 100 Ko peut être représenté par une chaîne de 800 000 chiffres de 1 et de 0, il n’est pas surprenant que des projets de doctorat soient consacrés aux fonctions de hachage.

Dans le cas d’un document Scrive, le fichier est un PDF du 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 de tout autre document ou fichier. De plus, la nature d’un hachage cryptographique est telle qu’il est impossible de l’utiliser pour recréer le contenu du document. Le hash est ensuite soumis à Guardtime, fournisseur et partenaire de Scrive.

Arbre de Merkle

Pour garantir l’intégrité de plusieurs fichiers, vous pouvez incorporer 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 (et non 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 (l’algorithme SHA-256) pour calculer une troisième valeur de hachage, créant ainsi un nœud au niveau supérieur de l’arbre (Hash C). En poursuivant ce processus dans l’arbre, vous pouvez calculer la valeur de hachage du 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 ne pouvez calculer la valeur correcte du niveau supérieur que si tous les hachages de l’arbre sont corrects. En d’autres termes, ils n’ont pas été modifiés ou falsifiés. 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 dans l’arbre afin d’obtenir le hachage de niveau supérieur correct.

Si votre document est représenté par le hachage G dans le diagramme, vous aurez besoin des valeurs des hachages H, D et B pour calculer Top.

Blockchain : stockage sécurisé

Une blockchain est un moyen efficace et sécurisé de stocker les enregistrements de plusieurs arbres de Merkle. Vous pouvez considérer une blockchain comme une base de données. Contrairement à la plupart des bases de données conventionnelles, composées de tableaux avec des colonnes et des lignes, une blockchain est composée de blocs séquentiels liés les uns aux autres de manière sécurisée à l’aide de la cryptographie. Une autre différence est que la sécurité ne dépend pas des autorisations d’accès ; au lieu de cela, les données sont vérifiées de manière indépendante.

Dans la plupart des bases de données conventionnelles, il existe quatre types d’actions possibles : créer, lire, mettre à jour et supprimer (CRUD). 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 est validé par plusieurs parties indépendantes afin d’éviter toute fraude.

La chaîne de blocs KSI est en fait un grand arbre de Merkle à croissance continue. Chaque bloc est une valeur de hachage liée au bloc précédent de telle sorte que si l’un des enregistrements de la chaîne était modifié, il serait impossible de calculer correctement les valeurs de hachage des blocs ajoutés ultérieurement.

Ajouter de nouvelles données à la blockchain revient à 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. Ensuite, vous utilisez la même fonction de hachage (l’algorithme SHA-256) pour calculer le hachage du nouveau bloc. Le nouveau bloc est enchaîné de manière incassable au bloc précédent ainsi qu’à l’arbre de Merkle qui vient d’être ajouté à la blockchain.

Pour revenir à l’exemple des crypto-monnaies, chacune des feuilles de l’arbre de Merkle contient des informations sur le grand livre. Le grand livre étant public et immuable, n’importe qui 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 premier niveau de l’arbre de Merkle en croissance continue. Ce hachage est lié aux hachages 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 hachage dans le Financial Times, qui répond à la norme légale des “médias largement diffusés”. En d’autres termes, le hash est entré dans le domaine public. La modification d’une seule feuille d’un arbre de Merkle briserait la blockchain. La publication du hachage dans le Financial Times est un moyen 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 permet d’accéder au sommet de l’arbre, c’est-à-dire aux valeurs de hachage intermédiaires dont vous auriez besoin pour recalculer le hachage publié.

La vérification ne nécessite que le document scellé et l’accès au hachage publié dans le Financial Times. La procédure est la suivante :

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

Ce n’est pas une fin en soi

Compte tenu de la diversité des applications de la blockchain, des mises en œuvre et des nouveaux développements de la technologie, il est probable que vous trouverez une variété d’explications sur ces sujets. Il n’existe pas de moyen rapide et facile de comprendre la technologie blockchain, et la plupart d’entre nous n’en comprendront jamais les moindres détails. Par conséquent, si vous êtes intéressé, prenez votre temps et consultez plusieurs sources.

Des questions ?

Parlez-nous de ce que vous recherchez aujourd'hui.

Nous contacter