A CRDT + OT text editing algorithm with history pruning (read: GC). Permissionless system model.
Components
- Acknowledgements: require all peers to have acknowledged up to a certain point, then we can bloop
- Blooping: collapsing history. This is kind of like span-merging which Yjs implements
- When we get acknowledgement from all peers up to a certain point, we can then ‘bloop’/flatten all history that is not used in producing the current state
- Fissures: keeps track of disconnections and network partitions
- During a fissure/disconnect, all events concurrent with that disconnect are marked to prevent from being blooped