Foundations for Decentralization: Data with IPLD

Eric Myhre

Playlists: 'gpn19' videos starting here / audio / related events

IPLD -- "InterPlanetary Linked Data" -- is a data format with a canonical hashing scheme. With canonical hashing, we get immutable linking; and with this, we aim to build libraries and tools for decentralizing anything and everything. We need foundations for building whole ecosystems that are immune to "Error 451": IPLD is a mechanism for getting there.

Do you wish building decentralized systems was easier? That building content-addressable storage for application data was simple? That APIs could be well-documented and developed in a way that's agnostic to the serialization format? That addressing structured data with an immutable hash was just a function call away?

IPLD is making all that happen.

The end goal is that a developer can build an application that's like "the next git" -- or something even more ambitious and similarly decentralized -- and with the IPLD libraries in hand, it should take hours instead of weeks.

Come hear about:

- The IPLD Format layer -- how we make JSON, CBOR, and other formats interchangeable (and how you can bring your own);
- The IPLD Data Model -- how we define canonical hashing over all the formats IPLD supports;
- and The IPLD Schema System -- how we define some simple, and optional, but incredibly useful standards for typing structured data: both for making data validation easier, making schema evolution possible, and making a clear road for advanced operations like deterministic sharding for large dataset support.

We're building both specs and library implementations (starting in Go, Java, and JS); this talk will show some example snippets.

In comparison to existing systems, you can think of it like: Protobuf schemas and graphQL queries had a baby, but rather than being built entirely for big-enterprise needs, it's got native support for both human-readable of JSON and fast binary message formats like CBOR; it's built for people of the "bazaar" rather than the "cathedral"; and we're Apache2/MIT licensed FOSS through and through.