NFTs: A PM's intro
No points if you saw this coming a mile away. It's nearly impossible to talk about anything on the net without meandering into NFTs, as this strip duly notes. Some would say this's the web 3.0 version of Godwin's law.
Even if you've been living under a rock, I'll assume you have heard of people pouring in millions of dollars to buy colourful drawings of apes. About geeks finally getting to be friends with celebrities. About an entire section on the internet talking about NFT scams. Yada yada.
If you're looking to understand the philanthropic, economic and ideological implications of NFTs, you came to the WRONG place. Let me repeat that - that's NOT what we're going to talk about.
Instead, we'll be talking about the basics, i.e.:
And that's all. If you're interested in discussing if NFTs are God's gift to mankind or another Ponzi scheme, there're a million other sites out there. I think the tech's cool, so let's just talk about...
What are NFTs?
If you think of apes, dolphins & cool avatars when you hear NFTs, you're probably not alone. Most people think of the images themselves as NFTs. Technically though, the images are just a part of the NFT - the underlying asset, if you will. Let's see how that works.
NOT a NFT
As a cursory search will tell you, an NFT is a Non-Fungible Token. Let's break this down:
Non-fungible: Meaning it's unique and cannot be duplicated, further described here
Token: Meaning it's a record on a registry, as described here
See what I mean? NFTs are, by definition, tokens! Which means they're records on a registry. Not colourful images of unicorns and apes. Well then you'd want to know...
What's the deal with NFTs & blockchains?
If NFTs are records, we need a registry to record them. Specifically, a registry that's publicly accessible, tamperproof and durable. Sounds like something you've heard of? That's right, we're talking about blockchains. And that's where NFTs live.
As a gross oversimplification, you may think of NFT as a record in a database
Now if you imagine a NFT as a record in a blockchain, how do you check if the record exists? To do so, you'll need
The location of the record (NFT), called the "wallet address" on a blockchain
A record ID (the location might have several records), called the "Token ID"
As described here, these two details above are quoted whenever anyone talks about a specific NFT.
The smart contract address tells you the protocol that was used to create the NFT. But you can probably live without checking that one.
Next, let's talk about what this record includes, in our next section...
What are the parts of a NFT?
A standard NFT record would include
The address of the owner: Again a blockchain wallet address, doubles up as the proof of ownership
The address to a metadata file: Usually hosted "off-chain", more on that below
Transaction history related to the record (NFT)
And that's it. There's no image in the "NFT", not even a link to its location or a description of its colour. Why's that, you ask? Because it's damn expensive to write stuff onto a blockchain. To put it into perspective:
The costs to simply just store a blockbuster movie like James Cameron’s Avatar on the Ethereum blockchain would be more than the costs of making the $237 million film.
In essence, the NFT image is the third layer in the hierarchy, in the following order
NFT token, which points to a metadata file
Metadata file, which points to another location
The actual file, which could be an image, a tweet or anything else
Of these three, the NFT token is the only one that lives on a blockchain.
What about the metadata file?
Next we come to the interesting and often overlooked part of the NFT - the metadata file. This's simply a JSON file, which talks about
The name of the NFT
An address to the underlying file
Other optional attributes
In other words, the metadata file tells you everything about the rainbow unicorn you're interested in. The file itself looks something like this:
Now where do you keep this metadata file? Not on the blockchain, unless you want to go bankrupt before selling your million dollar NFT.
Instead, we keep (host) it on a https location - like most sites on the internet. Or we could store it on a distributed storage using IPFS. IPFS is a whole different topic, so let's not get into details right now. But while we're talking metadata, here's some bonus content:
Storing a file in IPFS means it cannot be changed, unlike in case of a https URL. So if a NFT metadata file and the underlying image URI point to a IPFS location, it is deemed to be more secure.
In certain cases you might see that the metadata is frozen. This's a guarantee that the metadata file won't be changed later, i.e. there'll be no rug pull scam.
For extra security, there are proposals to store a hash of the underlying image in the metadata, thereby ensuring it won't be changed later either.
And with that, we come to the final piece of the puzzle:
What about my rainbow unicorn?
The Rainbow Unicorn <3
The underlying asset is simply a file, which can be an image of a unicorn, a PDF of your sketch or anything really. It can be hosted anywhere too, even on your desktop. Of course if you're looking to sell you NFT for a few million you'll probably have to store it somewhere more secure and less susceptible to tampering (think IPFS).
Here's a great illustration of where different data points for NFT listings come from
That's all about NFTs. Now when you hear about NFTs, you might have heard of smart contracts too. So next we talk about...