ActualitésCryptoJ’ai analysé toute la blockchain Bitcoin à la recherche d’images. Voici ce que j’ai trouvé

J’ai analysé toute la blockchain Bitcoin à la recherche d’images. Voici ce que j’ai trouvé

Auteur: Bitcoin Magazine·

Points clés

  • L’auteur a synchronisé un nœud Bitcoin Core complet sur un disque dur de 4 terabytes, un processus qui a pris environ 72 hours.
  • PhotoRec a analysé plus d’un terabyte de données blockchain pendant plus de 11 hours sans récupérer d’images significatives.
  • L’analyse a produit quelques faux positifs, dont 8 fichiers ICO et 4 fichiers PNG identiques qui n’affichaient pas d’images réelles.
  • L’article indique que Bitcoin Core utilise XOR pour brouiller les données blockchain et l’ensemble UTXO lorsqu’ils sont stockés sur disque.
  • Selon l’article, les opérateurs de nœuds Bitcoin ordinaires ne trouveront généralement pas de données arbitraires ni d’images identifiables dans leurs données blockchain stockées.
J’ai analysé toute la blockchain Bitcoin à la recherche d’images. Voici ce que j’ai trouvé

Bitcoin Magazine J’ai analysé toute la blockchain Bitcoin à la recherche d’images. Voici ce que j’ai trouvé

J’ai analysé la blockchain Bitcoin à la recherche d’images, et le résultat était inattendu. Beaucoup de choses ont été dites en ligne sur les données arbitraires et les contenus que l’on peut trouver sur la blockchain Bitcoin. Cette possibilité a non seulement donné naissance à une scène artistique de niche, mais a aussi alimenté un mouvement contre les « transactions non monétaires » sur le réseau Bitcoin. À entendre ses partisans comme ses détracteurs, on pourrait imaginer la blockchain comme un mur couvert de graffiti.

J’ai donc décidé de vérifier l’affirmation directement : y a-t-il réellement des images sur la blockchain, et qu’est-ce que cela signifie pour les Bitcoiners qui souhaitent faire tourner leur propre nœud complet et maximiser leur souveraineté financière ? Ma méthode était simple : j’ai acheté un nouveau disque dur pour y stocker la blockchain, puis j’ai exécuté un logiciel classique de récupération d’images sur les données — le type d’outil utilisé pour sauver des images depuis des disques durs endommagés et détecter des données d’images brutes.

J’ai choisi PhotoRec, un programme open source de récupération d’images qui existe depuis plus de 20 ans. Le logiciel est conçu pour العثور des fichiers image dans des données brutes. Il peut récupérer des images et d’autres formats de fichiers depuis des disques durs défaillants ou corrompus. Il est aussi souvent utilisé pour récupérer d’anciens fichiers wallet.dat perdus à l’époque des premiers portefeuilles Bitcoin, avant la généralisation des seed words.

Synchronisation du nœud Bitcoin complet

Pour stocker l’intégralité de la blockchain Bitcoin, j’ai acheté un disque de 4 terabytes pour quelques centaines de dollars. J’y ai ensuite installé la dernière version de Bitcoin Core et commencé à synchroniser la chaîne. Le processus, qui consiste à télécharger et vérifier l’intégrité comptable de toutes les transactions de l’histoire de Bitcoin, a pris environ 72 hours, soit trois jours, Bitcoin Core l’exécutant automatiquement en arrière-plan. J’ai effectué cela sur une machine de jeu par ailleurs puissante ; le principal goulot d’étranglement était le disque dur, lent à lire et écrire les données lors de la synchronisation de la blockchain Bitcoin.

La partie la plus lente du processus concerne l’ensemble des sorties de transaction non dépensées, ou UTXO. Lorsqu’une personne synchronise la blockchain, chaque valeur de transaction non dépensée, ou solde positif, est organisée dans l’ensemble UTXO. À mesure que ces valeurs sont dépensées, elles sont retirées de l’ensemble, et la nouvelle adresse recevant les satoshi est ajoutée.

Sur un disque dur, ce processus d’indexation UTXO aurait pu prendre trois semaines selon certaines estimations ; pour accélérer les choses, mon clanker, un agent IA, a सुझावé d’indexer d’abord les données dans la RAM, puis de les transférer sur le disque de 4 terabytes. Même si l’ensemble du processus a pris trois jours en arrière-plan, un SSD aurait pu accomplir la tâche en environ une journée. Les SSD sont beaucoup plus rapides que les disques durs, mais ils sont aussi plus chers — souvent quatre fois le prix, voire davantage.

