Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Yes, we use E2EE CRDTs! They don't have to be centralized because we still get composable updates using YJS (https://github.com/yjs/yjs). This would still help a ton given the p2p nature of updates (malicious or broken clients can cause havoc for documents).
Really nice to see BFT starting to be taken seriously in CRDT research. I had done some research in this area last year and came to a lot of the same solutions (i.e. BRB protected CRDTs when dealing with VClock based CRDTs):
https://github.com/davidrusu/bft-crdts
We ended up moving away from VClock crdts entirely for our work and going with grow-only hash-graph based CRDTs as they have don't need the BRB overhead.
The idea of DAG-embedded CRDTs is far from new and was introduced here:
https://arxiv.org/abs/2004.00107 (I'm among the authors)
Unfortunately, the verification that the author proposes (not accepting new updates until the dag below is verified) will need a lot of caveats for real world usage.
Currently we use these CRDTs for a key value database of 40M+ keys in a deployment of ipfs-cluster, which uses https://github.com/ipfs/go-ds-crdt .
Related posts
- Show HN: Collaborate on your YC Application with CRDT-powered forms
- Wormholers, what can CCP and wormholers do to improve J-Space?
- How does Google docs send the changes done by other users in real-time?
- Show HN: Nostr-CRDT – real-time collaborative apps over Nostr
- Yjs: Shared data types for building collaborative software