---
slug: thinker-juan-benet
title: Juan Benet — IPFS and Content-Addressed Storage
canonical: https://miscsubjects.com/a/thinker-juan-benet
---

<!-- hierarchy:nav -->
> **Path:** [OIP](https://miscsubjects.com/a/oip) › [Thinker Reference](https://miscsubjects.com/a/oip-thinker-reference) › [Thinkers](https://miscsubjects.com/a/oip-thinkers) › **Juan Benet — IPFS and Content-Addressed Storage**
>
> **Shelf:** Thinkers · **Traversal:** self-explaining · hierarchical · voxel-ready
> **Machine root:** [OIP tree](https://miscsubjects.com/api/dispatch?map=1&format=markdown) · [Registry](https://miscsubjects.com/api/dispatch?registry=1)

# Juan Benet — IPFS and Content-Addressed Storage

## §SELF — thinker-juan-benet

**What this page is:** A profile of the creator of IPFS and the concept of content-addressed storage.
**What it explains:** How Benet replaced location-based file retrieval with content-based retrieval, and what that enables.
**Why read it:** To understand why addressing files by what they contain rather than where they live changes how data can be stored, shared, and verified.

### What Benet Is

Juan Benet (born 1988) is a software engineer who created IPFS (InterPlanetary File System) in 2014 and founded Protocol Labs to develop it. IPFS is a distributed file system that retrieves files by their content rather than by their location on a specific server.

### Why It Matters

The dominant file system on the internet, HTTP, uses location-based addressing. A URL points to a server and a path on that server. If the server goes offline, the file becomes unreachable even if the same file exists elsewhere. If the file changes, the URL still points to the new (possibly different) content without signaling the change. Content-addressing fixes both problems: a file is retrievable from any node that has it, and the address itself changes if the content changes.

### The Key Idea

Benet's key idea is that a file's address should be derived from its content. IPFS computes a hash of a file's contents and uses that hash as its address. This address is called a CID (Content Identifier). If two files have identical content, they have the same CID and are stored only once. If the content changes by even one bit, the hash changes, and the CID changes. The address is the content; the content is the address.

### What They Got Right

- **Content-addressing as the default.** Every file in IPFS is addressed by the hash of its contents. This eliminates ambiguity: the CID guarantees what you will receive.
- **Deduplication.** Identical files produce the same CID. The network stores one copy regardless of how many people add it. This saves storage space automatically.
- **Distribution without central servers.** Files are stored on many nodes. If one node goes offline, the file remains available from any other node that has it. There is no single point of failure.
- **IPLD (InterPlanetary Linked Data).** A data model that connects content-addressed pieces of data into graphs and structures. IPLD allows IPFS to represent not just flat files but also versioned datasets, directories, and linked records — all using CIDs as the linking mechanism.
- **Verifiability by construction.** When you request a file by CID, you can recompute the hash of what you received and confirm it matches the CID. If it matches, the content is guaranteed to be exactly what was originally addressed.
- **Offline and local-first retrieval.** If a file exists on your local network or your own machine, IPFS can retrieve it from there without contacting the internet. Location-based systems cannot do this.

### What They Got Wrong or Left Unfinished

- **No persistence guarantee.** IPFS stores files on nodes that choose to host them. If no node hosts a particular file, it becomes unavailable. Content disappears unless someone actively "pins" it (commits to keeping it).
- **Performance overheads.** Content routing (finding which nodes have a given CID) is slower than DNS lookup followed by a direct HTTP request for small, popular files.
- **Mutable data.** IPFS itself is immutable: changing a file produces a new CID. IPNS (InterPlanetary Naming System) adds mutable pointers, but it introduces complexity and a separate key-management problem.
- **Adoption barriers.** IPFS requires running specialized software or using a gateway. Most websites and applications still use HTTP, so IPFS remains a parallel system rather than a replacement.
- **Garbage collection.** Nodes periodically remove unpinned content to free space. There is no mechanism to ensure long-term archival of data that no one has pinned.

### How It Connects to Other Ideas

- **HTTP and URLs.** HTTP addresses ask "where." IPFS addresses ask "what." This is a fundamental shift in addressing philosophy. HTTP URLs are human-readable and mutable; IPFS CIDs are opaque and immutable. Each has trade-offs.
- **Git version control.** Git also uses content-addressing: every commit is identified by the hash of its contents. Benet extended this principle from source code repositories to arbitrary files and to a distributed network.
- **Linked data and the Semantic Web.** IPLD's graph structure of content-addressed nodes connects to the Semantic Web's vision of machine-readable linked data. Both use links as the primary mechanism for connecting information, but IPFS uses cryptographic hashes as link targets rather than HTTP URLs.
- **Artifact storage in computation systems.** When a computational process produces a file, storing it on IPFS and recording its CID creates a permanent, verifiable record. The CID in a receipt or log entry proves exactly which artifact was produced, without relying on any specific storage server remaining online.

### Sources

- Benet, Juan. "IPFS — Content Addressed, Versioned, P2P File System." 2014. https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf
- Protocol Labs. IPFS documentation and specifications. https://docs.ipfs.tech/

---

## Up the tree

- [OIP root](https://miscsubjects.com/a/oip) — protocol root, zero-context entry
- [Thinker Reference hub](https://miscsubjects.com/a/oip-thinker-reference) — full hierarchy map
- [Thinkers shelf](https://miscsubjects.com/a/oip-thinkers) — siblings on this shelf
- [Voxel graph article](https://miscsubjects.com/a/what-is-voxel-graph) — how pages link as voxels
- [Self-describing protocol](https://miscsubjects.com/a/what-is-self-describing-protocol)

## Related on this shelf

- [Alan Kay — The Big Idea Is Messaging](https://miscsubjects.com/a/thinker-alan-kay)
- [Alfred North Whitehead — Process and Reality](https://miscsubjects.com/a/thinker-alfred-north-whitehead)
- [J.L. Austin and John Searle — Speech Acts](https://miscsubjects.com/a/thinker-austin-searle)
- [Barbara Liskov — Abstract Data Types and Distributed Consensus](https://miscsubjects.com/a/thinker-barbara-liskov)
- [Bram Cohen — BitTorrent and Content-Addressed Protocol Design](https://miscsubjects.com/a/thinker-bram-cohen)
- [Butler Lampson — Protection and Access Control](https://miscsubjects.com/a/thinker-butler-lampson)
- [Carl Hewitt — The Actor Model](https://miscsubjects.com/a/thinker-carl-hewitt)
- [Charles Sanders Peirce — Signs, Abduction, and Pragmatism](https://miscsubjects.com/a/thinker-charles-peirce)

## Machine surfaces

- Public page: `https://miscsubjects.com/a/thinker-juan-benet`
- JSON article: `https://miscsubjects.com/api/articles/thinker-juan-benet`
- OIP ask: `https://miscsubjects.com/api/dispatch?ask=Juan%20Benet%20%E2%80%94%20IPFS%20and%20Content-Addressed%20Storage`

