What is an NFT? (2023 *Limited Edition*)
An "Explain like I'm Five" refresh on the Blockchain, Cryptocurrency, and more
(Ok, I’ll admit that if a five year old could understand this, they would be a genius… but I anticipate you’ll find this helpful nonetheless 🙂)
Imagine a magical Excel spreadsheet floating in the sky, hovering there for all to see.
Anyone can add new rows to it, and everyone can see whenever a change has been made.
In other words, you, personally, can view the contents of this "public spreadsheet", and you can write new things onto it. The only limitation is that you can't edit or delete anything that's already there.
Moreover, you can do all this with no intermediary. You don't need to ask for anyone's permission to access the spreadsheet, and you also don't need permission to write onto it. The spreadsheet functions as a collective space, a sort of commons.
We'll call this public spreadsheet, the blockchain.
What could you write on the blockchain?
Well, you could write any kind of message, like:
"Hello World, I'm excited to write this permanent message on the spreadsheet."
( Message #1 )
You could also type any other arbitrary combination of letters and words, like
"Asdfoj woes mbhlori wasldjio klasdv."
( Message #2 )
It doesn't really matter, as far as being able to publish your message or data onto the spreadsheet.
However, basic practicality would suggest that a "public spreadsheet" like the blockchain could have better uses than for just random letters and words. Since everyone can access the shared spreadsheet, you could use it to deliver information and communicate with other people.
We understand that Message #1 is more useful than Message #2, but we could still come up with something better.
There are different types of messages one could send.
Some messages merely state facts, which could be incredibly trivial as in the "Hello World" example.
Other messages can function as statements of preference or a desire for a particular outcome. We each have preferences for some Outcome X vs Outcome Y, so perhaps it could be useful if I shared with other people what my preferences were. . .
Let's say I want my message to be a set of instructions; I type onto a new cell of the spreadsheet:
"When you are finished cooking, please turn the stove off."
( Message #3 )
This is kind of nice. Someone who knows to look for Message #3 on the public spreadsheet can learn that I have a preference for the stove to be turned off when it's not in use. That message might have a real world impact.
I could also write something more significant, like a legal document, or a contract outlining some rules.
Regardless, the reader of the contract (which would sit on a cell of the public spreadsheet) isn't really obligated to do anything. They can read my rules, learning about what I would like to happen ("turn the stove off"), but they are at liberty to follow or ignore those written words.
What if, instead of publishing instructions for other humans, I were to write a message with a set of instructions that a computer could read and follow?
That would be cool… because the computer has no free will and will do whatever I want it to!
Of course, in the physical space, the computer can't cook me a meal and turn off the stove (yet). But within the digital space, there's nearly an infinite number of things that the computer can do.
So we decide to write a message onto the blockchain, containing a set of instructions for a computer to execute.
Computers like to have their instructions written in Computerese (programming languages) rather than English, which means we'll have to write our rules in a language like Solidity.
We also note that since computers won't do anything unless they've first been told to do so, we’ll need to tell computers in advance to look for messages on the blockchain.
For shorthand, we can now refer to "the set of rules that are designed for computers to read" as a smart contract.
As with human-human contracts, there are many different kinds of smart contracts that we could write, However, some are more useful than others.
So for those more useful kinds, we've identified reusable standards or templates, just like we’ve established templates for common documents like company incorporations, privacy policies, confidentiality agreements, etc.
While there are a variety of standardized smart contracts, in practice we only care about a few of them.
We've decided to refer to these special, few, standardized smart contracts as tokens.
What makes a smart contract eligible to be identified as a "token"?
The computer is told to acknowledge the existence of a "thing".
We create a name for that "thing"*, e.g. ThingeyThing, such that we can distinguish it from other things.
We add rules around being able to “own” and "transfer” ThingeyThing, in addition to some other functions.
i.e. We let the computer know that other humans will be able to use their computers to send and receive ThingeyThing.
We also need to decide whether each instance of ThingeyThing should be fungible or non-fungible (unique).
If fungible, that means ThingeyThing is a cryptocurrency. If non-fungible, ThingeyThing would be an NFT.
Here’s an example of a token smart contract, translated from Computerese into English:
After publishing this token smart contract ( Message #4 ) to the blockchain, we can then send other messages like:
“To computers reading this: Drago says to send 20 ThingeyThings to John Smith.”
( Message #5 )
Then, computers reading the public spreadsheet will see, via Message #4 and Message #5 that Drago now holds 480 ThingeyThings and John Smith holds 20.
What do you think?
In some sense we are exercising a god-like power of being "creator" 🧖♂️🥚👼 , in the same way we would conceptualize God / the Creator as literally speaking things into existence.
Out of pure willpower and imagination, we’ve created a new object that exists in this world. It’s a good that can be owned and exchanged, as is the case with any other good.
“Ok, but what’s the big deal?” one might ask. “If I were to create a real object, I could actually use it. I can sit on a chair, drink a bottle of water… but a ThingeyThing?! What value could this possibly have? Why would anyone want it? It seems like this example you’ve described is just a matter of playing pretend and make believe, but just in a way where everyone can see what you’re pretending, with no intermediary. It’s like collective imaginary playtime. . . how fun. 😏”
What our skeptic has described isn’t wrong. But there are two key ideas at play here:
All computers will act as if ThingeyThing exists. Even if no other human wanted to acknowledge our creation, we have at least “convinced” computers to believe in and interact with ThingeyThing.
So many of the “real” things in our lives exist purely because we collectively agree to pretend they exist, including some of the really important, key ingredients of modern society.
Let’s expand on this counterintuitive second point. . .
Playing Pretend
What if, instead of all this NFT and crypto stuff, I told you that I started:
ThingeyThing, LLC
Would you then agree that ThingeyThing is real?
“Why yes… it says so on this legal document that you signed, and I can look up your company on a public database.”
Hmm… sounds familiar. 🤔
I’ll illustrate the logic behind this using an analysis borrowed from Punk 6529.
Answer this: Where is the company Ford? (Or any other company)
Is it in the logo?
The logo is not the company; the logo is something that the company owns.
Is Ford located in Dearborn, Michigan?
Well, the headquarters is located in Michigan, but is that what you mean when you say “Ford”? Is the company the same thing as its headquarters?
Ford is not an office building, nor does “Ford” refer to the group of people who work within the walls of the office building.
It’s not the manufacturing plant nor the product that it produces.
It also doesn’t feel right to suggest that Ford is found in its articles of incorporation, a piece of paper.
Can you point to Ford and definitively say “there it is!”
So, what is Ford?
Ford is an intersubjective myth that we all agree to pretend exists. . .
While its features can be pointed to (logo, office building, etc.), “Ford” itself exists only in our minds.
To understand this better, consider the three categories of human experience (per Yuval Noah Harari):
Objective (Mutual and Visible)
Subjective (Individual and Invisible)
Intersubjective (Mutual and Invisible)
Intersubjective myths are invisible things that many of us collectively experience. They are the “stories” we buy into, which make society possible.
See more on this in the following Twitter thread:
(There’s no point in me repeating this entire thread because it’s already as well-written and succinct as it needs to be)
If you happen to think cryptocurrencies or NFTs are silly, it’s not that you think that the cryptocurrency or NFT (the ThingeyThing) is itself silly. It means that you don’t believe in the story of the universally accessible, cryptographically secured, “public spreadsheet” and the story behind the specific ThingeyThing.
Objection: “But cryptocurrencies have nothing on Fiat. Fiat currency is backed by the federal government!”
Response: “Backed by the federal government” is simply another story, albeit a very convincing one. It’s an intersubjective myth that we hold, which is the belief that the State will use its coercive powers to physically move you to a prison, take your property, etc. if you don’t agree to pretend that the Fiat piece of paper is real.
Maybe you’d argue that some kind of power like “threat of violence” is necessary to make an intersubjective story real enough for mass adoption. But given our preoccupation with different brands, designers, sports teams, etc. (all of which are memes that have nothing to do with coercion), I don’t think this is the case.
(By the way, “art” and “meme” are simply fancier ways of saying “myths”)
NFTs allow us to isolate the intrinsic meme element from the thing it’s attached to. The technology behind NFTs is what will allow us to see “where” Ford is, or at least one giant step closer.
It makes VISIBLE the intersubjective myths, which are currently sitting invisibly in our minds. This is why NFTs have been referred to as “meme-transport”, ownership, and financialization technology.
None of this last part sounds like an “Explain Like I’m Five” treatment. . . so how about we finish by saying:
NFTs offer a way to identify, transport, and share your imaginary friend with others.
NFTs help show other people what your imaginary friend is like, so that they can decide to play with your imaginary friend too. But it’s still up to you to come up with reasons and convince others that your imaginary friend is worth playing with.
—Drago
P.S. I thought about creating a ThingeyThing NFT, so you can decide to participate with me in pretending that it’s real.
Instead, I’ll just leave you with a link to the cryptocurrency I created a year ago for fun, DragoCoin . . . if you want to own it, you can swap it 1:1 with ETH on UniSwap 😄
I also created an NFT out of this article (soooo Meta) . Collect it as you wish 😄
https://mirror.xyz/dashboard/edit/i3K0kc7OAE1jwe1PpAguWGLlqjPS0rEr7wxHn3P-o68
BONUS Ideas that didn’t make the cut:
"What do you mean when you say 'thing', Drago?"
I mean literally a "thing" in the most abstract, non-concrete sense possible, having no particular form or shape. In the very first step of this exercise, you are creating a new "thing", which, by definition of being a new thing, is different than any of the other "things" that currently exist. We recognize the creation of this new "thing" BEFORE we start specifying any of its features or characteristics, what it is and what it does.
Here’s an example of a basic smart contract:
This contract, titled “SimpleStorage”, gives the computer instructions that:
A thing/variable “storedData” exists (you can name it whatever you want)
storedData can only be an integer.
Someone using a computer can “set” the value of storeData, and also “get” the current value.
If we were to create ThingeyThing in Solidity (Computerese), the first instruction is to tell the computer that "A ThingeyThing now exists"
The computer reads that and is like: "Ok cool. A ThingeyThing now exists. I don't need or care to know anything else about this ThingeyThing yet, other than the basic fact that 'ThingeyThing' exists'.
Great. We've convinced at least the computer that ThingeyThing exists. Perhaps we can now tell the computer some other things that are true about ThingeyThing.
Note that things will be "true" about ThingeyThing purely because we say they are. . . because we are creating ThingeyThing 🧖♂️🥚👼 .
I didn’t speak much on the technical aspects of what make the blockchain possible, including cryptography and the consensus mechanisms. From a UI/end-user perspective, I think those concepts are secondary to what I’ve outlined above. All the “low-tech” user needs to know is that the data can’t be deleted (it’s not hackable, in theory, for now. . .) and that there is no intermediary.
For more info on the token standards, look at ERC-20 and ERC-721
One big thing about data on the blockchain is that any "truths" on there are only "true at time of writing".
Transferring ownership of it doesn't update the original record of ownership. It adds a later entry saying "this ThingeyThing is now owned by Andy". So, you have to go through everything to get to the current truth. That's the "Ledger" part of blockchain definitions such as "shared, immutable ledger" - it's a giant stack of books that can't be changed so you have to find the most recent entry.
Excel is not a great analogy because people are used to it working (mostly) but don't stop to think about data values changing. It would be vastly more painful if every new value created a new copy of the sheet.
Also, because storing data actually ON most blockchains is incredibly expensive, what happens is they usually have an external document with the important details, so there can be 3 or more things in the relationship:
1. the blockchain entry (think of it like a stamp of authenticity)
2. a document with all the details including the blockchain entry address
3. some other digital asset (the NFT image like a bored ape) described by 2 and certified by 1.
A scary number of NFTs are no longer usable beause 2 was lost. The majority of people I've discussed NFTs with don't know about this vulnerability because of the usual "on the blockchain" terminology. However, you will find that big companies like A16Z carefully use terms like "using the analogy of storing on the blockchain" so they can't be accused of lying.
HI Drago,
You left out the fundamental thing. The whole purpose of Fiat currency is to be able to trade for goods and services with other people, and crypto is supposed to be for the same purpose as long as the people you are trading with agree to it having any value. The case for crypto or NFT's having any value is that people accept them on faith, really as with any fiat currency. There is a problem with your example of Ford. Ford provides a product, Ford is transportation and it's logo just represents the company that sells you the ability to drive. It is not an "intersubjective myth" it is the means to have free movement. That is not the same as an NFT rendering of a car, it is freedom of movement in the real world not the metaverse.
The basic premise of NFT's are that people value them and think they are worth large sums of money and will hold value, as with many intrinsic things. The same is true "great art", some people pay large sums of money for "art" that I think is crap, but I think exotic cars are valuable and some think that is foolish. The difference is that we are getting tangible items and blockchain is not.
My point is really just that the only reason for cyrpto or fiat value, or gold for that matter, is that someone is willing to trade with you for something you need. If they are not willing to trade then you have nothing. Being able to trade is the most important thing.