All you need is Math.
I recently posted some minting guidelines (Best Practices for Creating NFTs on Stellar) to help artists and issuers future-proofing NFT ownership by using decentralized storage for the art and by creating a circular reference to the asset on the blockchain (i.e. Stellar in our case) using a meta data file.
In this short article, we will take a doomsday scenario to illustrate the importance of following these guidelines.
Let’s imagine the world, 100 years after you bought RC Evres 01 NFT by rcu7 (a.k.a. Seven Murillo) on Litemint. For some unexpected reasons, IPFS is down, Stellar is down, Litemint is down. The artist has now joined the pantheon of greatest and you want to prove to the world that, not only you are one of the artist’s first fan, but also the genuine owner of the original art.
🧰 Survival Kit
Luckily, the artist has followed the guidelines for minting NFTs and all you need is math. Here is how it is done:
⛏️ Recovering the Art Fingerprint
At any time, anyone can calculate the unique fingerprints of the art and meta files for an NFT using the Content IDentifier (CID) specifications. A CID uses cryptographic hash primitives and can be calculated offline i.e. without the need for consensus from IPFS node or a network at all (here is a tool to do just that ipfs-only-hash). Admittedly, chunk size, codec and other settings must be known but portability can easily be provided by storing such information on the asset itself.
Check multiformats.io Github for source code (open source MIT license): https://github.com/multiformats
🔧 Rebuilding the Transaction
In 100 years, we assume that, with Stellar being a major blockchain project today (i.e. not a sidechain or Layer 2), a consensus is likely to be widely available on historical data. Even more so if, at some point, Stellar achieved its goal to become “the blockchain that people know and trust”.
At any time, anyone could then validate past transactions by running from the genesis ledger. One may need to process several terabytes of data offline, however we could also extrapolate that, by then, terabytes may not be a big deal.
🗝️ Uncovering the Key
The previous operations allow anyone to retrieve and match the CID with the asset (data entry) on the Stellar ledger to identify the NFT owner’s public key. You could now use the ed25519 signature scheme to prove that you have the secret key for the wallet holding the NFT. This also can be done offline.
Check stellar.org Github for the SDK source code (open source Apache 2 license): https://github.com/stellar/js-stellar-sdk
Even when all these services go down, if an NFT is minted using best practices, one could produce an “irrefutable” proof of ownership.
Now I put irrefutable in quotes because we should not forget that cryptography is a science i.e. scientific theories are assumed true, until falsified and we could wake up to a world where the discrete logarithm problem is no more a problem in number theory— putting our current blockchain technology to obsolescence. But this discussion is for another article…
Enjoy and stay future-proof!
Make sure you follow us on our social channels to keep posted about our latest news:
Web App: https://litemint.app/
Google Play: https://play.google.com/store/apps/details?id=com.litemint.app
Thanks for reading.
Founder of Litemint. Owner Stellarport.
Prev. Developer and Technical Lead for BGC Partners, Crédit Lyonnais Bank (trading systems) and British Government National Program for IT (smart card technology in healthcare). Indie game developer, co-founder of Israeli-based video game company Massive Games (pie.ai) and winner of the Honorable Mention Prize at the 2014 Linux Foundation & Samsung Tizen App Challenge.
Born and live in Korea, studied French Literature and Latin at the university of Angers (one of the most beautiful cities of France) before discovering the poetry of the machines.