Aller au contenu principal
Horodatage blockchain
Définition

Technologie horodatage blockchain : SHA-256, Merkle

SHA-256, arbre de Merkle, OP_RETURN et certificat de preuve : guide complet sur chaque étape technique de l'horodatage blockchain vérifiable.

7 min de lecture · Version Markdown

Circuit imprimé doré illustrant la technologie blockchain

horodatage blockchain technologie — Derrière le concept d'horodatage blockchain se cache une mécanique technique précise. Quatre composants s'enchaînent : une fonction de hachage (SHA-256), un arbre de Merkle, une transaction d'ancrage (OP_RETURN) et un certificat de preuve. Chaque maillon de cette chaîne est vérifiable par quiconque, sans intermédiaire. Voici comment fonctionne le processus, du fichier brut jusqu'à la preuve inscrite dans la blockchain.

Le hachage SHA-256 : créer l'empreinte numérique

SHA-256 transforme n'importe quel fichier en une empreinte unique de 64 caractères hexadécimaux, sans jamais révéler le contenu original. C'est la première étape de tout horodatage blockchain.

SHA-256 (Secure Hash Algorithm 256-bit) a été conçu par la NSA et publié en 2001 par le NIST (National Institute of Standards and Technology). Il est utilisé par le réseau Bitcoin depuis 2009 et reste le standard de référence pour le hachage cryptographique.

Quatre propriétés rendent SHA-256 adapté à l'horodatage :

Propriétés de SHA-256 appliquées à l'horodatage
PropriétéDescriptionUtilité pour l'horodatage
DéterministeUn même fichier produit toujours le même hashPermet de vérifier l'intégrité à tout moment
IrréversibleImpossible de reconstituer le fichier depuis le hashProtège la confidentialité du document
Effet avalancheUn seul bit modifié change radicalement le hashDétecte toute altération, même minime
Résistant aux collisions2256 combinaisons (environ 1,16 x 1077)Garantit l'unicité de chaque empreinte

Le hash produit est une chaîne fixe de 256 bits, soit exactement 64 caractères hexadécimaux. Par exemple, le texte "Contrat signé le 5 février 2026" génère un hash totalement différent de "Contrat signé le 6 février 2026". Un espace ajouté, une virgule retirée, un pixel modifié dans une image : chaque variation produit une empreinte radicalement différente.

Le fichier original ne quitte jamais votre ordinateur. Seul le hash est transmis au service d'horodatage. Vous pouvez calculer un hash SHA-256 avec n'importe quel outil : la commande sha256sum sous Linux, shasum -a 256 sous macOS, ou des bibliothèques comme crypto en Node.js et hashlib en Python.

L'arbre de Merkle : agréger les empreintes

L'arbre de Merkle regroupe des milliers de hash en une seule racine, permettant d'ancrer des milliers d'horodatages dans une unique transaction blockchain. Sans cette structure, chaque horodatage nécessiterait sa propre transaction, rendant le processus prohibitif.

