#1: TIL about how NFTs work
I know some NFTs are expensive, but man these expensive things can be confusing.
For the past few weeks, NFTs are all the rage that rippled beyond the blockchain community starting with the $69M purchase of a Beeple .jpg, and further amplified in the news with a $2.9M purchase of Jack Dorsey’s first tweet.
People much smarter than me have chimed in on what NFTs are and their value. Some digestible excerpts:
NFTs are blockchain-based records that uniquely represent pieces of media. The media can be anything digital, including art, videos, music, gifs, games, text, memes, and code. (a16z)
There are two reasons that NFTs fascinate me.
The first is that they tap into a consumer behavior that’s perhaps as old as civilization itself. The motivation to find and hold onto a scarce item, a one-of-a-kind, something that no one else can have, feels so natural. […]
The second is that technology itself makes the experience of owning a one-of-a-kind digital asset more valuable. (nbt)
We are in the early stages of the Creator Economy and NFTs. They look like toys. Currently, the main beneficiaries of the Passion Economy and NFTs are traditional Creators - artists, writers, entertainers. It’s easy to dismiss the confluence of these threads as a COVID-and-Bitcoin-induced bubble waiting to pop. But a much bigger shift is underfoot. (Not Boring)
Although I couldn’t really understand the draw, the FOMO hype is real. I started thinking that if the general public starts buying into this, I guess I could also buy into the concept of owning art objects, especially now that digital art is gradually becoming more accepted by the public through projects created by TeamLab.
I’m not a technical person, so I assumed that all NFTs (images, videos, etc.) are stored on the blockchain, and they will continue to exist on the blockchain forever permanently, unable to be copied by others.
As to:
How the files actually get stored on the blockchain,
What exactly does “the blockchain” refer to, and
How long is “forever”?
I simply thought… technology finds a way, and this is the way it is now.
Naturally, cue my surprise when I came upon this tweet of someone curious enough to look into the technicalities, so I dug in. This is my short summary as a non-technical person, which may include a lot of technical inaccuracies1:
Files that are too large are NOT stored on the blockchain. They’re stored in normal servers (or stored “off-chain”).
As a simplification, storing something off-chain is like uploading your videos on Google’s servers (Drive) because it’s way too large to keep on your phone.
Why aren’t they on the blockchain? “Storing data on-chain can get really expensive, and art isn’t known for its small size. Ethereum and smart contract developers realized that uploading even a 1MB image could break their bank accounts, so they wanted to come up with a way to display art without having to upload the entire image.”
When buyers buy these off-chain NFTs, they’re actually buying something called
tokenURI
(Uniform Resource Identifier), which basically tells you the description, where the image/video is located, and other information.

Look at the “image” and “animation_url” above, they point to a .png and a .mp4 pointing to cloudinary.com, which according to the tweet ultimately points to the marketplace’s servers (in this case is Nifty Gateway)
This means when Nifty’s servers are down, the file itself will be unaccessible.
The file will also be unaccessible even when the file name changes on the server from “BIDEN_WIN_iwkosh.png” to “BIDEN_iwkosh.png”.
Mid-May, CheckMyNFT tweets its random audit, finding out that most NFTs are already inaccessible (or offline). Although a week after, it’s gotten better as most NFTs from its checks are back online.
Thus question #1 is solved: how do the files get stored on the blockchain?
The answer: they necessarily don’t. Smaller files may actually be stored on-chain, but bigger files are probably stored off-chain, as storing large files directly on the blockchain gets expensive fast.
For question #2: what exactly does “the blockchain” refers to?
The answer: Depends. Might be Ethereum, Flow Blockchain, Binance Smart Chain, or other blockchains3.
For question #3: How long is “forever”?
The answer: Similarly, it depends.
If the NFT is off-chain, as long as the file is on the server and you know how to reach it (be it through direct URL or IPFS), “forever” depends on when the server eventually goes down, if the server dies in 100 years, then 100 years.
If the NFT is on-chain, as long as one of the chain nodes4 with the file stays online forever, then forever. If all chain nodes with the file die in 100 years, then 100 years.5
In general, I personally think of buying NFTs as buying a receipt of the artwork, not the art itself. If I was to follow the oft-recited example of the Mona Lisa, then buying an NFT of the Mona Lisa is basically buying a receipt that says you shelled out money for it, and maybe you’re the only one lucky buyer, or one lucky buyer out of 50.
Maybe something like buying an Off-White Air Jordan, but without the shoes?
Given that the NFTs themselves are digital files, they’re easily reproduced just by pressing Ctrl+C then Ctrl+V, but if someone is willing to shell out $$ for bragging rights to say that they bought a .jpg, and the seller is willing to print out a receipt for $$ to say that someone bought that .jpg… a trade is executed!
That wraps it up for today, give me your feedback! Cookie points are also accepted, that’s how hungry I am for your acceptance (blame my Asian parents). See you next edition!
I’m mainly looking to “dumb it down”, so let me know if I’m actually dumb and got some concepts wrong. Really, please help to correct me!
IPFS basically creates a hash (a unique code) of files, so when you move the file around or rename the file, as long as it’s the same file, IPFS can fetch the file for you.
There are again already other smarter people that can explain what blockchains are (a16z, Deloitte). For better or worse, I think of them as P2P networks (think torrents) where everyone knows what the other peer is doing to the original contents of the data (be it simple numbers, text, etc.) If there’s a better way to think of the concept, let me know in the comments!
Check a16z’s glossary for the definition of a chain node. I think of it as a peer in P2P (like a torrent peer!)