top of page
La preuve d'antériorité via la blockchain lie les informations à un horodatage immuable. Les blockchains publiques sont idéales pour cela. Deux approches existent : enregistrer la donnée complète ou son empreinte numérique. Ancrer le nœud racine d'un arbre de Merkle est aussi efficace. Sur les blockchains compatibles avec l'EVM, les données peuvent être écrites dans des smart contracts. Un certificat contenant les métadonnées est remis à l'utilisateur pour vérifier l'antériorité du document ...

Technologie de la preuve d'antériorité via la blockchain

La preuve d'antériorité via la blockchain lie les informations à un horodatage immuable. Les blockchains publiques sont idéales pour cela. Deux approches existent : enregistrer la donnée complète ou son empreinte numérique. Ancrer le nœud racine d'un arbre de Merkle est aussi efficace. Sur les blockchains compatibles avec l'EVM, les données peuvent être écrites dans des smart contracts. Un certificat contenant les métadonnées est remis à l'utilisateur pour vérifier l'antériorité du document ...

Introduction

Afin de créer une preuve d'antériorité à partir d'une information (ci-après « donnée », c'est-à-dire, par exemple, une chanson, un texte, une image, etc.), il est nécessaire de lier cette information à un horodatage immuable.

En raison de leur nature transparente et résiliente, les blockchains publiques sont des infrastructures non seulement pertinentes mais surtout très efficaces pour horodater les informations.

​

Différentes approches sont par ailleurs possibles pour horodater des informations/données sur une blockchain :

​

  • 1a) enregistrer l’ensemble de la donnée sur la blockchain, ou

​

  • 1b) enregistrer l’empreinte numérique seule (horodatage) de la donnée concernée.​

    • L'approche 1a) est non seulement plus coûteuse que l'approche 1b) mais celle-ci ralentit en outre sensiblement le fonctionnement d’une blockchain. Les deux approches ne permettent en outre pas d’horodater un grand nombre de données (preuves d’antériorité) bien qu’elles soient certes transparentes et faciles à vérifier.

​

  • 2) Ancrer le nœud racine d'un arbre de Merkle où chaque feuille (de l'arbre de Merkle) contient la représentation (hash) de la donnée concernée. Une seule transaction est dès lors créée pour une période donnée, ce, quelle que soit la quantité d'informations à horodater.

​

En outre, sur les blockchains compatibles avec l'Ethereum Virtual Machine (EVM), il est possible d'écrire les données, leurs empreintes numériques ou le nœud racine d'un arbre de Merkle dans des smart contracts au lieu de les inclure dans la transaction. Cette approche permet d'interagir avec les smart contracts à l'aide des données ou de leurs empreintes numériques.

La preuve d'antériorité via la blockchain lie les informations à un horodatage immuable. Les blockchains publiques sont idéales pour cela. Deux approches existent : enregistrer la donnée complète ou son empreinte numérique. Ancrer le nœud racine d'un arbre de Merkle est aussi efficace. Sur les blockchains compatibles avec l'EVM, les données peuvent être écrites dans des smart contracts. Un certificat contenant les métadonnées est remis à l'utilisateur pour vérifier l'antériorité du document ...

Le mécanisme d'ancrage

0) Tout d'abord, un hash de base (genesis hash) est créé comme base d'un arbre de Merkle (voir ci-dessous « 0x34c3aa »).

Ensuite, 1) un autre hash (voir ci-dessous « 0x34c3aa ») est créé à partir des premières informations/données (cf. « Doc 1 ») et est ajouté dans les métadonnées dudit Doc 1 qui contient dès lors des informations telles que le(s) auteur(s) du fichier, le nom du fichier, sa durée (si applicable), etc.

​

L’étape suivante, 2) consiste à combiner ce dernier hash avec le dernier nœud de l'arbre de Merkle afin de créer le nœud de niveau suivant (hash « 0x3eed44 ») jusqu'à ce qu'un seul hash racine soit finalement obtenu (« 0x6590ab ») en tant que combinaison de tous les hashs précédents des autres informations/données, telles que, dans notre exemple ci-dessous, « Doc 2 », « Doc 3 » et « Doc 4 ».

​

Ainsi, la séquence des points 1) et 2) s'applique de la même manière pour le Doc 2, le Doc 3 et le Doc 4. Ce hash racine (« 0x6590ab ») représente ainsi l'ensemble du contenu de l'arbre de Merkle et est incorporé à intervalles réguliers dans une nouvelle transaction blockchain.

Figure 1

La preuve d'antériorité via la blockchain lie les informations à un horodatage immuable. Les blockchains publiques sont idéales pour cela. Deux approches existent : enregistrer la donnée complète ou son empreinte numérique. Ancrer le nœud racine d'un arbre de Merkle est aussi efficace. Sur les blockchains compatibles avec l'EVM, les données peuvent être écrites dans des smart contracts. Un certificat contenant les métadonnées est remis à l'utilisateur pour vérifier l'antériorité du document ...

Figure 2

La preuve d'antériorité via la blockchain lie les informations à un horodatage immuable. Les blockchains publiques sont idéales pour cela. Deux approches existent : enregistrer la donnée complète ou son empreinte numérique. Ancrer le nœud racine d'un arbre de Merkle est aussi efficace. Sur les blockchains compatibles avec l'EVM, les données peuvent être écrites dans des smart contracts. Un certificat contenant les métadonnées est remis à l'utilisateur pour vérifier l'antériorité du document ...

Au final, un certificat (fichier « json » inclus dans un pdf) est remis à l'utilisateur, contenant les métadonnées du document ainsi que les informations nécessaires lui permettant de prouver l'antériorité du document (en cas, par exemple, de contestation de tiers quant à cette antériorité), à savoir, un hash de la transaction et le chemin d'accès à la racine de l'ancrage.

​

Par conséquent, le processus de vérification consiste à recréer le hash du document (et ses métadonnées) à partir du fichier original (ou une exacte duplication de celui-ci), puis de recréer le hash racine à partir du chemin d'accès à la racine contenu dans le certificat, afin de prouver l'antériorité du fichier concerné de manière incontestable.

bottom of page