Limitations of today's NFTs
Today's colorful apes are not quite yet permanent, immutable, or unique
Goblin Town is the latest collection of strange creatures to take the NFT world by storm.
NFTs are programmable objects which live on blockchains. Currently popular use cases capturing the speculative imagination, such as supporting JPEG art pieces, often overstate NFT abilities in many areas while also failing to fully utilize their programmability.
NFT stands for “non-fungible token”. Tokens are objects that exist on top of an existing blockchain, but are not the primary asset of the ecosystem (like Ether is on Ethereum). While fungible tokens are interchangeable, so that any quantity of a given token type can be exchanged for any other equivalent quantity (e.g. 3 Dai = 3 Dai), for non-fungible tokens (NFTs), no two are ever of exactly the same type. Imagine this as each NFT having a unique serial number.
Permanence and immutability
Before diving in further, some background - NFTs are usually implemented using smart contracts, which define the functionality of the NFTs they support the “minting” (creation) of. On Ethereum, ERC-7211 specifies which functions a NFT smart contract must implement. “Minting” and ownership transfer of existing tokens are two core capabilities.
Fundamentally, NFTs are auditable, programmable, and refer to data. Since they exist on a blockchain (effectively a public ledger), creation, chain of ownership and even sale prices can be publicly tracked. As NFT behavior is defined by smart contracts, they are also inherently programmable. The smart contract also points to metadata2 3, typically in JSON format, which for “art” NFTs can contain information like the payload (e.g. JPEG) and a description of the payload. Critically, metadata and payloads can be stored on-chain, or off-chain in either a centralized (e.g. AWS) or decentralized (e.g. IPFS) manner. As on-chain storage is incredibly expensive, costing almost $150 for 1kb according to sources4, the latter is more common.
So in practice, NFTs are in essence ownable objects, which contain references or pointers to off-chain data. Due to this common implementation choice, NFTs are neither truly permanent or immutable.
Permanent - while the underlying “token” tracking ownership will live on the blockchain forever, metadata may not be if stored off-chain. An off-chain storage location becoming inaccessible means the NFT may be rendered non-functional, even if the token is “owned” still onchain. “Pinning” on IPFS using a service like Pinata 5 6 is one way to establish semi-permanence, but this is less permanent than storing on a blockchain as it depends on a service provider’s nodes remaining up.
Immutable - off-chain storage is not guaranteed to be immutable as data pointed at can in many cases be easily changed. Even if stored on an immutable data store like IPFS, the pointer itself can still be changed. Immutability is not always a desirable property in all use cases, but in cases when it’s ideal common implementations will not provide it.
It would probably be fair to add that both permanence and immutability are possible today, albeit expensive, and that technical implementation choices may very well change as on-chain storage costs come down.
Evaluating fuzzier claims - uniqueness and “rights”
It’s also worthwhile to be skeptical of any “uniqueness” claims or claims to rights being imbued by NFTs, in the vast majority of cases.
Unique - while the underlying tokens may be “unique” in that they have a unique serial number, the underlying payload may not be unique at all. As data can easily be copied, it’s possible to have two distinct NFTs have the exact same smart contract code and metadata, so they behave otherwise similarly, on the same blockchain. It’s certainly also possible for the same NFT to be cloned across multiple chains.
“Rights” - NFTs carry ownership rights to the underlying “token” on the blockchain, but no special rights to the “payload”. None of “ownership”, “copyright” or “legal” rights are guaranteed unless otherwise stated.
Though an enterprising artist may indeed create a “unique” NFT featuring ownership rights if they develop the artwork, mint a single corresponding NFT as the first and only physical or digital print while also adding legal language to the NFT, these claims depend entirely on the behavior of the creator as well as their legal rights to the artwork. These are not in any way guaranteed by the technical implementation and usage of an NFT structure alone, although the NFT structure can help with the auditing of claims. See this source7 for a more detailed discussion.
For future use cases, it would be interesting to see additional use-cases leveraging programmability. A basic form of adoption for using NFTs as “key cards”8 to access Discord channels is already taking off, but as blockchains continue to scale and more frequent metadata updates become less expensive, hopefully a much wider range of use cases open up.
Disclaimer
Thank you for reading! While I’ve been interested in this space for a long time, there are aspects of NFTs which are newer to me - please leave a comment if anything seems incorrect or could use clarification!