IPFS (InterPlanetary File System) is a hypermedia protocol, developed by Juan Benet and brought to the final product by Protocol Labs in 2014. It is a decentralized system for content management by distributing data.
IPFS is one of the elements of the Web3 concept. The InterPlanetary File System runs on blockchain technology, using hundreds of thousands of nodes to provide the necessary bandwidth for data storage. Different nodes (computers) connect using a peer-to-peer network and share files in the global space. IPFS performs the same tasks as HTTP (Hypertext Transfer Protocol), but without the usage of a central server.
Decentralization is an anti-hacking measure itself because there is no specific point from which the network can be attacked. IPFS has two security mechanisms that help avoid the consequences of malicious actions: immutability and file hash assignment.
When data is added to the IPFS network, it gets a unique 24-character hash identifier called content ID or CID. If someone requests a file, the copy is cached on his host. Subsequent requests for this file can be satisfied by any node that has the file.
Thus, instead of address-based routing, where you need to know the location of data and provide a specific URL for it, the decentralized web uses content-based routing.
HTTP and IPFS protocol models comparison. Source - ipfs.tech
The problem of Internet centralization
Previously, the structure of the Internet was much more decentralized, and the data was not controlled by the group of corporations. Nowadays, the World Wide Web is a centralized network, despite its global nature.
Companies like Google are responsible for a huge amount of information generated by billions of users. Right now almost all Internet content is hosted on certain web servers of centralized providers (AWS, GCP, Azure, DigitalOcean, and others). It is rather easy to imagine what would happen if one of these companies collapsed or suffered a security breach.
On the other hand, we have state authorities. Centralization helps the government facilitate censorship, as it can restrict access to certain data. IPFS is a solution to the problem of internet centralization.
How to activate an IPFS node?
You have to download the official IPFS Desktop software from Protocol Labs. It is compatible with all major operating systems. Thanks to the extensive tutorials, it's really easy to use. You can interact directly with IPFS Desktop from different browsers using the IPFS Companion extension, which is part of the software.
How to use IPFS?
The InterPlanetary file system is supported by Brave and Opera, which allow you to search for IPFS files by hash ID. In order to use the system in other browsers you will need to install the extension. Cloudflare-IPFS and IPFS.io gateways are required to access content hosted on the decentralized data protocol through Google Chrome or Mozilla Firefox.
File system illustration. Source - district0x
Disadvantages of IPFS
The con of the system is the limited content. IPFS IPFS can be compared to the internet before Google or any other search engine existed. We should also add decentralization to this problem. While distributed networks have a lot of advantages, they can bring a negative user experience due to a lack of regulations.
There are no filters in the InterPlanetary file system that prevent the spread of fake news, scam, and violence. This is the risk one has to bear in favor of defending free speech.
Nevertheless, IPFS is a very ambitious project that contributes to the introduction of a new generation of the Internet. A lot of crypto projects, decentralized social media, NFT platforms, and metaverses are already using this system.