Instead of overdoing what meets the eye, NFT projects should focus more on metadata and the way it's stored. With IPFS and IPNS, you can distribute NFT metadata and make it updateable.
This should not have happened. But it could to any NFT project that doesn't think about metadata and how to store it.
NFTs have been one of the great hypes of the past year or two, and everybody was rushing to launch or mint the next big collection. But too many projects were focused more on designing a pretty combo of pixels and cashing in on users' FOMO, yet placed little attention on how their metadata is stored and handled.
But if NFT projects want to deliver long-term value to the ecosystem and their communities, they should up their metadata game and choose the optimal way of storing and handling it.
ERC-721 and the metadata problem of NFTs
NFTs or non-fungible tokens are, by nature, one-of-a-kind. But, in the Web3 context, their uniqueness doesn't apply so much to the visual or tangible asset. Images can be copied and saved as .jpgs for free, designer handbags can be replicated at a fraction of the cost, and the copy in both cases is hard to tell from the original. It's actually the data in the background that makes them unique.
The ERC-721 token standard made NFTs possible and changed the way we approach asset ownership. It allowed creators, issuers, and certifiers to inscribe unique metadata describing unique items on the blockchain network. Such permanent inscription would allow for easy inspection of the token's back-end data, which would help to either confirm its claimed uniqueness or discover anomalies and reject the item as a counterfeit.
ERC-721 is one of the main pillars of the NFT ecosystem and supports billions of dollars worth of NFTs, including Mutant Ape Yacht Club (MAYC) and Unstoppable domains. But it comes with flaws…
URI location
What differentiates NFTs are their unique identifiers, ID numbers of a kind. Plus, each NFT comes with a unique address of the smart contract sustaining it. The bare minimum to identify an NFT is, therefore, a combination of a unique number and its contract address.
The ERC-721 metadata standard also incorporates a URI, a uniform resource identifier. With URI, you can locate or retrieve an additional metadata file which could not be stored on-chain due to its large size. Usually, it contains data, images or videos, description or other unique properties, such as a serial production number, author, date and time of release, etc.
But there is a catch. The metadata URI can be stored and saved anywhere.
For example, a Mutant Ape Yacht Club NFT can be worth tens of thousands of dollars, but its data? It's just a URI that can be stored anywhere, even on a centralized server like AWS…
This also means that access to it could be left uncontrolled, opening the door to metadata tampering and damaging the very thing that made an NFT the NFT.
Metadata updatability
Apart from the URI location, the option to update metadata is also essential, especially in gaming, where in-game NFTs reflect game updates and player status.
To increase NFT interoperability and agility, a new EIP was proposed years ago — the EIP-2477. Despite pending approval, it introduced the capability for NFT metadata hash to be updated each time the metadata URI changes.
But, similar to other metadata updating methods, this leads to multiple (unnecessary) transactions and high costs.
NFT metadata storage should be decentralized
Many NFT projects solve the problem of URI storage by choosing distributed metadata storage and employing Arweave or IPFS.
Such a distributed approach to storing NFT metadata provides certain protection. But it comes with drawbacks.
For example, with Arweave, each file gets a unique URI meaning each newly created NFT is linked to that URI. The requirement of making a new unique transaction for every NFT drives costs up and makes it very difficult to release an NFT drop on the Ethereum network.
On the other hand, IPFS can handle the pre-generation of URI where every newly uploaded folder gets the same hash but contains different metadata file names. This enables cheaper NFT drops on Ethereum, but it could also lead to NFT trait sniping. Moreover, IPFS is difficult to use, and doesn't provide an easy way of integrating IPNS to enable edits of metadata files.
Then, there is a hybrid approach to storing NFT metadata, and it's what most NFT projects are going with. The written metadata is accessible from a centralized, Web2 API, while the visual content is stored on Web3 IPFS. This way, metadata can be changed as needed, and NFTs can be updated to reflect the current status of their owner or context. This helps prevent trait sniping, and allows projects to launch delayed NFT reveals and update the metadata of an evolved NFT easily. However, the Web2 API access to centrally stored metadata is exactly what damaged FTX-based NFTs…
Crust Network@crustnetwork🚨FTX has lost all metadata of NFTs purchased on its site rendering them worthless🚨 If you’re investing in NFTs but don’t understand metadata hosting you are ignoring a HUGE risk that can wipe all your profits away! This is what you need to know🧵👇 #NFTs #NFTMarketplace #FTX03:03 AM - 09 Dec 2022
IPFS + IPNS = decentralized mutability
For NFTs to provide value, security, and agility, they should store metadata in a decentralized way plus enable easy and affordable updates.
The best way to go in terms of decentralized storage is IPFS, InterPlanetary File System. But while some services like Pinata do provide a gateway to IPFS for NFT metadata storage, they do not come with IPNS, an essential feature for in-game and other upgradeable NFTs.
IPNS, the InterPlanetary Name System, allows you to update metadata without changing the URI contained in the NFT contract, saving transaction fees and time. Every NFT project planning to launch assets with mutable metadata should think about utilizing IPNS, too.
But the thing is, a manual set-up and handling of IPFS and IPNS in an NFT project can be costly and extremely complex, a pain in the neck for every developer. Or at least it was until Apillon…
NFT metadata storage made easy
Apillon's Web3 Storage service powered by IPFS and Crust Network was designed to provide decentralized storage for existing and upcoming NFT projects seeking to distribute their metadata and manage it easily
And it does so in a super simplified way. By sourcing the best of Crust Network and making it accessible to all developers, Apillon's Web3 Storage service allows you to harness distributed storage on IPFS for your NFTs' metadata. Plus, with IPNS, Apillon's own addition, you can keep your NFTs upgradable and updatable to boost their utilities in various contexts.
The first on the market, Apillon will let you implement both IPFS and IPNS to launch and power your NFTs easily, faster, and at a significantly lower price than doing it manually.
Test the waters and see how to use the key Web3 services for your project.
This article was originally published on Apillon Medium.
Top comments (0)