InterPlanetary Linked Data (IPLD) is a data model and a suite of specifications for creating and working with content-addressed, cryptographically linked data structures. It provides a unified way to link data across different decentralized protocols—like IPFS, Filecoin, and Git—by using Content Identifiers (CIDs) as universal pointers. This allows developers to treat data from disparate systems as a single, interconnected graph of information, enabling seamless traversal and querying across protocol boundaries.
InterPlanetary Linked Data (IPLD)
What is InterPlanetary Linked Data (IPLD)?
IPLD is the data model of the decentralized web, providing a unified framework for linking and traversing hash-linked data structures across different distributed systems.
At its core, IPLD is built on the concept of Merkle DAGs (Directed Acyclic Graphs), where each node is identified by the cryptographic hash of its content. This structure ensures data integrity and enables powerful properties like deduplication and tamper-evidence. IPLD defines a set of codecs—such as dag-cbor, dag-json, and dag-pb—that specify how to serialize data into these linked nodes, and multicodecs that identify the type of data and the hashing algorithm used in a CID.
A primary use case for IPLD is structuring complex, versioned datasets. For example, a decentralized application (dApp) might store user profiles, posts, and media as separate IPLD nodes, linking them together with CIDs. This creates an immutable, verifiable social graph where any piece of data can be independently retrieved and its provenance checked. IPLD's ability to link across systems also means a smart contract on one blockchain could directly reference and verify a dataset stored on IPFS, creating powerful cross-protocol integrations.
For developers, IPLD is implemented through libraries like js-ipld and go-ipld-prime, which provide tools for creating, parsing, and traversing IPLD data. The model's flexibility supports schemas through IPLD Schemas (a schema definition language) and advanced data manipulation via selectors (a query language for graph traversal). This makes IPLD not just a storage format, but a foundational layer for building queryable, verifiable, and interoperable data applications on the decentralized web.
How IPLD Works
InterPlanetary Linked Data (IPLD) is the data model and set of specifications that enable linking and navigating content-addressed data across decentralized systems like IPFS, Filecoin, and Git.
At its core, IPLD provides a unified data model for content-addressed information. It treats all hash-linked data structures—whether from a Git commit, an IPFS block, or an Ethereum block header—as a single, interconnected graph. This is achieved by using Content Identifiers (CIDs) as the universal pointers. A CID is a self-describing hash that not only uniquely identifies a piece of data but also specifies the hash function and codec used to generate it, allowing any system to interpret the linked data correctly.
The primary mechanism for navigating this graph is merkle-linking. When data is structured as a Merkle DAG (Directed Acyclic Graph), each node contains CIDs that link to other nodes. Traversing these links, or paths, allows you to walk from one piece of data to any other connected data, regardless of its original protocol. For example, you could write a path like /ipfs/QmFoo/merkle/path/to/data to retrieve specific information nested deep within a linked data structure, similar to navigating a filesystem.
IPLD is not a single format but supports multiple codecs for serializing data into blocks. Common codecs include DAG-CBOR (for structured data), DAG-PB (for file-like data in IPFS), and Raw (for binary data). A codec defines how to encode and decode data to and from bytes, while the CID specifies which codec was used. This separation allows IPLD to be extensible, enabling new data formats and hash functions to be added to the ecosystem without breaking existing links.
Developers interact with IPLD through libraries (like js-ipld or go-ipld-prime) that handle the complexities of CID resolution, data traversal, and codec processing. A fundamental operation is block resolution: given a CID, the library fetches the corresponding block of data, decodes it using the specified codec, and presents it as a navigable node. This abstraction allows applications to build on top of a universal data layer, creating interoperable tools for data analysis, decentralized websites (Web3), and verifiable data pipelines.
Key Features of IPLD
InterPlanetary Linked Data (IPLD) is a data model and a suite of standards for creating and traversing decentralized data structures. Its core features enable verifiable, content-addressed data across different distributed systems.
Content Addressing (CIDs)
IPLD uses Content Identifiers (CIDs) to uniquely address data by its cryptographic hash, not its location. This creates a self-certifying link where the content itself validates the identifier. For example, a CID for a block of data is derived from its hash, ensuring that anyone who retrieves the data can verify it matches the CID they requested.
Merkle DAG Structure
IPLD structures data as a Merkle Directed Acyclic Graph (DAG). This means:
- Each node is identified by its CID.
- Nodes link to other nodes via their CIDs.
- The graph has no cycles, enabling efficient traversal and integrity verification. This structure is fundamental to blockchain state (like Ethereum's Patricia Merkle Trie) and file systems (like IPFS).
Data Model Agnosticism
IPLD is not tied to a single serialization format. It defines an abstract data model that can be represented in multiple encodings, such as CBOR, JSON, and Protobuf. This allows different systems to interoperate by agreeing on the data model, even if they use different underlying wire formats.
Schema & Advanced Data Layouts
Through IPLD Schemas (a JSON-based schema language) and advanced data layouts, developers can define complex, typed data structures. This enables:
- Type safety and validation for IPLD data.
- Advanced layouts like HAMT (Hash Array Mapped Trie) for scalable key-value stores and B-tree-like structures for large datasets.
Cross-Blockchain Traversal
A primary goal of IPLD is to enable traversal across heterogeneous linked data systems. Using a unified data model, a developer can write a single path (e.g., /ipfs/QmFoo/bitcoin/block/500000/tx/0) to navigate from an IPFS file, into a Bitcoin block, and down to a specific transaction, treating them as one interconnected graph.
Composable Data & Codecs
IPLD's architecture is built on composability. Codecs (like dag-cbor, dag-json, dag-pb) handle serialization/deserialization, while Multicodecs identify the format within a CID. Multihash identifies the hash function. This layered approach allows the system to evolve and support new formats and algorithms without breaking existing data.
Etymology and Origin
The name InterPlanetary Linked Data (IPLD) is a direct reference to its foundational technologies and its ambitious, long-term vision for a unified data layer.
The term InterPlanetary Linked Data (IPLD) is a compound construct. InterPlanetary is a direct inheritance from the InterPlanetary File System (IPFS), the decentralized storage network for which IPLD was originally created as a core data model. This prefix evokes the project's grand vision of a resilient, peer-to-peer network that could, in theory, span planets. Linked Data is a well-established concept in computer science, referring to a method of publishing structured, interlinked data on the web using standards like URIs and RDF. IPLD adapts this principle for content-addressed systems.
The origin of IPLD is inextricably linked to the development of IPFS by Protocol Labs around 2014-2015. As IPFS engineers built a system where every piece of data is referenced by its cryptographic hash (a Content Identifier or CID), they needed a universal way to link between these immutable blocks across different protocols. IPLD emerged as the data model that could interpret these links, allowing tools to traverse data structures stored in IPFS, Git, Bitcoin, Ethereum, and other hash-linked systems. It solved the problem of protocol silos by providing a common lens for data.
Conceptually, IPLD draws inspiration from the architecture of the World Wide Web, but replaces location-based links (URLs) with content-based links (CIDs). Just as HTML documents link to each other via URLs, IPLD data structures—like dag-cbor or dag-json—link to other data via CIDs. This creates a Merkle graph, a powerful structure where the integrity of the entire graph can be verified from any node. The goal was not to create a new database, but to define a schema-less, universal format for connecting all cryptographic data.
Examples and Use Cases
IPLD provides a unified data model for linking content-addressed data across different systems. Here are key applications that demonstrate its power.
Ecosystem Usage
IPLD is a data model and set of specifications for creating decentralized data structures that are universally addressable and linkable. Its primary use cases extend far beyond its origins in the InterPlanetary File System (IPFS).
Content Addressing Foundation
IPLD provides the foundational data model for content addressing, where data is referenced by its cryptographic hash (CID). This enables:
- Verifiability: Data integrity is guaranteed; the same content always produces the same address.
- Decentralization: Data can be stored anywhere and retrieved by its unique CID, independent of location.
- Deduplication: Identical data is stored only once across networks like IPFS and Filecoin, saving storage.
Blockchain Data Structures
IPLD is used to model and traverse complex blockchain data. It allows developers to treat blockchain structures (blocks, transactions, state trees) as interconnected graphs.
- Ethereum & IPLD: Ethereum's block headers, transaction tries, and state tries can be represented and navigated using IPLD, enabling tools like Ethereum ETL.
- Cross-Chain Interoperability: By providing a common data model, IPLD allows for the creation of tools that can query and analyze data from different blockchains in a unified way.
Decentralized Identity (DID & Verifiable Credentials)
IPLD is a core component of decentralized identity systems, providing a way to create portable, verifiable, and tamper-proof identity documents.
- DID Documents: A Decentralized Identifier (DID) document can be stored as an IPLD object, referenced by its CID.
- Verifiable Credentials: Credentials and their associated proofs can be structured as linked IPLD data, enabling cryptographic verification of claims without a central issuer.
Filecoin's Storage Market
IPLD is integral to the Filecoin network, which is built on IPFS. It structures all data related to storage deals and the blockchain itself.
- Deal Provenance: Storage deals, client/provider agreements, and storage proofs are encoded as IPLD objects, creating an auditable chain of custody.
- State Management: Filecoin's complex blockchain state (market actors, power tables) is modeled and accessed using IPLD, enabling efficient state queries and updates.
IPLD vs. Traditional Data Models
A structural comparison of InterPlanetary Linked Data with traditional centralized and relational data models.
| Core Feature | IPLD (Content-Addressed) | Traditional DB (Location-Addressed) | Relational DB (Schema-Based) |
|---|---|---|---|
Primary Addressing Method | Content Identifier (CID) | Location (Path, URL, IP) | Primary Key (Row ID) |
Data Integrity | |||
Immutable Data | |||
Schema Enforcement | Flexible (Schema-on-read) | Rigid (Schema-on-write) | |
Native Linking | Cryptographic Merkle Links | Foreign Keys | Foreign Keys |
Verifiable Proofs | |||
Decentralized Hosting | |||
Query Language | Graph Traversal (IPLD Selectors) | Varies (e.g., NoSQL APIs) | SQL |
Common Misconceptions
InterPlanetary Linked Data (IPLD) is a fundamental data model for content-addressed systems, but its role and relationship to IPFS are often misunderstood. This section clarifies key points to separate the data model from the network protocol.
No, IPLD is not the same as IPFS. InterPlanetary Linked Data (IPLD) is a data model and a set of standards for creating and navigating Merkle DAGs (Directed Acyclic Graphs) linked by cryptographic hashes (CIDs). IPFS (InterPlanetary File System) is a specific peer-to-peer network protocol and file system that uses IPLD as its underlying data model. Think of IPLD as the grammar and IPFS as a language that speaks it; other systems like Filecoin and Git also use the IPLD model.
Technical Details
IPLD is the data model that underpins content-addressed systems like IPFS and Filecoin, enabling the creation of verifiable, linked data structures across decentralized networks.
InterPlanetary Linked Data (IPLD) is a data model and a suite of standards for creating and linking cryptographically hashed, content-addressed data structures across decentralized systems. It works by using Content Identifiers (CIDs) as universal pointers that are derived from the cryptographic hash of the data they represent, allowing any piece of data to be uniquely and verifiably referenced. This creates a Merkle DAG (Directed Acyclic Graph) where each node is a block of data linked to others via its CID, forming a web of interconnected, immutable data. IPLD is the foundational layer that enables protocols like IPFS and Filecoin to function, providing a common language for linking data across different blockchains and peer-to-peer networks.
Frequently Asked Questions (FAQ)
Core questions and answers about InterPlanetary Linked Data (IPLD), the data model that underpins decentralized systems like IPFS and Filecoin.
InterPlanetary Linked Data (IPLD) is a data model and a set of standards for creating and linking content-addressed data structures across different decentralized protocols. It works by representing all data as Merkle DAGs (Directed Acyclic Graphs), where each node is identified by a unique Content Identifier (CID). This creates a universal linking system, allowing data from blockchains (like Bitcoin's blocks), Git commits, and IPFS files to be referenced and traversed using a common set of tools. The core mechanism is the multihash, which combines a hash digest with metadata about the hash function used, ensuring future-proof, self-describing links.
Further Reading
Explore the core components and applications that make up the InterPlanetary Linked Data ecosystem.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.