The InterPlanetary File System (IPFS) is a peer-to-peer distributed protocol for storing and sharing files that uses content-addressing — identifying files by their cryptographic hash rather than their location on a specific server.
Instead of retrieving a file from a particular server, IPFS locates files based on w hat they contain, using a unique content identifier (CID) such as QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o. Any node in the network that has a copy of the content can serve it.
IPFS grew from Juan Benet’s 2014 proposal and public implementations in 2015. It lets multiple providers serve content addressed by its data structure rather than one server location. Availability still depends on reachable providers retaining the required blocks; adding a file does not automatically replicate it across the network.
IPFS is used for NFT metadata, documents, application interfaces, and other off-chain data. A blockchain can record a content reference while IPFS distributes the referenced bytes. The combination does not by itself guarantee availability, ownership rights, or complete decentralization.
Origin & History
2014: Juan Benet publishes the IPFS whitepaper, proposing a content-addressed, peer-to-peer file system inspired by Git, BitTorrent, and the Kademlia DHT
2015: Protocol Labs releases the first IPFS implementation (Go-IPFS) and launches the public network
2015: IPFS gains attention in the blockchain community as a solution for off-chain data storage
Filecoin development: Filecoin adds a separate blockchain and storage-incentive system that can complement IPFS. Storage agreements are time-bound, not a guarantee of permanent hosting.
2017: The Catalan independence referendum website is hosted on IPFS after Spanish authorities block the traditional web version, demonstrating censorship resistance
September 2018: Cloudflare launches an IPFS gateway, allowing access through ordinary HTTP clients.
NFT adoption: Projects use IPFS for metadata and media, but NFT standards do not require this storage choice.
2021–2024: Brave introduces native IPFS support in 2021, then deprecates local-node and protocol support in version 1.69.153 on August 22, 2024.
2021–2024: NFT.Storage Classic offers free uploads and pinning before closing new uploads on June 30, 2024. Its historical free service is not a current promise of unrestricted new uploads. (Source: NFT.Storage Classic upload closure)
Filecoin growth: Storage capacity and client data are different measures. Neither establishes that a particular IPFS file has an active storage agreement or a fast retrieval path.
Continuing development: IPFS applications explore distributed publication and retrieval. Resilience depends on replication, connectivity, and access paths.
2023: Helia becomes the modern JavaScript IPFS implementation, replacing js-IPFS. Work continues on routing and retrieval; ordinary IPFS hosting is not automatically a blockchain data-availability guarantee.
In Simple Terms
Think of IPFS as a shared library in which a book is requested by a fingerprint of its encoded contents. Any reachable provider with the required data may serve it; the protocol does not promise the geographically nearest copy.
It’s like how torrents work, but for the entire web. When you download a file, you’re pulling pieces from multiple sources simultaneously. Each piece is verified by its hash, so you know you’re getting exactly the right data.
Imagine a neighborhood potluck where everyone brings copies of the recipes. Instead of one person being responsible for the recipe book (centralized server), everyone who’s interested keeps a copy. If one person moves away, the recipes aren’t lost.
The fingerprint analogy has a qualification: the same file can produce different CIDs when chunking, encoding, hash choice, or other import settings differ. Matching content and settings produce the same identifier. (Source: IPFS content identifiers)
Think of it as a filing system based on fingerprints instead of addresses. Traditional web says “go to room 42, shelf 3” (URL). IPFS says “find the document with this unique fingerprint” (CID) — it doesn’t matter which room it’s in.
Important: IPFS does not guarantee permanent storage. Pinning tells a node to retain data rather than garbage-collect it, but that node still needs storage, connectivity, and maintenance. Replication, backups, service monitoring, and retrieval tests are necessary for durable access. Public IPFS also does not encrypt file contents automatically.
Key Technical Features
Content Addressing
Files are represented as content-addressed blocks, often organized as UnixFS data in a Merkle DAG.
A CID includes a content hash and format information; it is not simply a filename or always the raw file’s SHA-256 digest.
Identical bytes imported with identical settings produce the same CID; different settings can produce different CIDs for the same file.
Modifying even a single byte produces a completely different CID
Matching blocks can be deduplicated within a storage system. Independent nodes may—and for resilience should—retain separate copies.
How IPFS Works
A user adds a file to their local IPFS node
The importer splits data into blocks according to its selected chunking settings.
Each chunk is hashed, producing a CID
If the file has multiple chunks, a Merkle DAG (Directed Acyclic Graph) links them together
The root CID of the Merkle DAG represents the entire file
The node advertises availability through configured routing mechanisms, which can include the DHT.
A requester uses routing information, known peers, or gateways to locate providers.
It retrieves the needed blocks from available providers; nearest or fastest delivery is not guaranteed.
Each chunk is verified against its CID to ensure integrity
IPFS and Blockchain Integration
NFT metadata: A token may reference an IPFS URI for metadata, which may in turn link to media. The contract determines whether that reference can change.
dApp front-ends: Decentralized applications host their web interfaces on IPFS (e.g., Uniswap’s interface is available on IPFS)
DAO documents: Content addressing makes a particular document version verifiable, while continued hosting keeps it retrievable.
Decentralized websites: ENS content records can point to IPFS content. Name control, gateways, and connected services remain relevant dependencies.
IPNS (InterPlanetary Name System)
IPFS CIDs change when content changes (since the hash changes)
IPNS provides mutable pointers — a persistent name that can be updated to point to different CIDs
Enables updateable content while maintaining the benefits of content addressing
Works similarly to DNS but in a decentralized manner
Pinning and Persistence
Local pinning: A node retains pinned data against its own garbage collection while the pin and storage remain intact.
Remote services: Providers can retain content under their service terms. Confirm current upload support, replication, retention, and costs.
Filecoin: Storage agreements and proofs support verifiable retention; retrieval access and speed require their own arrangements.
Garbage collection: Unpinned blocks may be removed according to the node’s configuration and storage management.
Advantages & Disadvantages
Advantages
Disadvantages
Replication resilience — Multiple independent providers reduce reliance on one server; access can still be blocked.
No persistence guarantee — Required blocks must remain retained and retrievable.
Data integrity — Content hashes verify that files haven’t been tampered with
Performance variability — Retrieval speed depends on network conditions and node proximity
Block deduplication — Matching blocks can share local storage; network replication still uses multiple copies.
Large files — Handling very large files (GB+) can be slow and unreliable
Flexible delivery — Multiple providers and caches can improve access, without guaranteeing proximity or speed.
Gateway dependency — Most users access IPFS through centralized gateways, partially negating decentralization
Redundancy — Multiple reachable copies can tolerate provider failures; a single retained copy remains fragile.
Mutability complexity — Updating content requires IPNS or re-publishing with new CIDs
Web3 native — Integrates naturally with blockchain, NFTs, and decentralized applications
Operating costs — Storage, bandwidth, maintenance, or service fees still need funding.
Open protocol — Free, open-source, and permissionless
Learning curve — Setting up and managing IPFS nodes is more complex than traditional hosting
Risk Management
For NFT Creators and Collectors
Pin your NFT assets: Don’t rely on marketplace pinning alone — pin important NFT metadata and media yourself or through multiple pinning services
Plan retention: Check storage duration, renewal, redundancy, and retrieval commitments. No service name alone establishes indefinite availability.
Verify references: A CID helps confirm bytes, but check whether the NFT contract can replace its URI and whether metadata links to mutable external media.
Multiple pin providers: Use at least two independent pinning services for important content
For dApp Developers
Redundant pinning: Host your dApp front-end on IPFS with multiple pinning services and your own IPFS node
Gateway fallback: Use currently supported gateways and test retrieval. A gateway list from an old tutorial may contain retired services.
Version management: Use IPNS or ENS for updateable links to your latest dApp version
Content verification: Validate CIDs on the client side to ensure content integrity
For Content Publishers
Understand persistence model: IPFS alone doesn’t guarantee permanent availability — plan for long-term pinning
Publication and privacy: A CID verifies content, not its author or publication time by itself. Others may retain public copies after you delete yours. Encrypt sensitive data before publication and account for metadata exposure. (Source: IPFS privacy and encryption)
Gateway access: Ensure your content is accessible through major IPFS gateways for users without IPFS clients
Cultural Relevance
IPFS separates content identity from a particular hosting location. That makes it useful alongside blockchains without turning IPFS itself into a blockchain.
NFT durability depends on the complete reference and storage chain: contract, metadata, media, and reachable providers.
IPFS has become foundational to Web3 culture:
“Pin it or lose it” is common advice in NFT communities, referring to ensuring IPFS content persistence
Metadata-change concerns highlight two separate questions: whether a particular CID is immutable and whether a token’s reference to that CID can be changed.
Wikipedia on IPFS became a symbol of censorship resistance after Turkey blocked Wikipedia (2017-2020)
ENS and IPFS combine on-chain naming with content-addressed publication, while gateways and RPC services may still introduce dependencies.
The Catalan referendum hosting demonstrated real-world censorship resistance, becoming a landmark case for IPFS advocacy
Content addressing verifies the requested data version; location-based delivery can still be useful, and the two approaches can work together.
Real-World Examples
1. NFT Metadata on IPFS
Scenario: A project wants to keep large metadata and media files off-chain while making their contents verifiable.
Implementation: ERC-721’s optional tokenURI interface or ERC-1155’s uri interface can return a URI referring to IPFS. Neither standard requires IPFS or guarantees immutable references. The project arranges retention for both metadata and media.
Outcome: A fixed CID identifies a specific data version, but the project must also maintain availability and disclose any authority to change the token’s URI.
2. Censored Content Hosting
Scenario: Multiple governments have blocked access to websites and information, and IPFS provided a censorship-resistant alternative.
Implementation: Publishers distribute content references and maintain copies on independent nodes. Blocking a gateway, provider, or network path can still impede access; an adversary need not block the whole protocol to affect particular readers.
Outcome: IPFS established itself as critical infrastructure for freedom of information. However, centralized IPFS gateways (like ipfs.io) can still be blocked, highlighting the importance of running local IPFS nodes for true censorship resistance.
3. Illustrative Application Front-End Deployment
Scenario: An application team wants its static interface to be available from multiple providers.
Implementation: The team publishes a build, pins the referenced blocks with independent providers, and optionally updates a controlled name to point to the release CID.
Outcome: A verifiable front-end build can survive one hosting failure if other copies remain reachable. Its RPC endpoints, APIs, contracts, and name-update keys still require protection.
Scenario: IPFS needed an economic incentive layer to ensure long-term content persistence beyond volunteer pinning.
Implementation: A client arranges storage with providers under defined terms. Filecoin uses storage proofs to check commitments; retaining data and serving it quickly are distinct requirements.
Outcome: Verifiable storage can complement IPFS distribution. Clients still need renewal, replication, and retrieval plans instead of assuming network-wide capacity guarantees access to their file.
Software is open; hosting and bandwidth cost resources
Mutability
IPNS for updates
URLs can change content
Immutable
Immutable (within deal)
Immutable
Censorship resistance
Depends on replication and access paths
Depends on hosting and delivery design
Depends on network and access paths
Depends on providers and retrieval paths
Medium (P2P)
Speed
Variable (P2P routing)
Fast (CDN-optimized)
Variable
Variable
Variable
Web3 integration
Native (ENS, NFTs)
Separate
Native (Arweave ecosystem)
Related content-addressed tooling
Limited
FAQ
Is content stored on IPFS permanent?
No. Content must remain available from reachable providers with all required blocks. Pinning protects against a node’s garbage collection, not hardware failure or provider shutdown. Maintain independent copies and test retrieval.
Is IPFS a blockchain?
No. IPFS uses content-addressed data blocks but has no native blockchain ledger, token, or global consensus mechanism. It can be used alongside blockchains that store references to its content.
How do I access IPFS content without installing anything?
Use a currently supported HTTP gateway, such as an IPFS gateway with a /ipfs/ path and a valid CID. Gateway availability, privacy, origin isolation, and content-verification behavior vary; a gateway is an additional service dependency.
Can someone change the content my NFT points to on IPFS?
The bytes under a fixed CID cannot be changed while preserving that identifier under the hash assumptions. However, a contract may allow its tokenURI to be updated to a different CID, and the metadata can point to mutable media. Inspect all of those links.
How is IPFS different from Arweave?
IPFS addresses and distributes content; retention must be arranged separately. Arweave aims at long-term storage through a different network and endowment model. Its permanence claim depends on economic and operational assumptions, not an unconditional guarantee.
Is IPFS fast enough for websites?
IPFS performance varies. For static content (dApp front-ends, documentation), IPFS performs well, especially when combined with pinning services that maintain multiple cached copies. For dynamic content or applications requiring real-time updates, traditional hosting or hybrid approaches (IPFS for static assets, API for dynamic data) are more appropriate.
Conclusion
IPFS makes a particular data version verifiable and distributable across providers. Durable publication still requires retained copies, working retrieval paths, and a clear policy for mutable references and sensitive data.