A Beginner's Guide to NFTs (Non-fungible Tokens) - SitePointSkip to main contentFree JavaScript Book!Write powerful, clean and maintainable JavaScript.RRP $11.95 Non-fungible tokens (NFTs) have far more scope than what they’re currently popular for — that is, unreasonably expensive pieces of digital art. Their true power lies far away from the realm of Christie’s and Cryptopunks — so far, indeed, that it’s astonishing this is all the mainstream knows about what we can call NFT 1.0.
Before we talk about the different NFT versions, let’s first understand what they are.
Defining Non-fungible Tokens
The concept of fungibility can only be applied to a group of items. A group of items is fungible when every member of this group is identical to the other, such that no member possesses any individuality. This means that every member of that group can always be traded for another member without any friction.
Some fungible tokens include fiat money, bitcoin (BTC), Ethereum (ETH), and Polkadot (DOT). BTC is regarded as a fungible token because every BTC is created equal. Further, no BTC is different from another BTC (with certain exceptions we won’t get into). The same goes for all the fungible tokens in the cryptosphere. With paper money, things are slightly different because we have various notes. Thus, all $20 bills are perfectly fungible with each other, but if they were to be swapped for, say, a $1 bill, we’d need more $1 bills to match up to $20. Thus, you could say that paper money is semi-fungible. But once you convert paper to digital dollars, you see that all dollars are the same.
Note: fungibility is a spectrum; it’s subjective. A dollar to a shop owner is the same as another dollar, but might not be to the FBI, who are looking for specific dollar bills with specific serial numbers.
Now, if fungibility is the quality of a thing to be interchangeable with other members of its group, then non-fungibility is its ability to have an identity, to be unique. That is all there is to it. Thus, a non-fungible token is a token that is unique unto itself, so long as only one copy was minted (created) when it was added to the blockchain. So when you hear of NFT collections today, it usually means that they’re a group of art pieces composed of unique individuals.
Unique Kanaria birds
If this is all there is to NFTs, then what’s the big deal and why are some of them ridiculously expensive?
The Price of an NFT
Some paintings are worth millions of dollars, while others are worth less than a penny. Why? A combination of factors, but the most important one is this: we are human beings — social creatures — who are controlled by subjective perception.
Some NFTs are ridiculously expensive because of the story behind them, either experienced, fabricated, or sold. Sometimes a thing is valuable because of who made it, when it was made, what people think about it, or the circumstances surrounding its early life. To define all the reasons is beyond the scope of this article.
It’s enough to know that they’re expensive because people are willing to pay that much for them based on their subjective perception, even though that perception is heavily influenced by the world around them, particularly the media. Some people buy because of prestige, others because of speculation.
Whatever the reason for the outrageous prices, it’s not relevant to the revolutionary potential of NFTs, so we can abandon this discussion and instead focus on learning more about how NFTs work and why they’re a game-changer.
How NFTs Work
There are two main attributes that make NFTs a game-changer:
provable uniqueness
provable ownership
These two attributes are possible thanks to blockchain technology. Another name for blockchain is distributed ledger technology, meaning that a blockchain is simply a spreadsheet that’s maintained by a global network of computers. In this network, no computer is an authority. New transactions are only recorded when a majority of the nodes on the network reach a consensus. To see how this relates to NFTs, imagine a spreadsheet with information like this:
Attribute
Value
Color
#00ff00
ID
00001
Skills
Sword, Bow, Nunchucks
Name
Green Samurai
Attribute
Value
Color
#ff0000
ID
00002
Skills
Fists
Name
Red Samurai
Attribute
Value
Color
#0000ff
ID
00003
Skills
Small Guns
Name
Blue Samurai
Here are three little tables, each describing a samurai with a different name, color, and ability. Each samurai has his own unique ID. There can only be one #00001 samurai, only one #00002 samurai, and so on.
Image source
Now imagine if you could own a samurai. Let’s add a new field into each table.
Attribute
Value
Color
#00ff00
ID
00001
Owner
0x0
Skills
Sword, Bow, Nunchucks
Name
Green Samurai
Attribute
Value
Color
#ff0000
ID
00002
Owner
0x0
Skills
Fists
Name
Red Samurai
Attribute
Value
Color
#0000ff
ID
00003
Owner
0x0
Skills
Small Guns
Name
Blue 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:
Attribute
Value
Color
#00ff00
ID
00001
Owner
0x4da2e85d64bece663ccab06e89b970b6b077f22f
Skills
Sword, Bow, Nunchucks
Name
Green Samurai
The user 0x4da2e85d64bece663ccab06e89b970b6b077f22f now owns samurai 00001. Because this is written on the blockchain, all the nodes will make sure that:
only one samurai with ID 00001 ever exists
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, the transaction will simply fail, secured by the blockchain.
This is literally what happens behind the scenes when NFTs are built and deployed. There’s 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!
But NFTs offer so much more than provable ownership and provable uniqueness.
Art Legos: NFT Designs of Arbitrary Complexity
NFT 1.0 was digital art on the blockchain that could be admired and traded. That’s all there was to it. This was the era when CryptoPunks, CryptoKitties, etc. rose to prominence.
Then came NFT 2.0, and digital art on the blockchain acquired traits and utility. This meant that it could do more than be admired. The traits of the NFTs were linked to their benefits. However, not all utility NFTs have traits. Some NFTs have just one trait, which is their utility (as such, it seems redundant to say they have a trait). For example, there’s a type of NFTs that give you the ability to take out an uncollateralized loan from use in whitelisted DeFi applications. Others give you access to certain discounts on certain protocols. For example, an NFT could be made to give the holder a 100% discount on gas fees on Ethereum by having the app refund the user.
While NFT 2.0 is still being implemented by some of the front runners in the cryptosphere, NFT 3.0 is already upon us. In this new iteration, digital art on the blockchain now has executive functions like ownership and authority. This makes NFTs, which were static, suddenly come alive, making them interactive — such that they can emit actions, send items, equip them, change state, and more. This means that an NFT can own other NFTs. But not just that: an NFT can own other NFTs and also modify the appearance of the parent NFT based on the presence and type of a child NFT. This may seem unrealistic to you, so let’s ground it with a gaming use case.
Applying the own and equip feature to gaming has far-reaching effects, because it enables gamers to own all their in-game items as NFTs. For example, you have an in-game character who has an inventory of items — such as weapons, potions, maps, and so on. Assuming that each item in this inventory is an NFT, including our character, then we can use NFT 3.0 capability to equip this character with a sword NFT. In this way, the NFTs interact with each other and the experience for the player (who now owns the items in this digital world) is more immersive than it has ever been. Particularly because they are now free to trade with other players or sell the in-game items on the open market.
A front runner in the NFT 3.0 phase is RMRK, a Kusama-native NFT project that recently launched a new open-source web platform for running unique ICOs using dynamic NFTs called Kanaria. It’s currently running a first-of-its-kind ICO (initial collectible offering) event using dynamic NFTs which start out their lives as eggs.
With a new feature that’s been developed, users can send emotes (emoticons) to eggs. Now here’s the fascinating part: the appearance of the birds that hatch can be influenced by the emotes sent to them. Thus, if an egg got over 500+ 🗡, this could cause it to hatch with a sword in tow — which will come in the form of a child NFT (an NFT owned by the bird) that is also tradable on the open market.
Taking this a step further, RMRK is currently developing the 2.0 version of the standard, which will allow the following: NFTs to be governed democratically by multiple users; NFTs to have multiple resources at once (mint an NFT book and it can have its audio and PDF version at once, as well as a high-res cover); NFTs that can react to emoticons (a painting of a moon can get a moonbase drawn on it if 50 🚀 emoji are sent to it); and more.
Conclusion
Given the plethora of possible use cases, it’s unthinkable that NFTs will fade back into oblivion.
What’s most likely is that many use cases will be tried and some will fail, but a few of them will stick, and these will have a major impact on our everyday lives. Already, there are talks of creating public goods NFTs, and NFTs that help a user, artist, or organization donate a portion of their revenue to social causes. Isn’t that amazing?
Never in the history of humankind have we been able to own, share, and trust with such ease. The future of NFTs through an evolution of art legos is boundless. Soon, a system of arbitrary complexity built on top of programmable NFT functionality will become available to any blockchain, and what you’ll be able to do with these primitives will be limited only by your imagination.
Related ArticlesUsing Python to Parse Spreadsheet DataProgrammingBy