What is IPFS?
IPFS stands for Interplanetary File System, a decentralized peer-to-peer file sharing system. Different from the common Internet scheme (HTTP/HTTPS), IPFS is an Internet protocol (or system) that allows people to access content without the need for a centralized server. IPFS provides a similar Web experience as HTTP/HTTPS, but with faster response time and improved reliability. It also shifts power and control of the Internet out of the hands of big tech companies.
The core concept of IPFS is decentralization. That is, IPFS-based content like websites and data don’t “live” in a single location such as a server farm or data center. Rather, IPFS content is distributed and replicated among several to many locations, called nodes, on the Internet. The nodes are created and maintained by individual users on their own computers. And these users may be volunteers hosting content for free, or users who are compensated for hosting via the cryptocurrency Filecoin.
What is a decentralized lnternet?
Also called peer-to-peer (P2P), a decentralized Internet is a network of connected computers with no single controller. All nodes are equally capable of providing any content requested by users. Content isn’t required to be in a single location or on a single server.
One such P2P system is IPFS, which is an alternative protocol (a standardized system for formatting and handling data) to the more familiar HTTP. IPFS is the “how” of an Internet system, not the “what.” It defines a set of procedures for storing and sharing files across the Internet. It doesn’t include the actual hardware or routing networks.
How does IPFS work?
IPFS allows content to be discoverable without a centralized directory (in contrast to HTTP and its DNS system). This changes the paradigm of the Internet, in that requested content isn’t mapped by where it’s stored, but by what it is. Think of IPFS content as changing the command from “I’m looking for the data stored in this place” to “I’m looking for this particular data.”
When someone publishes content (a website or data file) to the Internet using IPFS protocol, it initially resides on that person’s computer. The computer is now a node. When another user on the IPFS network wants to view that website, they make a request to the IPFS system, find out what computer it lives on and retrieve it. If the second user is a node, the content can now live on the first computer and the second one. As the content continues to be accessed, it’s added to more nodes.
Nodes are added and removed over time for various reasons, so while the content stays intact and up to date, the source of the content doesn’t stay the same. IPFS creates and manages a content identifier (CID) for each piece of content. A CID is a unique identifier produced by hashing the content (using the content to create its own unique code). A system table maps the CID to the content’s locations. If the content is added or removed from a node, that table is updated. When a user requests content, IPFS refers to the table to find the locations.
If a CID points to more than one node, IPFS picks the node that can provide the content the quickest (often geographically the closest) and routes the user’s request to that node. CIDs also serve as a quality check tool that ensures the content on the node is uncorrupted. If the data in a content file is changed or corrupted, the CID will change. When the CID of the stored content doesn’t exactly match the requested CID, it indicates the data has been changed.
How does IPFS differ from HTTP?
HTTP was created in the early days of the Internet and was designed to work well in a smaller environment characterized by centralized storage, relatively few network routes, and small data files. Today, HTTP faces increasing pressures from the massive growth of the Internet.
Some have suggested that P2P, including IPFS, should be the basis for the next generation Internet. IPFS proponents tout multiple benefits of IPFS over HTTP/HTTPS:
- Performance: By not having content stored in a centralized location, IPFS avoids the bandwidth availability and bottleneck issues that sometimes occur under HTTP in high-demand situations. IPFS is able to respond to content requests using several sources and spread traffic over multiple routes, thus improving response time in some situations.
- Resiliency: The common HTTP configuration of a single location or a single copy of content leaves it vulnerable to outages or corrupted data. By storing multiple copies of content in multiple locations, IPFS eliminates these risks.
- Accessibility: Censorship is almost impossible—storing content in multiple, regularly changing locations makes it very difficult, if not impossible, for an entity like a government or corporation to block access to that content. IPFS’s feature of multiple locations also creates what amounts to crowd-sourced archiving, where no content is permanently lost.
HTTP/HTTPS advocates, meanwhile, point out that IPFS is still untested and has some notable weaknesses that would need to be addressed:
- Since content is stored in multiple places, it’s difficult to remove content that governments or law enforcement deem to be bad or illegal (such as terrorism or human trafficking).
- Currently IPFS is not a secure place to store personal data, which is an issue for regulated entities such as banks, the healthcare industry, governments, or anywhere an individual’s personal information might be stored.
- The focus of IPFS is on storage and retrieval of files. This means it can support simple Web applications that run locally, but it does not yet have the structure to support complex Web applications that require interaction with back-end systems.
- IPFS relies on volunteers to provide their computers to the network, so its growth could be determined by the rate of enlisting new participants.
- Hosting a node reduces your privacy—the world can see the traffic that passes through your node, like what sites you are hosting and requesting.
- Hosting a node increases traffic to your computer, thus using a chunk of your available bandwidth.
How to learn more about—or try—IPFS
Ready for a better Internet?
Brave’s easy-to-use browser blocks ads by default, making the Web cleaner, faster, and safer for people all over the world.Download Brave