Ralph Merkle a breveté cette structure de données en 1979 (brevet US 4,309,569). Le principe est un hachage en cascade :

  1. Chaque document reçoit son propre hash SHA-256 (les feuilles de l'arbre).
  2. Les hash sont combinés deux par deux et re-hachés pour produire des nœuds intermédiaires.
  3. Le processus se répète niveau par niveau jusqu'à obtenir une racine unique : la Merkle root.

Le protocole OpenTimestamps, créé par Peter Todd, utilise des arbres de Merkle pour agréger des milliers de demandes d'horodatage. Une seule transaction Bitcoin suffit alors à ancrer toutes ces empreintes, réduisant le coût unitaire à une fraction de centime.

L'arbre de Merkle présente un avantage décisif pour la vérification : vous n'avez pas besoin de télécharger l'ensemble de l'arbre pour prouver qu'un hash y figure. Il suffit de disposer des nœuds intermédiaires (appelés Merkle path ou chemin de Merkle) reliant votre feuille à la racine. Avec un arbre contenant 1 million de feuilles, seuls 20 hash intermédiaires suffisent (log2(1 000 000) = ~20). Cette efficacité est la raison pour laquelle Bitcoin lui-même utilise un arbre de Merkle dans chaque bloc pour organiser ses transactions.

L'ancrage dans la blockchain via OP_RETURN

OP_RETURN est l'instruction du protocole Bitcoin qui permet d'inscrire jusqu'à 80 octets de données arbitraires dans une transaction, rendant la racine de Merkle permanente et publique. C'est le moment où l'horodatage devient irréversible.

Le processus d'ancrage se déroule en trois temps :

  1. Construction de la transaction : le service d'horodatage crée une transaction Bitcoin contenant un champ OP_RETURN avec la Merkle root (32 octets, soit 64 caractères hexadécimaux).
  2. Diffusion sur le réseau : la transaction est propagée aux nœuds Bitcoin. Les frais de transaction dépendent de la congestion du réseau ; en février 2026, ils se situent entre 1 et 5 EUR pour une transaction standard.
  3. Inclusion dans un bloc : un mineur intègre la transaction dans un nouveau bloc. Le temps moyen d'attente est de 10 minutes sur Bitcoin. Une fois le bloc validé et confirmé par les blocs suivants, l'ancrage est considéré comme définitif après 6 confirmations (environ 1 heure).

Pourquoi OP_RETURN et pas un autre mécanisme ? Cette instruction marque la sortie comme non dépensable (provably unspendable), ce qui signifie que les nœuds du réseau peuvent la supprimer de leur ensemble UTXO (Unspent Transaction Output) sans risque. C'est la méthode approuvée par la communauté Bitcoin pour stocker des données sans gonfler l'ensemble UTXO.

Sur d'autres blockchains, l'ancrage peut passer par un smart contract (Ethereum, Tezos) ou par des mécanismes spécifiques à chaque réseau. Le principe reste identique : inscrire une empreinte dans un registre immuable et horodaté.

Le certificat de preuve : anatomie et contenu

Le certificat de preuve contient toutes les informations nécessaires pour vérifier un horodatage de manière autonome, sans dépendre du prestataire qui l'a émis. C'est le document que vous conservez et présentez en cas de litige.

Un certificat d'horodatage blockchain standard contient :

  • Hash du document : l'empreinte SHA-256 du fichier original (64 caractères).
  • Identifiant de transaction (TXID) : la référence unique de la transaction blockchain contenant l'ancrage.
  • Numéro de bloc : le bloc dans lequel la transaction a été incluse, avec son horodatage Unix.
  • Chemin de Merkle : la suite de hash intermédiaires reliant l'empreinte du document à la racine inscrite dans la blockchain.
  • Identifiant de la blockchain : le réseau utilisé (Bitcoin mainnet, Ethereum mainnet, etc.).

Avec le protocole OpenTimestamps, le certificat prend la forme d'un fichier .ots encodé en binaire. Ce fichier pèse quelques kilo-octets et contient l'intégralité de la chaîne de vérification. D'autres prestataires (BlockchainYourIP, KeeeX, Ipocamp) délivrent des certificats au format PDF incluant un QR code de vérification.

Formats de certificats d'horodatage
FormatProtocole / prestataireVérification
.ots (binaire)OpenTimestampsCLI open source ou opentimestamps.org
PDF avec QR codeBlockchainYourIP, IpocampInterface web du prestataire
JSON structuréChainpoint, EASAPI ou vérificateur open source

Quel que soit le format, le certificat doit être conservé avec le fichier original. Sans le document source, vous ne pouvez pas recalculer le hash pour prouver la correspondance. Sans le certificat, vous ne pouvez pas remonter jusqu'à la transaction blockchain.

La vérification indépendante étape par étape

Vérifier un horodatage blockchain prend moins de 30 secondes et ne nécessite aucun logiciel payant ni aucun compte utilisateur. Le processus est identique quel que soit le prestataire d'origine.

La vérification se décompose en quatre étapes :

  1. Recalculer le hash : appliquez SHA-256 au fichier original. Si le résultat diffère de celui inscrit dans le certificat, le document a été modifié depuis l'horodatage. La vérification s'arrête.
  2. Reconstituer le chemin de Merkle : utilisez les hash intermédiaires du certificat pour recalculer la racine de l'arbre, niveau par niveau.
  3. Comparer avec la blockchain : consultez la transaction (TXID) sur un explorateur de blocs. Le champ OP_RETURN doit contenir exactement la Merkle root calculée à l'étape précédente.
  4. Confirmer la date : le bloc contenant la transaction porte un horodatage Unix (timestamp). Ce timestamp indique quand le bloc a été miné et validé par le réseau.

Des outils gratuits effectuent cette vérification automatiquement :

  • OpenTimestamps.org : glissez-déposez le fichier et le certificat .ots pour une vérification instantanée.
  • Explorateurs de blocs : blockchain.com pour Bitcoin, etherscan.io pour Ethereum, permettent de consulter le contenu brut d'une transaction.
  • Ligne de commande : l'outil ots verify d'OpenTimestamps vérifie localement, avec votre propre nœud Bitcoin pour une confiance maximale.

L'indépendance de la vérification est le point central. Même si le prestataire d'horodatage fait faillite, change de politique ou supprime votre compte, la preuve reste vérifiable tant que la blockchain existe et que vous conservez le fichier original et son certificat.

Le processus technique d'horodatage blockchain s'appuie sur quatre composants éprouvés : SHA-256 pour l'empreinte, l'arbre de Merkle pour l'agrégation, OP_RETURN pour l'ancrage et le certificat pour la vérification autonome. Chaque composant est standardisé, documenté et vérifiable par des outils open source. La technologie n'est pas expérimentale : elle repose sur des algorithmes utilisés depuis plus de 20 ans et une blockchain (Bitcoin) fonctionnelle depuis le 3 janvier 2009.

10 min
temps moyen de generation d'un bloc Bitcoin (ajuste toutes les 2016 blocs) Source : Bitcoin Protocol
La blockchain offre un niveau de preuve d'antériorité sans précédent grâce à son caractère immuable et décentralisé.
CNIL, Rapport sur la blockchain 2024
FAQ

Questions fréquentes

SHA-256 est un algorithme cryptographique qui transforme n'importe quel fichier en une empreinte unique de 64 caractères hexadécimaux. Il est utilisé car il est déterministe (même fichier = même hash), irréversible (impossible de retrouver le fichier depuis le hash) et résistant aux collisions (2 puissance 256 combinaisons possibles).
Un arbre de Merkle est une structure de données qui combine des milliers de hash en une seule racine par hachage en cascade. Il permet d'ancrer des milliers d'horodatages dans une unique transaction blockchain, réduisant le coût unitaire à une fraction de centime.
OP_RETURN est une instruction du protocole Bitcoin qui permet d'inscrire jusqu'à 80 octets de données arbitraires dans une transaction. Les services d'horodatage l'utilisent pour inscrire la racine de Merkle contenant les empreintes des documents horodatés.
Recalculez le hash SHA-256 de votre fichier, puis utilisez le certificat de preuve pour remonter l'arbre de Merkle jusqu'à la racine. Vérifiez ensuite sur un explorateur de blocs (blockchain.com) que cette racine correspond au champ OP_RETURN de la transaction référencée. Des outils comme OpenTimestamps automatisent ce processus.
Non. Seule l'empreinte cryptographique (hash) du fichier est inscrite dans la blockchain. Le document original reste sur votre ordinateur ou chez votre prestataire. Il est mathématiquement impossible de reconstituer le fichier à partir de son hash.

Sources

Cette page vous a-t-elle été utile ?