I love the concept of NFTs (non fungible tokens). So much so that we're organizing a conference about them. But whenever I mention NFTs to someone who's not into them, I get this wide-eyed look of confusion. Tokens were hard enough to understand, but non fungible tokens?

“Why do you people have to use Star Trek lingo all the time?” I'm often asked.

Klingon
Klingon

It's time to simplify and demistify. This post is the only explanation of NFTs you'll ever need. Grab a cup, sit back, and fire up your auto-scroller for the next 10 minutes.

Fungibility

In a nutshell, when something is fungible it is interchangeable. That's literally it.

Here's the long explanation.

When you have a $20 bill, that piece of paper is identical in value to another $20 bill. If the bill is damaged, you take it to a bank and they will replace it for another, also worth $20. There is no way to get a $20 bill that'll get you $25 worth of beer, or $15 worth of bread. $20 is $20 and that's that. It doesn't matter if Elvis had the $20 in his hand at one point. It doesn't matter if the $20 came from a drug raid on the Mexican border. The $20 is worth $20. The US Dollar is fungible in that each bill of the same monetary value in that financial system is exchangeable for another.

When something is non-fungible, the elements belonging to a collection are not interchangeable. Think of collectible baseball cards – each has a different value based on the character on that card. Or Pokemon – if you collect a Magikarp, you're not going to be able to trade it for someone's Mewtwo (unless that person agrees, but we're not talking about trade and subjective value). In an MMORPG if you find a unique sword in a level 100 dungeon, that sword is definitely not interchangeable with a starting blade from when your character was level 1.

Swords
Swords

Thus, bringing back the USD use case, we can further clarify that the US Dollar is semi-fungible in that it has several collections each of which has interchangeable members, but those members are not interchangeable across collections. In other words $20 is not fungible with a single $10, but only with other $20s. The USD would be fully non-fungible if there was only one $20 bill in existence. It would be fully fungible if only $20 bills existed in the world.

The First NFT

The first NFTs were created some time in 2016, but they only became popular at the end of 2017 when CryptoKitties were released and went viral. Since then, many alternatives showed up but none of them hit a home run similar to the digital cats. So what was it all about?

Crypto kitties
Crypto kitties

In CryptoKitties, each cat is a unique token with special attributes. Remember how we said Pokemons were non-fungible? This is because each Pokemon type looks different and can do different things – their attributes and skills differ. In CryptoKittes, a similar thing took place. By breeding kittens, each new cat would be given a mixture of its parents' attributes, plus a random selection determined by the blockchain. These attributes affected how the cats looked, so each cat was also unique in appearance. This made them special – and the more rare an attribute (like a cat with devil horns), the more valuable it was to the collectors.

Copying a.k.a. how does it work?

But… if it's all digital, what makes them unique? Can't you just copy something digital and then have multiple copies of it?

Excellent question, attentive reader.

Attentive reader
Attentive reader

This is where the blockchain comes in. While non-fungible digital assets were already possible on regular servers, they relied on centralized architecture and oversight – someone's server was in charge which meant they could disappear overnight, change some of the values on some of the assets, print new assets at will without anyone knowing, and more. Blockchain makes this transparent and immutable (unchangeable).

The same security that blockchain provides to “regular digital money” or fungible tokens applies to NFTs as well: thousands of computers are executing the same code, reaching the same conclusion, and verifying each other's result making sure no one is cheating, or kicking them out of the network if they are. So too in NFTs do the machines make sure there is only one copy of a given NFT at any given time, and that it is owned by the person who is supposed to be owning it.

We highly recommend reading this blockchain introduction and this Ethereum introduction if any of this is unclear – those introductions were also written in a way to be completely newbie-friendly, but do lay the foundation for this post quite nicely.

So how does it work… concretely?

Let's get down to brass tacks.

Imagine a spreadsheet with information like this:

AttributeValue
Color#00ff00
ID00001
SkillsSword,Bow,Nunchaks
NameGreen Samurai
AttributeValue
Color#ff0000
ID00002
SkillsFists
NameRed Samurai
AttributeValue
Color#0000ff
ID00003
SkillsSmall Guns
NameBlue Samurai

We have three little tables, each describing a samurai with a different name, color, and ability. Each samurai has his own ID which is unique. There can only be one #00001 samurai, only one #00002 samurai, etc.

via http://adamdmuga-yr3.blogspot.com/2013/12/concepting-carrying-on-with-concepting.html?m=0
via http://adamdmuga-yr3.blogspot.com/2013/12/concepting-carrying-on-with-concepting.html?m=0

Now imagine if you could own a samurai. Let's add a new field into each table.

AttributeValue
Color#00ff00
ID00001
Owner0x0
SkillsSword,Bow,Nunchaks
NameGreen Samurai
AttributeValue
Color#ff0000
ID00002
Owner0x0
SkillsFists
NameRed Samurai
AttributeValue
Color#0000ff
ID00003
Owner0x0
SkillsSmall Guns
NameBlue Samurai

0x0 is a “null address” which means each of these samurai is owned by no one. If we change the owner to an address, like for example 0x4da2e85d64bece663ccab06e89b970b6b077f22f, then whoever has control over that address will be the owner of that samurai:

AttributeValue
Color#00ff00
ID00001
Owner0x4da2e85d64bece663ccab06e89b970b6b077f22f
SkillsSword,Bow,Nunchaks
NameGreen Samurai

The user 0x4da2e85d64bece663ccab06e89b970b6b077f22f now owns samurai 00001.

Because this is written on the blockchain, all the nodes will make sure that:

  1. only one samurai with ID 00001 ever exists
  2. only one person can own a specific samurai

The owner can also transfer a samurai:

SamuraiContract.methods.transfer("0x2489efb207809c237c85c202d0fa78c8b236709c", 00001)

Whoever calls this function in the blockchain will tell the “samurai” smart contract (the blockchain program running the samurai logic): “Transfer my 00001 samurai to the address 0x2489efb207809c237c85c202d0fa78c8b236709c”. If the one initiating the transfer is not the owner of 00001, then the transaction will simply fail, secured by the blockchain.

This is literally it – this is what happens behind the scenes when NFTs are built and deployed. A bunch of mini-tables in a big spreadsheet and only the owners of specific cells can change the values of those specific cells, while the blockchain makes sure everyone behaves and can't do anything that doesn't work with that particular spreadsheet!

Modern NFTs

The NFT landscape is booming.

Collectibles
Collectibles

The above example is trivial and inconsequential, but there are many applications for NFTs that go far beyond games – even if that's their most “natural” use case at this moment. Imagine everything that you own and of which there is only one original. You'll quickly find that you can translate incredible areas of real life into NFTs with remarkable ease!

  • Badges on various platforms like Garmin Connect and Strava can, with the help of the blockchain, be tokenized and expressed as unalienable attributes of users. This makes them transferrable across systems, increasing fitness gamification!
  • Access keys in high tech facilities can, when tokenized, be expressed as private key signatures on entry to the facility, letting only authorized personnel past a point and logging the entry at the same time!
  • Land deeds can be tokenized and made available on the blockchain, preventing any future need for ever visiting the relevant offices that hold these documents in paper form. You can prove ownership of a piece of land without bureaucracy, during war, and even during disputes – if it's on the blockchain, it's unchangeable.
  • Concert tickets and sports match tickets can be tokenized and name-bound, preventing fraud and at the same time offering fans an option to have a single place where to collect all their past event experiences. A new event-based social network can show up in 2024 and all it takes to import one's attendance status and power into the platform is connecting their Ethereum address to the system. Instant prestige!
  • own a Macbook? A car? Those things are expensive. Tokenize them and log the ownership information on the blockchain and suddenly it becomes much harder to steal those assets. If a car or macbook without an owner shows up on the free market, or if it shows up on the market and the person selling it does not match the logged address in the tokenized version of the asset, it's probably stolen.
  • tokenize people and represent them as blockchain-powered CVs with unique skills and attributes. No more printed CVs and no more fake applicants – it's all on the blockchain, and every entry is visible, from who made it, to why and when.

There are simply too many uses cases to name – diplomas, certificates, driver licenses, high value materials like diamonds, the potential for NFT usage is limited only by our imagination and desire for transparency and transactional freedom.

Conclusion

NFTs are like unique items on the blockchain. They're not interchangeable (fungible) and serve a specific purpose or represent a specific real-world value, be it art or access or something else. NFTs are personalized money, keycards, collectibles – they are digital post stamps, digital pokemon, digital collectible cards, digital permission slips, digital shares, digital parts of a painting, or even digital documents proving someone's ID.

NFTs are digital coins which share some attributes and thus belong to the same collection, but the members of this collection are not equal. That's all there is to it!

SHARE
Previous articleIntroduction into the Nim language
Bruno has a Master's Degree in English Language and Literature and Computer Science, and has been in web development and publishing for over a decade. He's been in the blockchain space since 2015. He's an avid board gamer and VR enthusiast - find him on Oculus and Steam as TheSwader. He frequently rants on Twitter.

LEAVE A REPLY

Please enter your comment!
Please enter your name here