Une fois la blockchain entièrement téléchargée et validée, j’ai transféré l’index UTXO de la RAM vers le disque et lancé le logiciel Bitcoin ; la chaîne était entièrement synchronisée et le portefeuille prêt à l’emploi. Il était alors 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 l’intégralité de la blockchain Bitcoin sur mon disque dur, j’ai arrêté Bitcoin Core et demandé à mon clanker, l’agent IA Cursor, d’exécuter PhotoRec 7.2 sur le disque. Par défaut, PhotoRec recherche les formats jpg, png, gif, tif, bmp, ico, psd et raw. Le processus a tourné pendant plus de 11 hours sur les données de la blockchain et n’a finalement trouvé … (roulement de tambour) … rien.

Après plus d’un terabyte de données blockchain analysées pendant une demi-journée, aucune image n’est apparue. La page wiki de PhotoRec donne un exemple simple de son fonctionnement : « 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 sur le disque des octets signalant la présence d’un fichier image.

Le programme peut produire de faux positifs ; il a enregistré 8 ICO et 4 fichiers PNG identiques qui n’affichent aucune image à l’ouverture, comme on peut le voir sur l’image ci-dessous. En pratique, aucune image significative de quelque type que ce soit n’a été trouvée.

Où sont passés les Jpegs ? Les tours de magie XOR

Comment cela est-il possible ? Depuis des années, les acteurs de la crypto parlent des NFTs et de la possibilité de graver des données d’images sur la blockchain Bitcoin. Des millions de dollars ont circulé dans cette niche, et une véritable guerre culturelle se joue toujours à ce sujet. Peut-il vraiment n’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 anticipés depuis longtemps dans les cercles de développement de Bitcoin Core, dès 2011. XOR, une technique simple d’obfuscation des données, est utilisé pour brouiller toutes les données de la blockchain lorsqu’elles sont stockées au repos sur un disque dur.

En termes simples, les ordinateurs fonctionnent avec des 0 et des 1, et XOR compare deux bits et renvoie 1 s’ils sont différents ou 0 s’ils sont identiques. Dans le cas de Bitcoin, XOR compare chaque bit des données de la blockchain à une clé aléatoire générée lors de l’installation initiale, produisant des données au repos que les autres programmes ne peuvent pas interpréter. Cependant, lorsque le logiciel Bitcoin s’exécute, il dispose de la clé nécessaire pour décrypter ces données et les utiliser. XOR est également très rapide, il n’a donc pas d’impact significatif sur les performances. Voici un exemple du bloc genesis de Bitcoin avant et après un XOR.

XOR est actuellement appliqué à la fois aux données de la blockchain et à l’ensemble UTXO. Il a d’abord été évoqué en 2014, lorsque les logiciels antivirus ont commencé à confondre des données blockchain avec du code viral. L’antivirus mettait alors un bloc en quarantaine, corrompant les données de la blockchain et faisant planter Bitcoin, ce qui rendait la synchronisation impossible. Fin 2015, XOR avait été implémenté sur les données UTXO au repos, et en 2024 il a été implémenté sur toutes les données blockchain au repos.

Au passage, le processus XOR signifie qu’aucune donnée arbitraire ne peut être identifiée ou extraite de la blockchain sans contourner volontairement le XOR, une opération qui n’est pas nécessaire à l’usage monétaire de Bitcoin. Puisque le logiciel Bitcoin Core conserve une base de données simple de l’emplacement de chaque bloc brouillé, il peut récupérer ses données, les décrypter et les utiliser de manière ciblée sans difficulté. Synchroniser Bitcoin de manière non brouillée est un processus personnalisé qui peut prendre autant de temps qu’une synchronisation à partir de zéro, puisqu’il faut en pratique réécrire l’intégralité du terabyte de données dans un nouvel ordre, ce qui n’a pas beaucoup d’intérêt pour quelqu’un qui veut seulement les avantages habituels de confidentialité et de sécurité offerts par l’exécution d’un nœud Bitcoin. Ainsi, pour l’immense majorité des copies des données de la blockchain Bitcoin, stockées sur les ordinateurs de Bitcoiners ordinaires partout dans le monde, il n’y a en réalité aucune donnée arbitraire ni image identifiable. Surprenant, je sais. N’hésitez pas à exécuter vous-même le test PhotoRec sur votre propre nœud !

Cet article, I Scanned the Entire Bitcoin Blockchain for Images. What I Found Will Shock You, est paru à l’origine sur Bitcoin Magazine et a été rédigé par Juan Galt.