10 ms·
I am also a fan of CRDTs. Couchbase uses them. Yjs and automerge exist. You need to build your data storage on top of them and build a pub sub or a relay simila
by samsquire 4y ago
I am also a fan of CRDTs. Couchbase uses them. Yjs and automerge exist. You need to build your data storage on top of them and build a pub sub or a relay similar to IRC or echoserver. Or websockets. Now you have two problems. That's why I don't think they have adoption.
Merkle trees as in IPFS are useful too.
Decentralised apps exist but they're different to mainstream architecture.
I think the solution is to distribute the data storage and the app can rely on standard SQL.
I wrote a merkle CRDT[1] and I point everyone to braid's shelf implementation[2] for a simple implementation of a CRDT. Hyperhyperspace[4] is an interesting project.
I also recommend taking a look at bloom Lang[3] and CALM/BOOM papers[5].
The problem with distributed technology is that it is more complicated than centralised technology. Until it can be abstracted out and exposed as a simple design, I think it shall remain a niche interest.
[1]: https://GitHub.com/samsquire/merkle-crdt https://GitHub.com/samsquire/merkle-crdt
[2]: https://braid.org/algorithms/shelf https://braid.org/algorithms/shelf
[3]: http://bloom-lang.net/ http://bloom-lang.net/
[4]: https://www.hyperhyperspace.org/ https://www.hyperhyperspace.org/
[5]: http://boom.cs.berkeley.edu/ http://boom.cs.berkeley.edu/
- nvrspyx 4y agoThank you for all the helpful information!