{"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"thinker-juan-benet","urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/thinker-juan-benet/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/thinker-juan-benet/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"thinker-juan-benet","title":"Juan Benet — IPFS and Content-Addressed Storage","register":"standard","tags":["oip","kimi-import","self-explaining","voxel","thinkers","thinker-juan-benet"],"updated_at":"2026-07-15T04:20:38.502Z","body_excerpt":"<!-- hierarchy:nav -->\n> **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**\n>\n> **Shelf:** Thinkers · **Traversal:** self-explaining · hierarchical · voxel-ready\n> **Machine root:** [OIP tree](https://miscsubjects.com/api/dispatch?map=1&format=markdown) · [Registry](https://miscsubjects.com/api/dispatch?registry=1)\n\n# Juan Benet — IPFS and Content-Addressed Storage\n\n## §SELF — thinker-juan-benet\n\n**What this page is:** A profile of the creator of IPFS and the concept of content-addressed storage.\n**What it explains:** How Benet replaced location-based file retrieval with content-based retrieval, and what that enables.\n**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.\n\n### What Benet Is\n\nJuan 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.\n\n### Why It Matters\n\nThe 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.\n\n### The Key Idea\n\nBenet'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.\n\n### What They Got Right\n\n- **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.\n- **Deduplication.** Identical files produce the same CID. The network stores one copy regardless of how many people add it. This saves storage space automatically.\n- **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.\n- **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.\n- **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.\n- **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.\n\n### What They Got Wrong or Left Unfinished\n\n- **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).\n- **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.\n- **Mutable data.** IPFS itself is immutable: changing a file produces a new CID. I","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[],"sources":[],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"thinker-juan-benet","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":0,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":0,"claims_total":0,"sources":0,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}