J’ai scanné la blockchain Bitcoin à la recherche d’images ; ce que j’ai trouvé va vous choquer. On a beaucoup parlé en ligne des données et contenus arbitraires que l’on peut trouver sur la blockchain Bitcoin. Non seulement cette possibilité a donné naissance à une scène artistique de niche, mais elle a également conduit à un mouvement contre les « transactions non monétaires » sur le réseau Bitcoin. Si vous entendiez l’un de ses partisans ou ses détracteurs, vous penseriez que la blockchain est essentiellement un mur rempli de graffitis.
Eh bien, j’ai décidé de mettre la question à l’épreuve : y a-t-il réellement des images sur la blockchain ? Et qu’est-ce que cela signifie réellement pour les Bitcoiners qui essaient simplement de gérer leur propre nœud complet et de maximiser leur souveraineté financière ?
Ma méthodologie était simple : je devais acheter un nouveau disque dur pour stocker la blockchain, puis j’allais exécuter un logiciel de récupération d’images classique sur les données – quelque chose utilisé pour récupérer les images de disques durs cassés, quelque chose conçu pour trouver des données d’image brutes.
J’ai choisi PhotoRec pour effectuer le travail de récupération d’images, un programme de récupération d’images open source qui existe depuis plus de 20 ans. Le logiciel est conçu pour rechercher des fichiers image dans des données brutes. Cela peut être utilisé pour récupérer des images et d’autres formats de fichiers à partir de disques durs en panne ou corrompus. Il est en fait souvent utilisé pour récupérer les fichiers wallet.dat perdus depuis les débuts des portefeuilles Bitcoin, avant la prolifération du format seed word.
Synchronisation du nœud Bitcoin complet
Pour stocker la blockchain Bitcoin complète, j’ai décidé d’acheter un lecteur de disque de 4 téraoctets pour quelques centaines de dollars. J’ai ensuite installé la dernière version de Bitcoin Core dessus et commencé à synchroniser la chaîne. Le processus, qui implique le téléchargement et la vérification de l’intégrité comptable de toutes les transactions de l’historique Bitcoin, a duré environ 72 heures ou trois jours, automatisé et exécuté en arrière-plan par le logiciel Bitcoin Core.
Je l’ai fait avec une machine de jeu par ailleurs puissante ; Le principal goulot d’étranglement en termes de temps était le lecteur de disque, qui est lent à lire et à écrire les données nécessaires lors de la synchronisation de la blockchain de Bitcoin. La partie lente du processus implique l’ensemble des sorties de transaction non dépensées, ou UTXO. Lorsqu’un utilisateur synchronise la blockchain, chaque valeur de transaction (sortie) ou solde positif non dépensé est organisé dans l’ensemble UTXO, et à mesure que ces valeurs sont dépensées, elles sont supprimées de l’ensemble, tandis que la nouvelle adresse à laquelle ces satoshi ont été envoyés est ajoutée.
Sur le lecteur de disque, ce processus d’indexation UTXO aurait pu prendre trois semaines selon certaines estimations, donc pour l’accélérer, mon clanker (agent IA) a suggéré d’indexer les données dans la RAM à la place, puis de déplacer les données vers le lecteur de disque de 4 téraoctets. Alors que l’ensemble du processus a pris trois jours, exécuté en arrière-plan, un SSD aurait pu faire tout le travail en une journée environ. Les disques SSD sont beaucoup plus rapides que les disques durs ; ils sont plus modernes, mais ils coûtent aussi facilement quatre fois le prix, voire plus.
Une fois la blockchain entièrement téléchargée et validée, nous avons déplacé l’index UTXO de la RAM vers le disque et démarré le logiciel Bitcoin ; la chaîne était entièrement synchronisée et le portefeuille prêt à l’emploi. Il était désormais temps de passer à l’étape suivante : récupérer les images stockées sur la blockchain.
Récupération d’images sur la Blockchain avec PhotoRec
Avec la blockchain Bitcoin complète sur mon lecteur de disque, j’ai désactivé Bitcoin Core et demandé à mon clanker (agent Cursor AI) d’exécuter PhotoRec 7.2 sur le lecteur. Le processus PhotoRec par défaut recherche les formats jpg, png, gif, tif, bmp, ico, psd et raw. Le processus a duré plus de 11 heures sur les données de la blockchain et n’a finalement trouvé… (roulements de tambour)… rien.
Plus d’un téraoctet de données blockchain et une demi-journée de numérisation et aucune image n’est apparue. La page wiki PhotoRec donne un exemple simple du fonctionnement du logiciel : « PhotoRec identifie un fichier JPEG lorsqu’un bloc commence par : 0xff, 0xd8, 0xff, 0xe0, 0xff, 0xd8, 0xff, 0xe1 ou 0xff, 0xd8, 0xff, 0xfe. » En d’autres termes, le programme recherche dans les données du disque les octets qui signalent la présence d’un fichier image.
Le programme est capable de faux positifs ; il a enregistré 8 ICO et 4 fichiers PNG identiques qui n’affichent aucune image une fois ouverts, comme le montre l’image ci-dessous. Ainsi, aucune image significative d’aucune sorte n’a été trouvée.

