IPFS & Filecoin Explained
Nowadays, our society is incredibly reliant on the internet. Whether we’re communicating with others, consuming media, or even handling our finances, it’s safe to say that we put a lot of faith in the modern internet. The web, however, holds one major downside: centralized information. Almost everything we consume is stored on server farms under the control of a single organization.
Could you imagine what it would be like if massive sites like YouTube or Wikipedia went down?
But the problems with centralization don’t just stop there. We’re witnessing censorship all over the world. Since most content is hosted on significant sites like Amazon Web Services and Google Cloud, blocking access to certain content becomes almost effortless for governments or other large entities. For example, in 2017, Turkey ordered internet providers to block access to Wikipedia because they saw the site as a threat to national security. Even in other parts of the world, we see governments brainwashing and altering the viewpoints of their citizens simply by choosing what people can and can’t see.
It doesn’t take a genius to realize that today’s centralizing of the web isn’t good. This begs the question — why continue to rely on such a model? Well, the answer lies in our standards. We want sites, images and videos to load quickly and in high quality, and centralizing servers allow companies to control how fast they deliver this content to us.
Consequently, it is essential to find a new alternative that does not compromise the quality and delivery of its content but also operates on a decentralized platform. Well, that’s where IPFS comes in.
IPFS
IPFS or InterPlanetary Filing System is a protocol and peer-to-peer network for storing and communicating data in a distributed file system. Created by Juan Benet, the founder of Protocol Labs, he envisioned a faster, safer and more open decentralized version of the web. IPFS was designed to look like a merger of GitHub and BitTorrent. BitTorrent allows you to move large files quickly, and GitHub gives you built-in versioning of your data.
Now that’s cool and all, but what actually makes IPFS different from the modern web?
Currently, when you want to access a file from the internet, you tell your computer where to find the resource you wish to acquire. This location is usually in the form of a URL. This method for accessing resources is location-based addressing. The main problem with this solution is that it is inaccessible if the server is offline. To help address this issue, IPFS introduces the concept of content-based addressing. When requesting a specific resource, you do not need to specify the location; you only have to identify what you are looking for. Every file is assigned a hash, which is essentially a unique identifier for the file. So when you want to access a specific file, you simply ask the network who has a copy with the particular hash. Once the request is made, someone on the IPFS network will provide the requested resource.
Let’s compare a traditional file directory system to the IPFS structure. A conventional system has a main folder with subfiles and folders inside. With IPFS, each folder and file is its own object. These objects link to each other when necessary. Another cool feature is its ability to support versioning, similar to Github. The system creates a new commit object when a file is added to the IPFS. The purpose is to tell the order the files were added. Commit objects link up the same way regular objects do, which helps store the file in sequential order.
But how does storage work? Surely there has to be a size limit to each file. This brings us to the data storage component of IPFS. Each file can store 256 KB of data and links to other objects. Linking makes storing data larger than 256 KB on the IPFS possible. Let’s imagine you are holding a picture larger than that, it will get broken up into multiple objects, and the system will create an empty object that will link to all the objects that form that picture.
Now from here, where things get even more interesting is the introduction of a paid model, incentivizing usage of the system and rewarding people by contributing to this network.
Filecoin
The Filecoin network was also founded by Juan Benet (Protocol Labs) to incentivize IPFS usage through a paid model. He compares it to Airbnb; the same way people have unused rooms, there’s a ton of storage in the world that’s going unused. Filecoin gathered massive attention during its ICO and collected a record-breaking $257 million from high-profile venture capitals. The Filecoin mainnet launched in October 2020, and since then, the network has grown exponentially, reporting a combined storage capacity of 14+ EiB thanks to the help of 3,600+ storage providers from around the globe.
For reference, 1 EiB is enough storage for:
- 290M 1080p movies
- 4,500 Wikipedias
- 685,000 years of continuous video calls
- 19 copies of the entire Internet Archive
In Filecoin, users essentially pay to store their files on storage providers. Storage providers are computers responsible for holding files and proving they have stored them correctly over time. Anyone who wants to have their files stored or get paid for storing other users’ files can join Filecoin. Additionally, available storage and the price of that storage are not controlled by any single company. Instead, Filecoin facilitates open markets for storing and retrieving files that anyone can participate in. In exchange for storing files, storage providers earn units of FIL. Filecoin’s blockchain records transactions of sending and receiving FIL, along with proofs from storage providers that they are storing files adequately.
Today, Filecoin has had over 21 million uploads stored across 16,000 users. Although the coin is relatively low in price (around $17.00), I believe that as we truly understand the weaknesses and disadvantages of centralization, decentralized options such as Filecoin will see a massive spike in users and effectively alter our current perception of the web.
Final Thoughts
It’s clear that without data, there is no future. Just like we see the rapid development of society and various technologies, data storage is no exception. It will be interesting to see if IPFS continues to live up to its hype of being the future of data storage or if we see a new solution to centralization emerge in the coming years.
If you’re new to the space or want to learn more about the technology, check out this video to learn more about IPFS from the founder himself!
Let’s Connect!
If you enjoyed reading this article or learned something new, I’d love to connect on LinkedIn. If you’d like to stay updated on my recent articles or projects, you can subscribe to my monthly newsletter here!