{"guid":"be47fbb7-4a05-5586-8816-40ea53c45447","title":"Foundations for Decentralization: Data with IPLD","subtitle":null,"slug":"gpn19-105-foundations-for-decentralization-data-with-ipld","link":"https://pretalx.entropia.de/gpn19/talk/D8W7XL/","description":"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.\n\nDo 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?\n\nIPLD is making all that happen.\n\nThe 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.\n\nCome hear about:\n\n- The IPLD Format layer -- how we make JSON, CBOR, and other formats interchangeable (and how you can bring your own);\n- The IPLD Data Model -- how we define canonical hashing over all the formats IPLD supports;\n- 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.\n\nWe're building both specs and library implementations (starting in Go, Java, and JS); this talk will show some example snippets.\n\nIn 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.","original_language":"eng","persons":["Eric Myhre"],"tags":["gpn19","105","GPN","gpn19","Gulasch","Programmier","Nacht","Karlsruhe","Error","Entropia"],"view_count":478,"promoted":false,"date":"2019-05-30T00:00:00.000+02:00","release_date":"2019-05-31T02:00:00.000+02:00","updated_at":"2025-12-24T21:15:02.772+01:00","length":3348,"duration":3348,"thumb_url":"https://static.media.ccc.de/media/events/gpn/gpn19/105-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/gpn/gpn19/105-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/gpn/gpn19/105-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/gpn/gpn19/105-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/gpn19-105-foundations-for-decentralization-data-with-ipld","url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_title":"Gulaschprogrammiernacht 19","conference_url":"https://api.media.ccc.de/public/conferences/gpn19","related":[{"event_id":7095,"event_guid":"9e0c19c0-935b-5f08-9fbe-a9daaebbc2c6","weight":3},{"event_id":7097,"event_guid":"cfbdf1b4-0f47-583a-967e-f1508b3e40fa","weight":2},{"event_id":7098,"event_guid":"2cb7b45b-af85-5ee7-981d-5b4265d4e342","weight":6},{"event_id":7099,"event_guid":"756ad06c-d1f8-5867-acc6-eafb5eea3b90","weight":2},{"event_id":7100,"event_guid":"d4c06f9d-2021-5194-b65e-cfd92c086879","weight":2},{"event_id":7102,"event_guid":"045f855d-1bd3-5c93-b9f3-74c5347f4ce8","weight":2},{"event_id":7103,"event_guid":"b8b3a361-4832-518c-a850-7c354e2e975f","weight":2},{"event_id":7105,"event_guid":"9085e975-1f31-5921-81cf-78f390862e28","weight":7},{"event_id":7117,"event_guid":"e51691a8-f0d9-5aa1-9ae8-3fc9eca3dbbb","weight":5},{"event_id":7118,"event_guid":"dcbb310b-acc9-5ddc-9e40-6307ecc40515","weight":2},{"event_id":7135,"event_guid":"d810803b-cf2f-5756-9571-c15373f50fa8","weight":3},{"event_id":7141,"event_guid":"07b9277b-3c42-5455-bc35-58072a795d99","weight":5},{"event_id":7143,"event_guid":"95fb5f56-4e01-5a6f-8fcd-cd6a235c08e0","weight":2},{"event_id":7147,"event_guid":"5fe8bbbe-116b-5d42-ad17-90208755ce30","weight":2},{"event_id":7148,"event_guid":"8441d9d7-059e-5e58-9e4d-82b4540b500d","weight":3},{"event_id":7150,"event_guid":"09d6fe81-7337-5a06-b90f-763a7943a113","weight":4},{"event_id":7151,"event_guid":"822892f3-a720-5a46-b933-2eb5524f6f28","weight":3}],"recordings":[{"size":238,"length":3348,"mime_type":"video/mp4","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-05-31T03:05:33.416+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/h264-hd/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_hd.mp4","url":"https://api.media.ccc.de/public/recordings/35643","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":104,"length":3348,"mime_type":"video/mp4","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-05-31T03:13:39.913+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/h264-sd/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_sd.mp4","url":"https://api.media.ccc.de/public/recordings/35647","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":31,"length":3348,"mime_type":"audio/opus","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-05-31T03:14:03.801+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/opus/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_opus.opus","url":"https://api.media.ccc.de/public/recordings/35648","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":51,"length":3348,"mime_type":"audio/mpeg","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-05-31T03:14:57.268+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/mp3/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/35650","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":392,"length":3348,"mime_type":"video/webm","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-05-31T03:51:14.448+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/webm-hd/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/35657","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":256,"length":3348,"mime_type":"video/webm","language":"eng","filename":"gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-05-31T04:34:41.139+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/webm-sd/gpn19-105-eng-Foundations_for_Decentralization_Data_with_IPLD_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/35659","event_url":"https://api.media.ccc.de/public/events/be47fbb7-4a05-5586-8816-40ea53c45447","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"}]}