update readme
This commit is contained in:
parent
ce5f8276c9
commit
d06f6f4991
1 changed files with 14 additions and 3 deletions
17
README.md
17
README.md
|
@ -1,5 +1,16 @@
|
||||||
# dag-resolve
|
# dag-resolve
|
||||||
|
|
||||||
Playing around with directed acyclic graph reduction. Actors send events
|
Playing around with protocol design yet again.
|
||||||
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.
|
## 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?)
|
||||||
|
|
Loading…
Reference in a new issue