playing around with directed acyclic graph reduction
Find a file
2024-03-04 16:31:16 -08:00
crates random stuff 2024-03-04 16:31:16 -08:00
docs random stuff 2024-03-04 16:31:16 -08:00
.env testing and playing around with ideas 2024-03-01 19:43:25 -08:00
.envrc testing and playing around with ideas 2024-03-01 19:43:25 -08:00
.gitignore add readme.md 2024-02-11 00:04:48 -08:00
Cargo.lock random stuff 2024-03-04 16:31:16 -08:00
Cargo.toml random stuff 2024-03-04 16:31:16 -08:00
README.md update readme 2024-02-16 21:59:38 -08:00

dag-resolve

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