Links IPFS blocks using CIDs through a DAG (specifically a Merkle DAG).
It provides “consistent serialization for data across 2-3 serialized forms (JSON, protobuf, or CBOR)” (per Chris Joel)
This allows IPFS:
- to work with arbitrary data types
- basic structure, serializiation and traversal of content-addressed data
- Interoperable protocols
- Easy upgradeability
- Backwards compatibility
More info: https://ipld.io/docs/intro/primer/