Over the last few decades, where files are stored and shared on the internet has completely changed. At first, individuals, companies, and other internet users stored files on their own servers. When companies like Amazon, Microsoft, and Google began offering cheap and scalable file storage, data quickly moved from individual servers to cloud storage servers.
While cloud storage changed how most data on the internet is stored, it didn’t change how this data is accessed.
The Interplanetary File System, or IPFS for short, changes how data is stored and how data is accessed. Instead of storing data in centralized data centers, IPFS distributes data globally in its peer-to-peer network.
This article discusses how IPFS works, how it is different from current storage methods, and why IPFS is a critical component of high-quality NFTs.
How does IPFS work?
To better explain how IPFS works, let’s use an example familiar to anyone who uses the internet.
Let’s say that you want to view this adorable kitten picture. Let’s call him CryptoKitty!
When this page is loaded, your browser must first get this image before it can display the image. Instead of reaching out to a static address (like you would on a regular web page), an image stored on IPFS is accessed differently.
Why is this? When a file is uploaded to IPFS, it is split into many pieces. Each piece is then encrypted to ensure that the piece of the file is secure. While the file is split, it is assigned a unique content identifier (CID) that differentiates from every other file on the network.
To put those pieces back together, the following steps must take place:
Your browser asks IPFS to retrieve the cat picture by passing it the CID.
This request is passed to nodes on the IPFS network. Any node with part of the cat picture in its system will send data back.
The pieces of the cat picture are unencrypted and pieced back together.
After these three steps are completed, you can now see the picture of our CryptoKitty!
While these steps are invisible to you, the implications of storing and accessing data in this way are enormous.
How does IPFS different from traditional file storage?
To understand why IPFS is essential to Web3 technologies, we must first understand how data is traditionally accessed and the potential downsides of centralized storage.
How data is currently stored and accessed
While some data on the internet is stored on personal or company servers, the majority of the data on the internet today is stored in massive cloud data centers. Companies like Amazon, Microsoft, and Google own the vast majority of these servers and are responsible for storing most of the world’s data.
Anyone can pay to store data in these data centers. Storage is relatively inexpensive, and the services are easy to use, making cloud storage the choice for most websites and internet services.
When data is uploaded to a cloud data center, it is stored on a centralized server. The cloud services may replicate this data to ensure it is not lost if a server crashes unexpectedly, but it is still considered centralized. The data is then assigned a static URL by which it can be accessed.
Looking back at our previous example, let’s say you now want to view the cat picture on a cloud server:
Your browser requests the cat picture by referencing the picture’s URL.
This request is passed to the cloud service that stores the picture. The cloud service then sends the image back to your browser.
This process may seem more straightforward, but there are some notable downsides to centralized data storage.
Understanding the downsides of centralized storage
The popularity and use of centralized storage have exploded over the last decade. AWS, the cloud service owned by Amazon, generated $62 billion in 2021. It’s no secret that Amazon and other cloud providers are seeing consistent growth as more data is stored on their servers.
This growing centralization has one obvious downside — we depend almost entirely on a few cloud service companies to be able to access most of our online data.
On October 4th, 2021, Facebook, Instagram, and Whatsapp went down for hours. Users across the globe could no longer access pictures they had uploaded to Facebook, view their Instagram posts, or access messages they sent on Whatsapp. Essentially, the location of all this data was not accessible.
While outages like this are uncommon, events like this show just how vulnerable centralized data storage can be. We trust companies like Facebook, Amazon, and Google to store irreplaceable pictures, personal messages, and much more.
What happens if this data is not accessible? Or worse yet, what is the company paying for this storage decides to stop paying their bill?
On-chain information includes the smart contract that defines how people can interact with the NFT, some basic attributes of the NFT, and a reference to the off-chain information.
Off-chain information includes more attributes of the NFT and the media associated with the NFT.
Enshrine uses IPFS to store all off-chain information associated with an NFT. We do this because IPFS is the most durable option, ensuring that our NFTs will stay around even if we don’t.
Do all NFTs use IPFS?
Short answer — no.
Even though the blockchain that an NFT is written to is decentralized, that does not mean that the off-chain information is decentralized. Before purchasing an NFT, we recommend that potential buyers see how the off-chain information is accessed.
Many NFT platforms will reference a URL instead of IPFS or, in worse cases, will reference a cloud storage address directly. If the company goes out of business, if the URL link breaks, or the cloud storage location is updated, the off-chain information will no longer be accessible.
Enshrine understands the importance of IPFS in high-quality NFTs. That’s why we store all off-chain information on IPFS. As for other NFT platforms, we can’t say the same.