"Decentralisation" is the buzzword most commonly associated with Web3, but it can be tricky to understand what it actually means. This post walks you through the difference between centralised and decentralised data.
I'm no expert on blockchain tech, but the recent surge in popularity of decentralised data storage through the creation of Non-Fungible Tokens (NFTs) made me curious to learn more about it.
There's a common misconception in the NFT community that blockchain technology is impervious to corruption. This is somewhat true of the smart contract underpinning the the token, but a potential vulnerability exists in how the media file is stored.
Most NFTs exist in two main parts: the smart contract and the metadata for the actual artwork. The smart contract lives on the blockchain (on-chain) and contains a set of rules and standards that facilitate the transaction. For example, an NFT creator can choose to be paid a certain percentage of every future sale of the NFT. This is code that goes in the smart contract and lives on-chain.
On the other hand, the metadata which includes a link to the media file is often stored "off-chain", or put simply, not on a blockchain. Off-chain data storage either takes the form of a centralised server owned by a company or a distributed storage service like the InterPlanetary File System (IPFS). When you hear people using the phrase "completely decentralised", they're referring to how this data is stored.
The issue with centralised data storage is that the data is lost if the system goes down or the company goes under. Distributed storage systems like IPFS are a much more secure method for storing data as they work in a similar way to a blockchain—data is distributed across locations (nodes) in a network. While still off-chain, if one node in the network goes down, other nodes could have a copy of the data.
Importantly, given the immutable nature of a smart contract, it's not possible to change the link to the metadata once the contract is published. Should there be a disruption to the off-chain storage method, an NFT owner would be left with a smart contract that links to unavailable content.
Just recently, the popular Tezos NFT marketplace Hic et Nunc suddenly disappeared with no explanation. This left many people understandably panicked about the security of their NFTs. However, the images attached to each NFT created using the platform are still available since media files were stored using IPFS.
The caveat here is that just because you upload something using IPFS doesn't mean it will exist forever. If the data only exists in one node and that node goes down, it will likely be unrecoverable. To ensure the file is copied to other nodes, you need to use a pinning service like Pinata or Infura.
When Hic et Nunc shut down, they stopped paying Infura to pin their data (totalling roughly 11TBs), but several other companies jumped in to keep it alive. There were enough people with an interest in preserving the data that they spent time and money doing so. Some argue this is a testament to the power of Web3. Unlike centralised data storage, no one individual actor is monetising the data. So, saving the data was viewed as more of a public service than a bailout of a private company.
Considering the pace at which the very concept of an NFT is evolving (artwork has recently transformed into content with utility), there are undoubtedly big innovations in data impermanence just around the corner. As the technologies continue to evolve, considering how a Web3 service stores its data will make you a more informed user.