From d06f6f4991f794462ab4b841626b48da39ef746b Mon Sep 17 00:00:00 2001 From: tezlm Date: Fri, 16 Feb 2024 21:59:38 -0800 Subject: [PATCH] update readme --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bb9bbb6..a1c5486 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # dag-resolve -Playing around with directed acyclic graph reduction. Actors send events -to a dag, which is a crdt that's replicated between nodes. The events -are then resolved into a state; an ad-hoc database with tables/indexes. +Playing around with protocol design yet again. + +## architecture + +Rooms resemble an event-sourced database, or the elm architecture. The +main difference is that like matrix, the events form a directed acyclic +graph (dag) and is replicated across nodes. The root event defines +hashing and signing algorithms, along with a resolver. The resolver +implements access control, tiebreaking, and defines a `(prev_state, +event) -> new_state` function. + +This is currently a work in progress and there are definitely some +undecided things, eg. how the state is represented (currently a key/value +table, but maybe a relational or graph database could be good?)