I Scanned the Entire Bitcoin Blockchain for Images. What I found will shock you

I scanned the Bitcoin blockchain for images; what I found will shock you. Much has been said on the internet about the inappropriate data and content that can be found on the Bitcoin blockchain. This may have not only been a niche for art, but also led to a movement against ‘non-cash transactions’ on the Bitcoin network. If you were to listen to one of its supporters or opponents, you would realize that blockchain is a wall full of graffiti.
However, I decided to test the question: are there really pictures on the blockchain? And what does this really mean for Bitcoiners trying to run their full node and grow their financial empire?
My approach was simple: I would buy a new hard drive to store the blockchain, then I would use an old image recovery software on the data- something used to rescue images from broken hard drives, something designed to recover raw image data.
I chose PhotoRec for photo recovery, an open source photo recovery program that has been around for over 20 years. The software is designed to find image files from raw data. This can be used to recover images and other file formats from failed or damaged hard drives. It is actually often used to restore lost wallet.dat files from the early days of Bitcoin wallets, before the rise of the seed name format.
Full Bitcoin Node Synchronization
To store the complete Bitcoin blockchain, I decided to buy a 4-terabyte disk drive for a few hundred dollars. Then I installed the latest version of Bitcoin Core on it and started syncing the chain. The process, which includes downloading and verifying the accounting integrity of all transactions in the history of Bitcoin, took about 72 hours or three days, is automated and runs in the background by the Bitcoin Core software.
I did this with an otherwise powerful gaming machine; the main bottleneck in terms of time was the disk drive, which is slow to read and write data as needed when synchronizing the Bitcoin blockchain. The slowest part of the process involves a set of unused transaction outputs, or UTXO. When a user synchronizes the blockchain, all unused money (output) or good balance is organized into a set of UTXO, and as those values are destroyed, they are removed from the set, while the new address where those satoshis were sent.
On a disk drive, this UTXO indexing process would take three weeks according to some estimates, so to speed it up, my clanker (AI agent) suggested that we index the data in RAM instead, and move the data back to the 4-terabyte disk drive. While the whole process took three days, running in the background, the SSD could do the whole job in about a day. SSD drives are much faster than disk drives; they are modern, but also easily four times the price, or more.
Once the blockchain was fully downloaded and verified, we moved the UTXO index from RAM back to disk and started the Bitcoin software; the chain was fully aligned and the wallet was ready to go. Now it was time for the next step: restoring the images stored on the blockchain.
Photo Recovery on Blockchain with PhotoRec
With the full Bitcoin blockchain on my disk drive, I turned off Bitcoin Core and asked my clanker (Cursor AI agent) to run PhotoRec 7.2 on the drive. PhotoRec’s automated process checks for jpg, png, gif, tif, bmp, ico, psd, and raw formats. The process ran for over 11 hours on the blockchain data and finally found … (drum roll) … nothing.
Over a terabyte of blockchain data and half a day of scanning and no images revealed. The PhotoRec wiki page gives a simple example of how the software works: “PhotoRec identifies a JPEG file if the block starts with: 0xff, 0xd8, 0xff, 0xe0, 0xff, 0xd8, 0xff, 0xe1, or 0xff, 0xd8, 0xff, 0xfe, 0xfe. In other words, the program looks for data on disk in bytes indicating that there is an image file.
The program is able to detect lies; stored 8 ICOs and 4 identical PNG files that do not display images when opened, as seen in the image below. Therefore, no meaningful images of any kind were found.
Where Have The Jpegs Gone? XOR Magic Tricks
How is this possible? For years, crypto people have been talking about NFTs and how to record image data on the Bitcoin blockchain. Millions of dollars have moved into this niche, and an entire culture war is being fought over this issue as we speak. Are there really no pictures in this chain?
It turns out that the risks involved with improper data have been discussed and discussed in Bitcoin Core development circles for a long time, since 2011. XOR, a simple data processing method, is used to scramble all the blockchain data while it is resting on the hard drive.

You may have heard that the basic language of computers is made up of 0’s and 1’s. Briefly, XOR compares two digits or bits and returns 1 if the bits are different or 0 if the bits are the same. In the case of Bitcoin, XOR compares every piece of blockchain data with a random key created during the initial entry, resulting in a rest of the data that other systems cannot find meaning in. However, when the Bitcoin software runs, it has the key to unlock that data and use it as it pleases. XOR is also very fast, so it doesn’t noticeably affect performance. Here is an example of a Bitcoin genesis block before and after XOR.

XOR is currently used on both blockchain data and the UTXO set. XOR was first discussed in 2014 when anti-virus software began to stumble upon blockchain data that was interpreted as virus code. Anti-virus software will then split the block, corrupt the blockchain data and crash Bitcoin, making synchronization impossible. By the end of 2015, XOR was applied to the UTXO set data at rest and by 2024 it was applied to all blockchain data at rest.
After all, the XOR process means that no ambiguous data can be identified or removed from the blockchain without intentionally going through the XOR, a process that is not required in Bitcoin transactions. Since the Bitcoin Core software maintains a simple database of the location of each abandoned block, it can find its data, remove it and use it in a targeted way.
Synchronizing Bitcoin immutably is a custom process that can take as much time as synchronizing from scratch, since it basically has to rewrite a full terabyte of data in a new way, and there is no big point in that for someone who just wants the general privacy and security benefits of using a Bitcoin node. So when it comes to the multitude of copies of Bitcoin blockchain data, placed on the computers of ordinary Bitcoiners all over the world, there is no mysterious data or images that can be identified. Shocking, I know. Feel free to run the PhotoRec test yourself on your site!



