← New search

Other meanings of InterPlanetary File System

Computer Science

InterPlanetary File System

The InterPlanetary File System (IPFS) is a decentralized peer-to-peer protocol for storing and sharing files, addressing content by cryptographic hash rather than location. It aims to make the web faster, safer, and more open by replacing HTTP's location-based addressing with content-based addressing.

2015
Initial release
Year
2.5M+
Monthly active nodes (est.)
Scale
~200 GiB
Content stored on public network (2021)
Scale
1

Core concepts and architecture

IPFS uses content-based addressing: each file is identified by a cryptographic hash (CID) derived from its content, so identical files share the same address and can be retrieved from any peer holding them. The protocol combines a distributed hash table (DHT) for routing, a BitSwap exchange mechanism for block transfer, and a Merkle DAG for structuring data. Nodes store and serve blocks they have, and requests are routed to the nearest peer with the data, reducing reliance on central servers.

IPFS is built on libp2p, a modular network stack that handles peer discovery, transport, and encryption. This design allows IPFS to operate over various transports (TCP, QUIC, WebSockets) and to work in offline or censored environments. The protocol is open-source and maintained by Protocol Labs, with contributions from a global community.

2

History and development

IPFS was created by Juan Benet, who published the protocol's whitepaper in 2014 and launched the reference implementation in 2015. Benet founded Protocol Labs, which also developed libp2p and Filecoin, a cryptocurrency incentivizing storage on IPFS. The project grew rapidly, with early adopters including the Internet Archive, which began using IPFS to preserve web content.

In 2020, IPFS gained mainstream attention when the COVID-19 pandemic highlighted the fragility of centralized infrastructure. The protocol has since been integrated into browsers (e.g., Brave, Opera) and used for NFT metadata storage, decentralized social media, and scientific data sharing. IPFS has also been adopted by governments and institutions for archival purposes, such as the Catalan government's use for transparency records.

3

Applications and use cases

IPFS is used for decentralized websites (dwebs), where content is served from multiple peers, reducing single points of failure. It is also a backbone for many Web3 applications, including NFT platforms like OpenSea that store metadata on IPFS. In academia, IPFS is used to share large datasets and preprints, ensuring long-term availability. The protocol supports versioning and deduplication, making it efficient for storing large repositories.

IPFS has been deployed in disaster recovery and censorship-resistant publishing. For example, during the 2019 Hong Kong protests, activists used IPFS to distribute information that was blocked on traditional platforms. Additionally, IPFS is used in offline-first environments, such as rural areas with limited connectivity, where content can be shared via local networks.

4

Lesser-known aspects

IPFS includes a feature called 'ipfs-names' or IPNS, which allows mutable pointers to content, but it is often overlooked. Another niche is 'private networks' where nodes only connect to a whitelist of peers, used in enterprise settings. IPFS also supports 'UnixFS' for file semantics, enabling directory structures and file metadata.

A notable edge case is the 'content-addressed' nature that makes it impossible to delete content once published, raising legal and ethical concerns. The protocol has a 'garbage collection' mechanism but only for local nodes. IPFS has been used in scientific research, such as the CERN open data project, and in space communication experiments, aligning with its 'interplanetary' name. The protocol's performance can degrade with high churn, and it has faced criticism for energy consumption in DHT maintenance.

Glossary

CID
Content Identifier, a cryptographic hash that uniquely identifies a file or block in IPFS.
DHT
Distributed Hash Table, a decentralized routing structure used to locate peers and content.
BitSwap
The block exchange protocol in IPFS that incentivizes peers to share data.
Merkle DAG
A directed acyclic graph where each node is identified by its hash, enabling efficient verification.
libp2p
A modular network stack used by IPFS for peer-to-peer communication.
IPNS
InterPlanetary Name System, a system for mutable pointers to IPFS content.

IPFS is an open-source project; its name reflects the ambition to work across planetary distances, though it is primarily used on Earth.