I’d be great if someone can take the time to unroll this thread/discussion to get a basic set of requirements from this discussion: https://twitter.com/serapath/status/1138249549611450369 and this thread which got branched? https://twitter.com/ninabreznik/status/1138568329864581130
Before I even saw your tweet, I already created a repository and wrote down my personal summary of those threads you mention. https://github.com/playproject-io/aybabtu/issues/1
I want to add some opinions of mine here.
I don’t see “privacy” being an issue, because using encryption and sharing keys with the intended audience can mitigate this a lot and also a lot of data that i want to keep private is data that i would not host in the first place …then again for public data its anyway not a concern …BUT i see a lot of other problems that are actually the ones that motivate me much much more strongly to do something about hosting
My general thoughts on hosting are:
- currently people sign up for e.g. AWS or azure or …you name it
- they start using it for everything to avoid signing up for and learning lots of hosting providers
- this makes hosting providers NOT a utility that you could switch
- additionally, even if they all had the same interface, you still would need to sign up multiple times and pay all of them which creates more “bureaucratic/administrative overhead”
- additionally, once you put dataset on amazon and they kick you out or something goes wrong, you lose access to your data - unless you made backups, but that creates even more “bureaucratic/administrative overhead”
So pain points are:
- manage multiple accounts
- manage regular (live?) backups yourself
- spend more time to learn to use and interact with multiple different hosting providers
So … If hosting providers would instead be utility, that i use, i imagine it to work the following:
- i have one public/private keypair account to rule them all rather than multiple email/password accounts
- whenever i am online the hosted data syncs/backups/ live with at least my local computer, but also multiple hosting providers i chose
- i can store a certain dataset with multiple hosting providers but they become one logical dataset
- if i use my master key so sign certain hosting providers to be able to add to my dataset, i can revoke that and undo changes using my master key when i see a hosting provider becomes malicious
- all hosting providers are generic in the way i set them up and interact with them and pay them - even programmatically
Not sure if i covered it all, but if the above was a reality, then “cloud hosting” was more or less not a problem anymore.
How to get there?
- I imagine “the system” would be specs/standards implemented many times by different maintainers (browser style) and hosting provider would run one to offer their hosting service.
- every hosting provider who runs that software (e.g. can and should include private people with rasberry pi’s in their garage) automatically has their device add itself to some kind of DHT? registry? to become discoverable.
- anyone who wants to host their data can now explore that list and chose a friend who offers hosting for free or a random person or even multiple random persons or pick many by location to host their data and pay for it (subscription style) - either in fiat and/or crypto
- all the above can be scripted because the protocols and apis are standardized
- because i maintain a backup and it always syncs with the hosted version, i dont risk losing my data if a hosting provider goes down.
- if i want guaranteed availability or more security, i can either choose a trusted hoster from the list or i choose many and pay more and the data that lives on the randomly chosen nodes builds a logical dataset - so one hoster going down doesnt take the data down
- because it is scriptable i can even choose to change my hosting providers from time to time and make my data move around a bit …maybe also to optimize latency and all kinds of other interesting aspects of this “hosting network”
A client can now access my static websites served over dat or my datasets …by fetching from the dat address, which actually gets the data from all the hosting providers the hoster chose and not a single hosting provider has the power over the dataset - also they anyway dont have the private key to control the dats in the first place
If i serve an app (e.g. static website using dat) and a user needs to publish data to a certain dat, multiwriter features could be used to add their dats the app’s dat, so the app, when any user anywhere interacts with it, knows all the list of dats of other app users that added some data to the app that is intended to be seen by other app users … yeah
somebody with more technical knowledge about the above could maybe write a short gist from the above?