peer-base / peer-base

Build real-time collaborative DApps on top of IPFS
MIT License
228 stars 22 forks source link

persistence: bootstrap from the DHT #43

Open pgte opened 6 years ago

pgte commented 6 years ago

This works as an alternative to having a CRDT-specific pinning service. Instead of having an external service that tracks the CRDT and persists it for it to be available when all the seeders are offline, a peer that wants to share a collaboration should then create a DHT record that contains:

The name of this record can be shared via an URL (to be included, for instance in the URL shared in Peer-Pad). Then new peers can try to get this record from the DHT, decrypt it and bootstrap from there.

//cc @diasdavid @satazor

satazor commented 6 years ago

Just wanted to give here a quick comment on this strategy:

This strategy is quite interesting and is actually undoubtedly decentralized. Though, there are a few use-cases in which it's hard to use it. The issue is that it assumes that a user will be sharing something with another user, which might not always be the case. For instance, a user will be able to comment on any public discussions on Discussify without he/she coming from a URL that was shared by someone else.

I will be thinking more about the overall replication issue during bath-time and during sleep (😂) and will provide some more ideas (hopefully).