NFT Storage
June 23rd, 2022

An NFT is information. Specifically, it is a set of variables structured in .json format. Together these parameters make up the "metadata" of an NFT and contain all the information needed to be able to interact with it. Example:

{"image":"ipfs://QmThmAZhf8ByfLZeeHgJphkBAr27ouKrQFsp9nk94iXdyb","name":"Doodle #3574","description":"A community-driven collectibles project featuring art by Burnt Toast. Doodles come in a joyful range of colors, traits and sizes with a collection size of 10,000. Each Doodle allows its owner to vote for experiences and activations paid for by the Doodles Community Treasury. Burnt Toast is the working alias for Scott Martin, a Canadian\u2013based illustrator, designer, animator and muralist.","attributes":[{"trait_type":"face","value":"surprised"},{"trait_type":"hair","value":"helmet"},{"trait_type":"body","value":"navy sweater"},{"trait_type":"background","value":"gradient 3"},{"trait_type":"head","value":"yellow"}]}

Today most NFTs contain either video, audio, or image files, whether for art, games, or collectibles. Because of the size of these files, they can’t be stored directly into the metadata or the blockchain itself. It would be very expensive for blockchains to store all that information and it would be impractical as blockchains like Polyogon, Solana or Ethereum are not optimized for this type of use.

The metadata instead, stores only the “url” to the location of the object, but this brings a number of new challenges because the “where” is part of the essence of an NFT. If the NFT is stored on a centralized server (hosting) it is contradictory and has multiple points of failure that could leave the NFT empty, this has already happened in several projects.

In order to solve this problem, there is a relatively new and fast-growing industry that offers long-term, decentralized storage solutions. I will compare the alternatives that exist when it comes to storing the files of an NFT, highlighting their strengths and weaknesses:

Centralized Storage (Cloud)

This would be the worst way to store an NFT, but unfortunately a lot of low quality projects use it. Basically, we're hosting decentralized digital property on centralized servers that are owned by corporations, so it's ethically wrong, but aside from that, this type of storage has multiple points of failure.

It depends on the owner’s maintaining it, that they keep paying the subscription, that the credit card always works and that they remember to renew the domain. It is also vulnerable to the physical server being corrupted, or to the Cloud company that may decide to delete or modify it, which should not be possible, since the ownership of the NFT corresponds to the user and not the company.

IPFS

IPFS is a peer-to-peer (p2p) network of decentralized storage. Unlike centralized storage, what is stored in IPFS is distributed and replicated in several nodes (servers) of the network, similar to the operation of old services such as napster, bittorrent and kazaa. In this type of storage, the files are not referenced by IP or URL, but rather by the content itself (content addressing), that is, it is agnostic to the geographical location of the file and returns exactly what we need from the node or nodes that the blockchain sees fit at that time

The problem with IPFS is that, like centralized storage, it needs to be economically maintained over time. The file is kept as long as certain network nodes keep it alive, and to keep it alive they need economic incentives.

The economic layer of IPFS is called Filecoin and is maintained by storage miners. If eventually the creator of the project stops paying for the subscription, then the content would be completely removed from the network.

Arweave

Arweave is also a decentralized storage solution similar to IPFS+Filecoin, but this system is structured in a way in which, by paying once, the miners guarantee that the file is maintained over time, without the need to renew it or to depend on the owner of the project.

According to the logic of this blockchain, in order for miners to be able to validate a new transaction and receive the $AR token, they have to be able to demonstrate access to a random file at all times. This forces the miners to keep copies of the old files because otherwise they would not be able to validate transactions and therefore they would not be able to receive tokens.

Actual state

Unfortunately, a large part of NFTs are still hosted on centralized servers. Apart from that, the clear market leader and the oldest is Filecoin. Arweave is newer but is growing very rapidly and is gaining market shares in other blockchains like Solana, where it is the undisputed leader.

Conclusion

Clearly, a blockchain like Arweave is the best and only way to store the information of an NFT forever. It is likely that many popular NFT projects will start showing empty placeholders either because the team abandoned the project, the payment failed or the domain expired. This is going to show how fragile the NFT storage system is and eventually everyone is going to have to switch to a permanent system.

Subscribe to Fabrizio G
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from Fabrizio G

Skeleton

Skeleton

Skeleton