As part of DREAM we are researching and developing data-models that enable peer-to-peer group collaboration.
The premise is that currently common ways of digitally capturing information are not well-suited for decentralized systems. Problems include:
- Information is only stored in plain text / natural language. Relevant information can not be extracted and used efficiently.
- Information is stored in application-specific serializations that is not usable beyond original scope (e.g. an application specific JSON schema).
- It is hard to reference content. Either pieces of content do not have globally identifieable names or they are tied to centralized naming schemes (e.g. DNS).
- Dynamically changing content (mutable content) either requires a centralized service or considerable amount of out-of-band coordination to prevent conflicts.
We intend to address these issues with four magic ingredients:
- The Resource Description Framework (RDF): A simple, expressive and widely used graph-based data model.
- Content-addressing: By using a cryptographic hash of the content itself as identifier of the content we can enable robust referencing of arbitrary content. Our contributions include a method for making RDF content-addressable as well as a robust and censor-ship resistant scheme for content-addressing.
- Commutative Replicated Data Types (CRDTs): Distributed data-structures that ensure conflict-free merging of replicas.
- Datalog: A query language based on Logic-programming that allows rich interaction and usage of data.
For more information on the individual components please see the respective documents and/or Git repositories.
See also the GitLab group
Encoding for Robust Immutable Storage (ERIS)
Distributed Mutable Containers (DMC)
Distributed Mutable Containers is a specification of distributed data-structures based on CRDTs.
Git Repository with specification and reference OCaml implementation.