top | item 41672187

(no title)

britannio | 1 year ago

Joseph explains the algorithm on YouTube too: https://www.youtube.com/watch?v=rjbEG7COj7o

It's great work, combining the best of OT and CRDTs.

discuss

order

auggierose|1 year ago

I find the formulation in the abstract slightly confusing. As far as I understand EG-Walker is a CRDT, an operation-based one.

josephg|1 year ago

Author here. It’s kinda both a crdt and an operational transform system.

It’s a crdt in that all peers share & replicate the set of all editing events. (A grow-only set crdt if we’re being precise). Peers can use those editing events to generate the document state at any point in time, merge changes and so on.

But the editing events themselves are stored and expressed in their “original” form (unlike existing CRDTs, which need a prepare function). That means lower memory usage during use.

The replying / merging process itself is kind of a batch operational transform algorithm. It works by building a normal crdt state object in memory in order to transform the events so they can be replayed. In that sense, it’s an OT system. (But one which transforms by using a crdt, like Yjs, internally within each peer).

I don’t know if that clarifies things. Feel free to ask more questions!