IPFS (InterPlanetary File System) Humehr Sanatkar, 2025-07-072025-07-07 IPFS (InterPlanetary File System) is a peer to peer, version controlled, content-addressed file system. It makes use of Computer Science concepts like Distributed Hash Table, BitSwap (Inspired by BitTorrent), MerkleDag (Inspired by The Git Protocol). History IPFS was created by Juan Benet, who later founded Protocol Labs in May 2014. An alpha version was launched in February 2015, and by October of the same year was described by TechCrunch as “quickly spreading by word of mouth.” Network service provider Cloudflare started using IPFS in 2018 and launched its own gateway in the system in 2022. How IPFS Works: A Technical Overview In an IPFS network, each user operates a node. These nodes connect to each other, sharing files and data chunks. When you upload a file, IPFS breaks it into small pieces, hashes each one, then builds a Merkle DAG — a kind of digital map of all parts. When someone requests a file, IPFS finds the closest nodes storing that content and downloads it in parts. This process is fast because it fetches data from multiple sources simultaneously. The protocol stack uses libp2p, a technology that manages peer connections, making everything flow smoothly. The Architecture of IPFS: Components and Protocols Nodes and Network Topology Nodes are the backbone of IPFS. They come in different types: Full nodes: Store the entire IPFS data set and participate fully in the network. Light nodes: Use less bandwidth and storage, ideal for mobile devices or casual users. Gateway nodes: Act as bridges, connecting IPFS content with regular web browsers. Nodes discover each other using peer discovery protocols. As more people join, IPFS’s network grows, becoming faster and more durable. Content Addressing and Hashing Each piece of data is assigned a cryptographic hash, creating a unique CID. Think of it like a digital fingerprint that never changes. If even a tiny change occurs, the CID changes too, making it easy to verify data integrity. For mutable data, IPFS uses IPNS — a system that allows updates to links without changing the underlying content address. That means you can have a persistent link that points to the latest version. Protocols and Data Structures IPFS relies on several powerful protocols: libp2p manages peer-to-peer networking. Merkle trees and DAGs organize data efficiently and verify it quickly. Pinning keeps important files stored on your node. If a file isn’t pinned, it can be removed during cleanup. These tools work together to create a secure, fast, and reliable network capable of handling large volumes of data. Concepts used in IPFS: Distributed Hash Table: It is used to store and retrieve data across nodes in the network. It is a class which is similar to hash tables. Using a DHT, any node on the network can request the value corresponding to a hash key. Block Exchange: It is used in the BitTorrent Protocol (also known as BitSwap) to exchange data between nodes. It is a peer to peer file sharing protocol which coordinates data exchange between untrusted swarms.It uses a tit for tat strategy which rewards nodes that contribute to each other and punishes nodes that only request resources. This helps an IPFS node in retrieving multiple parts of data parallelly. Merkle DAG: It uses a Merkle Tree or a Merkle DAG similar to the one used in the Git Version Control system. It is used to track change to files on the network in a distributed-friendly way. Data is content-addressed, by the cryptographic hash of the content. Conclusion IPFS offers a fresh approach to how we store and share data online. It boosts resilience, cuts costs, and makes censorship much harder. As more people adopt it, the web could become more open, fair, and reliable. Sources https://en.wikipedia.org/wiki/InterPlanetary_File_System https://www.geeksforgeeks.org/computer-networks/interplanetary-file-system/ https://medium.com/@TheNimbleNovice/a-beginners-guide-to-interplanetary-file-system-ipfs-d83232dc39a5 https://www.softobotics.com/blogs/understanding-the-power-of-ipfs-in-decentralized-apps/ Networks DecentralizationIPFSProtocolStorage Solutions