IPFS Sync and Pinning

It would be good to have some solution for cross-device syncing and backup which has minimal trust on the Venice backend, strong privacy guarantees, and some degree of decentralization / self-custody.

There are a few projects creating out-of-the-box solutions for client-custodied user data storage and management, but it’s feasible to build something custom tailored without too big of a lift.

An approximate vision for how this could be done with Venice that I would put forward is to use IPFS, OrbitDB, and pinning services like Pinata.

The basic idea here is that whatever data that is currently being persisted into local browser storage can be hoisted directly into an encrypted IPFS directory. The client would create objects from chats and other data (e.g. images), updating a state tree, and then publishing updates to an IPNS address whose key it controls.

A service run by Venice could listen to those IPNS publish events, and pin them on a service like Pinata, as well as create Filecoin deals for them for resilience.

As an additional layer on top of all of this, there is a project called “OrbitDB”, which creates a CRDT (Conflict-Free Replicated Datatype) overlay for IPFS, enabling sophisticated peer-to-peer synchronization schemes. By using OrbitDB, a user’s account data stored on IPFS could be replicated between multiple devices, without even relying upon coordination by a central backend.

Please authenticate to join the conversation.

Upvoters
Status

Backlog

Board
💡

Feature Requests

Tags

Privacy

Date

About 1 year ago

Author

Justin Martin

Subscribe to post

Get notified by email when there are changes.