3 ms·
I was thinking about some kind of user-owned Database service to ensure the data is forever free. Imagine a discussion board run by any company where you authen
by Erwin 11y ago
I was thinking about some kind of user-owned Database service to ensure the data is forever free. Imagine a discussion board run by any company where you authenticate with your external Bring-Your-Own-Data credentials. Through some SQL-like interface, that site is able to create tables and add data to the database but associating ownership of each piece of data with your identity.
At any time you can revoke your permission for their access to this data, or share it with others. Any modification to that data is version controlled so a hostile site cannot just modify/delete the data you created on it -- you'd still be able to gain access to any old version.
From a developer POV I think the key would be a SQL-like interface with appropriate caching/conflict resolution so you essentially just connect to a locally running proxy. Perhaps the advantage for the developer is some kind of tiered storage (e.g. your 100 GB database of posts is mostly stored in this external database with a 5% hot data cache local).
From a user's POV, you know noone can take your data and hoard it. Transformation of the data from one service to another similar seems like it would be easier compared to hoping someone writes a good API for export/import. E.g. consider if you could write:
INSERT INTO feedly.reader (SELECT feedname, feed_url FROM google.reader);
to migrate YOUR data from Google Reader to Feedly -- not just in a 3-month sunset period while Reader shuts down, but forever and ever.
If you want to be paranoid, the database could be federated, so rather than it being central, multiple providers can complete for your data.
All this could certainly make compliance with the European data protection act easier.
- natrius 11y agoWhat you're describing is very similar to Ethereum, a platform for decentralized applications. Its blockchain is a public database for application data that all participants in a system need to agree on. Other data is either messaging to discussing parties, static data on a decentralized store, or private data on your own machine. Users of software built with this architecture enjoy unlimited uptime: the software is run by the user and a decentralized computer that only stops running when no one wants to use it anymore.