update readme

This commit is contained in:
tezlm 2024-02-16 21:59:38 -08:00
parent ce5f8276c9
commit d06f6f4991
Signed by: tezlm
GPG key ID: 649733FCD94AFBBA

View file

@ -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?)