Merkle DAGs give us a flexible way to model and share data on the distributed web. This is a fundamental capability—so much so, in fact, that Merkle DAGs are the basic building block for many diverse projects: version control systems like Git, blockchains like Ethereum, decentralized web protocols like IPFS, and distributed storage networks like Filecoin all use Merkle DAGs to store and communicate data!
This widespread use speaks to a potential ability to use Merkle DAGs as a common basis of communication between disparate projects. To make this a reality, a project called InterPlanetary Linked Data (IPLD) is developing an ecosystem of Merkle-DAG-based data formats and their formal descriptions, supporting wide-ranging data interchange. Just like CIDs provide a common language for referring to content-addressed data, IPLD defines common formats as formal schemas for structuring and communicating content-addressed data structures.
Systems that can parse IPLD data and CIDs can reference content from other systems: for example, we could have a Filecoin deal that references a data blob in IPFS, or a blockchain-based smart contract that references specific Git commits! CIDs enable us to give every piece of data a unique global address; Merkle DAGs and IPLD give us a way to traverse and understand the structure of that data. Together, they form the basis of a global web of interlinked and mutually-comprehensible data ecosystems.
Feeling stuck? We'd love to hear what's confusing so we can improve this lesson. Please share your questions and feedback.