So you’ve conquered all technical hurdles required to buy a piece of tokenized art on the blockchain. This is no easy feat and you should be rightfully proud. Blockchains are public, immutable sources of truth and the digital token you now own tells the world who created it (minter), when they created it (block height), and the transactional journey it made before ending up in your wallet (transfers). It also tells the world what that token looks like (tokenURI).
For some the story ends there, but most of us want assurance that we can resell that art to a new collector in the future and the collector will know this token did in fact come from the artist and that it looks exactly like what we claim.
To get that assurance, let’s first start with the one person we have to convince of this token’s authenticity — the next buyer! And how would that conversation go?
This is good and all but what happens when we take this same example and push it 50 years into the future when image-host.com has gone out of business and no longer hosts the content?
And there the entire premise of blockchain art fails because now there’s no way to verify whether the above response is correct or not — from the buyer’s perspective this is the same as:
Enter cryptographic hashing and how it saves the day
First off, what is a hash? From Wikipedia: A cryptographic hash function is a mathematical algorithm that maps data of arbitrary size (often called the “message”) to a bit array of a fixed size (the “hash value”, “hash”, or “message digest”).
To break that down in simple terms, it’s just a tool that can take a file and generate a unique code for it.
That code will be deterministic meaning the same file will always generate the same code.
If someone alters that file by even a little, the hash function will generate a wildly different code.
IPFS (InterPlanetary File System) uses a multihash algorithm that generates the following code when passed in this cat art:
If we alter this image by even a single pixel, we get a wildly different code!
(Bet you can’t even find the pixel I added to his forehead)
Armed with this tool let’s see how the original sale would replay itself. What if instead of using the hosted image URL in the tokenURI, we just included the cryptographic hash:
Now the conversation around the trade would go something like this:
Now the art is no longer required to be hosted on any specific platform. If IPFS doesn’t work out and stops running in 5 years? No problem! If the marketplace that minted the token at the beginning goes under in 10 years? No problem!
The ONLY system that needs to still be running at that time in the future is the underlying blockchain itself. (And if that stops well then we all have bigger problems)
Where do we go from here?
Platforms: Hash your token metadata and art files. Educate your users on why this is important and why they should care. This will allow them to understand why their blockchain art collections are more valuable than digital assets purchased on a centralized (non-blockchain) platform.
Artists: Demand hashing from your platforms! Hash your own token metadata and art files if you roll your own contract(s). Educate your collectors on why this is important and why ultimately the onus is on the current token holder to always keep an original resolution file of the art so they can pass it onto the next buyer.
Also, try to mint consistently from a single address when possible. Make it easy for future collectors to discern whether tokens were minted by others or you.
Collectors: Start asking yourself how you’ll prove that your collected pieces are authentic to the next buyer? Does it require the platform to still be in business 2, 5, or even 10 years down the line? Does it require a specific image host or network to still be running?
Disclaimer: Hashes are more complex than depicted here! There are also many different types of hash functions. We also understand that some NFT collectors may only care about the short term permanence of their collections or prefer the efficiency of a centralized hosting system. Each to their own 🙂