IPFS organizes data around content rather than location: every file added to the network is broken into chunks, hashed, and assigned a Content Identifier (CID) built from that hash. Because the CID is derived purely from a file's contents, any two nodes storing the same file produce the identical CID, and altering even one byte changes the address entirely, giving retrieved content a built-in integrity guarantee.
Locating data on IPFS works differently than on the conventional web. Since a CID says nothing about where a file physically sits, peers announce which content they hold through a distributed hash table, and requesters query that table to find nodes serving the CID they need. Content only moves across the network when a peer actually requests it; nothing is broadcast to servers that have not asked for it.
A well-known limitation is that adding a file to IPFS does not guarantee it stays available. Nodes periodically discard content through garbage collection unless it is explicitly "pinned," so long-term availability depends on someone continuing to host, or pay a pinning service to host, the data. This is why IPFS is frequently paired with Filecoin, a companion network built by the same team, Protocol Labs, that adds paid, cryptographically verified storage contracts on top of IPFS's addressing layer.
The most common crypto application is NFT storage: instead of embedding images or JSON metadata directly on-chain, a smart contract's tokenURI typically points to an ipfs:// address, keeping expensive on-chain storage minimal while still binding the token to specific, tamper-evident off-chain content. Because a CID cannot be quietly swapped, IPFS-hosted metadata behaves as effectively immutable as long as the referenced file remains pinned somewhere.