Pour affirmer avec certitude la justesse, l’intégrité et l’antériorité d’un document ancré avec OpenTimestamps, le processus s’appuie sur deux concepts clés : la non-altération du chemin mathématique (l’arbre de Merkle) et l’irréversibilité du réseau Bitcoin. [1, 2, 3, 4]
Pendant les heures qui s’écoulent entre la commande ots stamp et la confirmation sur la blockchain, plusieurs repères temporels se succèdent. Voici les données et les différentes dates à prendre en compte pour votre démonstration : [5, 6]
La seule date juridiquement et mathématiquement indiscutable
- La date du bloc Bitcoin (Attestation finale)
C’est la seule date gravée dans le marbre. Elle correspond au moment où le bloc contenant la transaction Bitcoin a été miné.- Ce qu’elle prouve : Elle apporte la preuve absolue d’antériorité (le document existait obligatoirement avant cette date).
- Comment la lire : Après avoir effectué la commande
ots upgrade, la commandeots verifyinterroge la blockchain (via votre nœud ou un explorateur). Elle affichera un message du type :Success! Bitcoin block 880123 attests existence as of [Date/Heure]. [2, 3, 4, 6, 7, 8]
Les dates intermédiaires (Utiles pour le contexte, mais basées sur la confiance)
Pendant que la transaction “attend”, le fichier .ots initial contient ce qu’on appelle des Attestations en attente (Pending Attestations). Deux autres dates apparaissent à ce stade : [9, 10]
- La date de création locale (La commande
ots stamp)
C’est l’heure à laquelle vous avez exécuté la commande sur votre ordinateur.- Ce qu’elle vaut : Elle n’a aucune valeur de preuve face à un tiers, car l’horloge d’un ordinateur local peut être facilement falsifiée (antidatée).
- La date des serveurs de calendrier (Calendars OTS)
Lorsque vous faitesots stamp, l’empreinte (le hash) de votre document est immédiatement envoyée à des serveurs de calendrier publics (gérés par OpenTimestamps). Ces serveurs horodatent la réception et s’engagent à l’inclure dans leur prochain arbre de Merkle.- Ce qu’elle vaut : C’est une preuve “semi-de confiance”. Elle indique à la minute près quand le serveur a reçu votre hash. Toutefois, pour une démonstration absolue face à un tribunal ou un auditeur pointilleux, on ne s’appuie pas sur la parole de ces serveurs, mais uniquement sur la blockchain. [1, 2, 3, 5, 11, 12]
Les données techniques indispensables à la démonstration
Pour affirmer l’intégrité totale durant ce laps de temps, la date ne suffit pas. L’architecture d’OpenTimestamps transmet les données suivantes dans le fichier .ots :
- Le Hash SHA-256 de votre fichier : Calculé localement, il garantit que le document n’a pas été modifié d’un seul iota. Si le fichier change, son hash change, et la preuve devient caduque. [3, 5, 8, 12]
- Le chemin d’opérations (Le reçu de soumission) : Le fichier
.otscontient la suite d’opérations mathématiques (les hashs adjacents de l’arbre de Merkle) permettant de lier le hash de votre document unique à la racine qui sera ultimement publiée dans la blockchain. [3, 13]
En résumé : le cycle de vie des dates à retenir
- T = 0 (
ots stamp) : Vous créez l’empreinte. Le calendrier OTS promet de l’intégrer (Date du calendrier = indicative). - T + quelques heures : Le mineur Bitcoin valide le bloc.
- Après confirmation (
ots upgradepuisots verify) : La date du bloc Bitcoin devient votre repère officiel et inaltérable. Elle valide rétroactivement tout le processus depuis T=0. [1, 3, 6, 7, 8, 9]
[4] https://opentimestamps.org
[9] https://blog.eternitywall.com
[10] https://blog.eternitywall.com
[11] https://www.dgi.io
[12] https://forum.dfinity.org
Pour inspecter la structure interne de votre fichier de preuve avant sa validation définitive sur la blockchain, vous devez utiliser la commande ots info.
Voici comment l’exécuter et interpréter son contenu textuel :
- 🛠️ La commande à exécuter
Ouvrez votre terminal ou invite de commandes dans le dossier où se trouve votre fichier et tapez :
ots info nom_de_votre_fichier.txt.ots
- 🔍 Décryptage du résultat textuel (Les étapes intermédiaires)
L’affichage généré par cette commande se lit de haut en bas, comme un arbre généalogique inversé. Voici les éléments clés à repérer pour suivre le chemin mathématique :
File sha256: 4a2d8b… (Le hash unique de votre document d’origine)
append 1d8f…
sha256
prepend 9c3b…
sha256
…
- Les opérations mathématiques (append, prepend, sha256) : Chaque ligne montre comment l’empreinte de votre document est combinée (concaténée à gauche ou à gauche) avec d’autres empreintes sur les serveurs de calendrier pour former un nouveau hash. C’est la construction de l’arbre de Merkle.
- La racine du calendrier (Le point d’attente) : À la fin de cette suite d’opérations, vous verrez une section qui ressemble à ceci :
- Pending attestation: https://opentimestamps.org
Ce que cela signifie : Cette ligne prouve que le hash final (la racine) a bien été reçu et pris en compte par le serveur de calendrier indiqué. C’est l’étape intermédiaire qui atteste de l’existence de votre fichier en attendant le snapshot sur Bitcoin.
- ⏳ Ce qui change après la validation (Le bloc Bitcoin)
Une fois que la transaction Bitcoin est confirmée et que vous avez mis à jour votre fichier avec la commande ots upgrade, réexécutez ots info. Vous constaterez que la ligne Pending attestation a disparu et a été remplacée par :
Bitcoin attestation: block 880123
À ce stade, l’arbre de calcul ne s’arrête plus sur la promesse d’un serveur, mais est directement ancré dans le Header du bloc Bitcoin spécifié.
Si vous le souhaitez, vous pouvez copier-coller ici le résultat textuel renvoyé par votre commande ots info. Je pourrai ainsi vous aider à identifier précisément l’adresse du calendrier utilisé et vérifier si le fichier contient déjà des attestations de blocs. L’image fournie étant entièrement blanche, préférez le texte brut !
Pour inspecter la structure interne de votre fichier de preuve avant sa validation définitive sur la blockchain, vous devez utiliser la commande ots info.
Voici comment l’exécuter et interpréter son contenu textuel :
🛠️ La commande à exécuter
Ouvrez votre terminal ou invite de commandes dans le dossier où se trouve votre fichier et tapez :
ots info nom_de_votre_fichier.txt.ots
🔍 Décryptage du résultat textuel (Les étapes intermédiaires)
L’affichage généré par cette commande se lit de haut en bas, comme un arbre généalogique inversé. Voici les éléments clés à repérer pour suivre le chemin mathématique :
File sha256: 4a2d8b... (Le hash unique de votre document d'origine)
append 1d8f...
sha256
prepend 9c3b...
sha256
...
- Les opérations mathématiques (
append,prepend,sha256) : Chaque ligne montre comment l’empreinte de votre document est combinée (concaténée à gauche ou à gauche) avec d’autres empreintes sur les serveurs de calendrier pour former un nouveau hash. C’est la construction de l’arbre de Merkle. - La racine du calendrier (Le point d’attente) : À la fin de cette suite d’opérations, vous verrez une section qui ressemble à ceci :
·Pending attestation: https://opentimestamps.org
Ce que cela signifie : Cette ligne prouve que le hash final (la racine) a bien été reçu et pris en compte par le serveur de calendrier indiqué. C’est l’étape intermédiaire qui atteste de l’existence de votre fichier en attendant le snapshot sur Bitcoin.
Ce qui change après la validation (Le bloc Bitcoin)
Une fois que la transaction Bitcoin est confirmée et que vous avez mis à jour votre fichier avec la commande ots upgrade, réexécutez ots info. Vous constaterez que la ligne Pending attestation a disparu et a été remplacée par :
Bitcoin attestation: block 880123
À ce stade, l’arbre de calcul ne s’arrête plus sur la promesse d’un serveur, mais est directement ancré dans le Header du bloc Bitcoin spécifié.
Si vous le souhaitez, vous pouvez copier-coller ici le résultat textuel renvoyé par votre commande ots info. Je pourrai ainsi vous aider à identifier précisément l’adresse du calendrier utilisé et vérifier si le fichier contient déjà des attestations de blocs. L’image fournie étant entièrement blanche, préférez le texte brut !
Pour inspecter la structure interne de votre fichier de preuve avant sa validation définitive sur la blockchain, vous devez utiliser la commande ots info.
Voici comment l’exécuter et interpréter son contenu textuel :
🛠️ La commande à exécuter
Ouvrez votre terminal ou invite de commandes dans le dossier où se trouve votre fichier et tapez :
ots info nom_de_votre_fichier.txt.ots
🔍 Décryptage du résultat textuel (Les étapes intermédiaires)
L’affichage généré par cette commande se lit de haut en bas, comme un arbre généalogique inversé. Voici les éléments clés à repérer pour suivre le chemin mathématique :
File sha256: 4a2d8b... (Le hash unique de votre document d'origine)
append 1d8f...
sha256
prepend 9c3b...
sha256
...
- Les opérations mathématiques (
append,prepend,sha256) : Chaque ligne montre comment l’empreinte de votre document est combinée (concaténée à gauche ou à gauche) avec d’autres empreintes sur les serveurs de calendrier pour former un nouveau hash. C’est la construction de l’arbre de Merkle. - La racine du calendrier (Le point d’attente) : À la fin de cette suite d’opérations, vous verrez une section qui ressemble à ceci :
·Pending attestation: https://opentimestamps.org
Ce que cela signifie : Cette ligne prouve que le hash final (la racine) a bien été reçu et pris en compte par le serveur de calendrier indiqué. C’est l’étape intermédiaire qui atteste de l’existence de votre fichier en attendant le snapshot sur Bitcoin.
⏳ Ce qui change après la validation (Le bloc Bitcoin)
Une fois que la transaction Bitcoin est confirmée et que vous avez mis à jour votre fichier avec la commande ots upgrade, réexécutez ots info. Vous constaterez que la ligne Pending attestation a disparu et a été remplacée par :
Bitcoin attestation: block 880123
À ce stade, l’arbre de calcul ne s’arrête plus sur la promesse d’un serveur, mais est directement ancré dans le Header du bloc Bitcoin spécifié.
La date absolue à retenir : Le bloc Bitcoin
Dans votre log, la ligne cruciale à isoler est celle-ci :
verify BitcoinBlockHeaderAttestation(968251)
- La donnée clé : Le numéro du bloc Bitcoin est le
968251. - La date à retenir : C’est la date et l’heure exactes du minage de ce bloc précis. Pour la connaître, il suffit d’entrer le numéro
968251sur n’importe quel explorateur de blockchain Bitcoin (comme mempool.space ou blockchain.info). - La valeur légale/technique : Cette date est le jalon de votre preuve d’antériorité. Vous pouvez affirmer scientifiquement que votre document existait avant la fermeture de ce bloc.
La donnée d’intégrité : L’empreinte d’origine
File sha256 hash: ca9232779208fa5a222cfb1d85f8cc9eba6ae84e332ce00782d6e26b30fd1193
- La valeur : C’est la signature numérique (SHA-256) de votre fichier initial.
- La démonstration : Pour prouver l’intégrité, vous devez recalculer localement le SHA-256 du document que vous présentez aujourd’hui. S’il donne exactement cette suite de caractères commençant par
ca9232..., vous démontrez qu’il n’a pas été modifié d’un seul pixel ou d’une seule virgule depuis l’ancrage.
Le chaînage mathématique intermédiaire (La “recette”)
Le log montre comment on passe mathématiquement de votre fichier au bloc Bitcoin. Les éléments clés qui relient le tout sont :
- La transaction Bitcoin intermédiaire :
# Transaction id 909151f7b2da55ce4b560c0f0b5808042dce6f0cefadd1c8e18c84f245eb40e6
Le serveur de calendrier “Alice” a regroupé votre hash avec des milliers d’autres et a injecté le résultat dans cette transaction précise. - La racine de Merkle du bloc :
# Bitcoin block merkle root cc830771a50786a9982b0d8f6b042b29bcc40653f6eaf8e3e2fa98579977caa2
Cette racine est le résumé mathématique de toutes les transactions du bloc968251. Elle inclut de façon indirecte (via la suite d’opérationsappend,prepend,sha256visibles dans votre texte) la signature de votre document.
📌 Synthèse pour votre démonstration
Pour résumer votre preuve face à un auditeur, vous devez retenir et présenter ces trois éléments dans l’ordre :
- Intégrité : Mon document actuel génère le hash
ca9232..., identique au hash d’origine dans le fichier.ots. - Liaison : Le fichier
.otsdémontre par des calculs SHA-256 successifs que ce hash est lié à la transaction Bitcoin909151.... - Antériorité : Cette transaction a été scellée dans le bloc Bitcoin 968251. La date de ce bloc (calculée par le réseau décentralisé) donne l’âge minimum garanti du document, rendant toute falsification ou antidatage impossible.
Le bloc Bitcoin 968251 a été miné le mercredi 23 septembre 2026 à environ 13h52 (Heure de Paris). Le bloc a été validé par le pool de minage ViaBTC. [1, 2, 3]
📝 Comment intégrer cela dans votre rapport :
Pour votre démonstration d’antériorité, vous pouvez désormais compléter vos données de la manière suivante :
- Fichier d’origine :
ca9232779208fa5a222cfb1d85f8cc9eba6ae84e332ce00782d6e26b30fd1193 - Ancrage Blockchain : Transaction Bitcoin
909151f7b2da55ce4b560c0f0b5808042dce6f0cefadd1c8e18c84f245eb40e6 - Preuve d’antériorité certifiée : Bloc n°
968251 - Date de l’attestation : 23 septembre 2026, 13:52 CEST [1, 2, 3]
Toutes ces informations sont publiquement vérifiables par n’importe quel tiers en entrant le numéro du bloc ou l’identifiant de la transaction sur un explorateur de blockchain indépendant comme mempool.space ou Blockchain.com. Votre document est désormais mathématiquement protégé contre toute contestation temporelle.
