InterPlanetary File System (IPFS)
Community Submission - Author: Anonymous
InterPlanetary File System (IPFS) is an open-source project that is building a peer-to-peer file system. The IPFS project is an ambitious project that can potentially change the way we use the Internet. Its final goal is to connect all devices that have the same file system, but not in the same way the Web does today. In order to understand the basics of IPFS, it’s helpful to compare it with HTTP.
Essentially, the current World Wide Web is based on the HTTP and HTTPS protocols. In short, these are application protocols that enable worldwide data communication and accessibility.
HTTP works as a request-response protocol that connects users (clients) to servers, based on their location. For instance, if Alice goes to a website, her web browser will request the content to the hosting server (e.g., Amazon Web Services). If all goes well, the AWS server will then return the web pages to her.
However, the content is not permanent because it is maintained by a centralized server. And since the AWS is hosting a large number of websites, if their servers go down for any reason, a big percentage of the Internet goes down with it.
In contrast, IPFS allows for the creation of a permanent and distributed Web, where all sorts of digital data can be stored and shared. While HTTP communications rely on a server (with a specific location) to provide the content, IPFS communications focus on the content itself.
With IPFS, Alice would no longer ask the content directly to the AWS server. Instead, she would ask the distributed network “who can provide me this content?” and the closest peers would quickly respond.
Depending on the implementation, IPFS may present many advantages when compared to HTTP, such as censorship resistance, data integrity, lower operational costs, better performance, and security.
Some of the limitations are related to the low incentives to participate in the network, which leads to a small population of peers. The limited adoption makes it harder for files to be permanently available. If certain data is only hosted by a handful of nodes and all go offline, it will become inaccessible.