Où sont passés les fichiers JPEG ? Tours de magie XOR
Comment est-ce possible ? Depuis des années, les crypto-monnaies parlent des NFT et de la façon de graver des données d’image sur la blockchain Bitcoin. Des millions de dollars ont été investis dans ce créneau, et toute une guerre culturelle se déroule actuellement sur ce sujet. Ne peut-il vraiment y avoir aucune image sur la chaîne ?
Il s’avère que les risques liés aux données arbitraires ont été discutés et planifiés dans les cercles de développement de Bitcoin Core depuis longtemps, dès 2011. XOR, une simple technique d’obscurcissement des données, est utilisée pour brouiller toutes les données de la blockchain alors qu’elles sont au repos sur un disque dur.

Vous avez peut-être entendu dire que le langage fondamental des ordinateurs est composé de 0 et de 1. Eh bien, en un mot, XOR compare deux chiffres ou bits et renvoie 1 si les bits sont différents ou 0 si les bits sont identiques. Dans le cas de Bitcoin, XOR compare chaque bit de données de la blockchain à une clé aléatoire générée lors de l’installation initiale, ce qui donne lieu à des données au repos dans lesquelles d’autres programmes ne peuvent trouver aucune signification. Cependant, lorsque le logiciel Bitcoin s’exécute, il dispose de la clé pour déchiffrer ces données et les utiliser à volonté. XOR est également très rapide, il n’a donc pas d’impact significatif sur les performances. Voici un exemple du bloc de genèse Bitcoin avant et après un XOR.

XOR est actuellement appliqué à la fois aux données blockchain et à l’ensemble UTXO. XOR a été initialement évoqué en 2014, lorsque le logiciel antivirus a commencé à être déclenché par des données de blockchain qu’il interprétait comme du code de virus. Le logiciel antivirus mettrait alors un bloc en quarantaine, corrompant les données de la blockchain et faisant planter Bitcoin, rendant la synchronisation impossible. Fin 2015, XOR avait été implémenté sur les données de l’ensemble UTXO au repos et en 2024, il a été implémenté sur toutes les données de la blockchain au repos.
Par ailleurs, le processus XOR signifie qu’aucune donnée arbitraire ne peut être identifiée ou extraite de la blockchain sans contourner intentionnellement le XOR, un processus qui n’est pas nécessaire pour l’utilisation monétaire du Bitcoin. Étant donné que le logiciel Bitcoin Core conserve une base de données simple de l’emplacement de chaque bloc brouillé, il peut facilement obtenir ses données, les déchiffrer et les utiliser de manière ciblée.
La synchronisation de Bitcoin de manière non cryptée est un processus personnalisé qui peut prendre autant de temps que la synchronisation à partir de zéro, car il doit essentiellement réécrire l’intégralité du téraoctet de données dans un nouvel ordre, et cela n’a pas beaucoup d’intérêt pour quelqu’un qui veut juste les avantages normaux en matière de confidentialité et de sécurité de l’exécution d’un nœud Bitcoin. Ainsi, lorsqu’il s’agit de la grande majorité des copies des données de la blockchain Bitcoin, reposant sur les ordinateurs des Bitcoiners normaux à travers le monde, il n’existe en réalité aucune donnée ou image arbitraire pouvant être identifiée. Choquant, je sais. N’hésitez pas à exécuter vous-même le test PhotoRec sur votre propre nœud !