How IPFS Works

How IPFS Works | Steve Allen

In this video, Steve Allen describes how IPFS Imports, Names, Finds and Fetches content.

At a high level, the talk covered the following concepts:


  • Chunking – When an object is added to IPFS, it is chunked up into smaller parts, each part is hashed, and a CID is created for each chunk. This DAG building process has two main parameters, the leaf format and the chunking strategy.
  • UnixFS – When you add a file to IPFS, it might be too big to fit in a single block, so it needs metadata to link all its blocks together. UnixFS is a protocol-buffers-based format for describing files, directories, and symlinks in IPFS. This data format is used to represent files and all their links and metadata in IPFS. UnixFS creates a block (or a tree of blocks) of linked objects.
  • IPLD – A meta-format for understanding, encoding, and decoding Merkle-linked data. IPLD works to make it possible to define a data model and make it possible to link together different types of Merkle-linked data.


  • Content IDentifiers (CIDs) – These are self-describing hashes used to describe everything stored in IPFS, essentially a hash with some metadata.
  • Paths – Paths are recursive unlike URLs and can refer to previous blocks.
  • IPNS – Public keys are mapped to a path, and you use your private key to sign it- as you modify this content, you can use IPNS to point to a new version of a previous piece of content that is signed by your private key.


  • Routing & DHT – Content on IPFS uses a combination of a CID and routing systems that help identify the set of peers you can get the content from with a distributed routing table (or Distributed Hash Table).
  • Kademlia – Kademlia is a distance metric + query algorithm that helps users find the peers with the most accessible pieces of data.


  • Bitswap – Using wantlists of data, or CIDs, that specific users are looking for, and checks peers that a node is connected to first for those CIDs before querying the rest of the DHT.

More IPFS Concepts

You can also find this content in IPFS Docs

Because IPFS is a system that hopes to change how we use the Internet, it comes with many new concepts:

Whiteboard Series with NEAR | Ep: 42 Adin Schmahmann