IPFS, Filecoin and the Long-Term Risks of Storing NFTs
By Peter Lee ·
As NFTs continue their march into the mainstream, it’s important to know how these supposedly permanent digital assets stay that way – or not. IPFS (or the InterPlanetary File System) is a protocol that many NFTs (or non-fungible tokens) point to as their underlying asset. It’s part of the backbone of this new digital economy.
NFTs are sold on the idea that a blockchain token that corresponds to another digital file – be they MP3s audio files, JPEGs of digital art or PDFs of mortgage certificates – can have monetary value if it is provably unique. But that non-fungible token, which will live as long as Ethereum or Solana or some such platform exist, isn’t the data it’s pegged to. To make these other files last, many NFT minters have turned to distributed file-sharing systems developed by Protocol Labs – one of the industry’s blue chips.
I don’t want to get too deep into how IPFS works, but it needs an overview. IPFS is a distributed file system similar to a BitTorrent swarm but with no central tracker, just a distributed hash table (DHT) hosted by nodes that maintains a sort of data ledger. Git, the open-source software management tool, also uses Merkle trees to form blocks that identify the files, which might be where the confusion with traditional blockchains comes from, but it is not a blockchain. Git uses Merkle trees to organize releases and ensure that different versions don’t accidentally get switched and to maintain integrity up and down the tree.
To get onto the IPFS network you can put up a node, using instructions here, and begin hosting files. When you put a file onto IPFS you create its content ID, or CID, which is a complicated set of hashes based on where the file is located and related metadata. That file can then stay hosted on your node alone, or it can be distributed among many nodes. This is where it is like BitTorrent. Just because a file is available “on BitTorrent” doesn’t mean there are any seeders or that it’s there forever. IPFS is like this. The address/CID is permanent, to a degree as it gets passed around the DHT, but the underlying asset, or file, that the IPFS address points to can be lost as easily as any file on any random web server. CoinDesk could run an IPFS node to store its article archive, and it wouldn’t make them any more permanent than they are now.
Filecoin, a sister project, picks up where IPFS left off. It purports to use “blockchain technology” to ensure persistence of data, by actually writing and distributing files across a cryptocurrency network and incentivizing participants to host that data on IPFS for as long as possible by paying out FIL tokens.
However, using IPFS broadly obfuscates the real permanence of NFT-secured assets. It’s an open secret that many NFT projects simply use random web file storage to host their images, and that those could go away at any time. The solution for “savvy” NFTs buyers is to only consider projects where the “art” is hosted on IPFS.
It is not foolproof as it will only list what nodes are hosting the file that your node can find. However, these files do not distribute automatically and hosting a file is an active process as is pushing it to new nodes. To do this you need to know exactly what file you are looking for and its hash.
Even if you are storing your data on Filecoin you aren’t really accessing it from there when reading the NFT. While a file might be “backed” on Filecoin, transacting with that network requires fees and apparently unsealing a file to read can take hours. To get around this, Protocol Labs developed the FileCoin Pinning Services that hosts files like IPFS. It’s basically just IPFS nodes that grab stuff off Filecoin and host it for a price.
Right now, an NFT hosted using Filecoin has as good a chance as anything of sticking around. But, like everything else in this world, it comes down to trust. Do you trust that the entity that created your NFT has put the effort in to ensure reliable access? Do you trust that Filecoin won’t shut down?