TL;DR: I’m designing and building an open, robust, private, secure, and fully peer-to-peer graph synchronisation application layer protocol that will power the trustless decentralised web. The goal eliminate ANY requirement for centralised servers, even for complex tenanted apps with organisations and permissions.

Check it out here:

I’m still working on the details and the spec. Maybe I’ll update this page with some more on this at some point when I have some more to share. I should also write about my motivations and the need for this when there are other projects that could be considered similar (IPFS, Nostr, GUN).

For now, the short version is that this is not intended to replace those projects but rather build upon them as a foundation to enable even more advanced capability.

You can store your individual graph nodes wherever you want in theory - in memory, on your file system, in a database, on your home server or someone else’s computer via an API, or by using the latest hot decentralised storage layer. You can even mix and match sources and prioritise and trust some over others.

We are not concerned with where the graph nodes come from - only that they follow the consensus rules we set out. We invert the client-server paradigm in essence. Your client acts like the server would and trusts nothing unless it has a good reason to. If you’re familar with bitcoin, think about how a bitcoin node operates.

I’m initially targeting web apps as that way virtually every platform can be supported right off the bat. As such, so far there’s a JavaScript implementation (written in TypeScript) and a helper library for Svelte. Each client/app will have its own copy of the graph in indexeddb. Everything about this is slow and inefficient, but that’s the tradeoff.

Eventually we will have a faster and more low level local relay that users can run for any and all of their own or their friends’ clients to connect to.

Of course the spec will be open, so there’s no limit to the number of implementations that could exist, so long as they enforce consensus rules correctly.

I am developing an app alongside it here.