Internet is broken
The TCP/IP protocol was designed so that all connected devices could be both client and servers. But practically, we now have clients on one side, and servers on the other. In France some call it Minitel 2.0.
We came up with a “multi-star” structure: billions of users worldwide, but only thousands of Data Centers. On average, this means millions of clients connecting to each Data Center. This concentration poses 3 problems:
- Technical: huge connections are needed between Data Centers and internet access providers (which concentrate users), and the latter pretend it’s very expensive, so they are lobbying to have service providers pay, endangering Net Neutrality.
- Ethical: huge amounts of personal data are held by a few corporations. This oligopoly puts those corporations in a strong position to impose unfair conditions to users in their terms of service (notably about their personal data).
- Political: concentration of data makes surveillance and censorship incredibly easy.
Apps: a new paradigm
The servers from the “cloud” (a marketing term which basically means “client-server architecture” from the 70’s) mostly just store data (often personal), but its processing mostly occurs client-side.
Storage: the central issue
Service providers are currently storing their users’s data, keeping them in silos. Their business model is the monetisation of this data, with arguable ethics (read terms of service).
The idea is to dissociate the application providers from the storage of user data. With RemoteStorage a user owns his own storage space, and all applications he uses access it.
- The user is in charge of his data, and he authorizes applications (which execute on his device) to access it. The application provider doesn’t have to store it, in fact he doesn’t even have access to it.
- Newcomers entry is easier as they don’t have to care for the infrastructure needed to store user data, and they also have access to what the user already entered previously.
- Users advantage: his data being accessible by all applications he uses, they become implicitly interoperable, and swappable. He’s no more prisoner of any silo, and doesn’t have to worry about misuse of his data.
RemoteStorage is an excellent idea, BUT:
- A storage provider can’t make money of its user’s data, as data leaves the user’s device encrypted, and the provider doesn’t hold the key.
- Few people are ready to pay to store their data, because they got used to having them stored “for free” with the service providers model.
- Self-hosting will stay a marginal solution for the foreseeable future.
- Unless users have their personal server at home, which implies ensuring its uptime, and is still not targeted at the masses, servers will still concentrate in Data Centers.
What if we could provide the same API as RemoteStorage, but without the need for a storage server? A simple general purpose DHT (distributed hash table) would be enough: each participating node shares a fraction of its bandwidth and storage capacity.
Three key principles:
- Redundancy to ensure data is always available. Devices don’t have to stay connected full time. “Neighbors” will take care of keeping the redundancy high enough so that data never disappears.
- Encryption of communications and storage so that participants are legally safe:
- None knows what he stores,
- neither who is using his shared space,
- those who access data in the system can’t know where it’s located.
- A reward system tied to resources, in order to incentivize sharing, and avoid abuse:
- credit is earned for sharing own resources,
- credit is spent when using others’ resources,
- if credits are transferable, they turn into a meaningful crypto-currency.
Internet is fixed
PeerStorage builds upon RemoteStorage principles, but avoid its drawbacks:
- Internet access providers won’t have clients on one side and servers (NetFlix, YouTube…) on the other. By making the internet trafic symmetric and encrypted, they lose the ability to prioritise packets, and can’t threaten Net Neutrality any longer.
- Users are in charge of their own data:
- They don’t need to trust anyone to store it. Data enters and leaves their device encrypted, and they are the only ones to hold the decryption key.
- Service providers turn into application providers. They don’t have access to personal data any longer.
- Newcomers can more easily compete with older applications, as they can reuse their data and don’t need to pay for storage infrastructure.
- Users are free to change applications without losing any data.
- Applications even from different providers inter-operate de facto. This results in a coherent ecosystem, and brings users a lot of value.
- When encryption becomes the norm, when there is no player capable to disclose personal data, when there is no more server to unplug, and that even routing of packets is indirect, surveillance and censorship become much more difficult (it may still be possible to target individuals, but no more mass surveillance). It may not be an outstanding problem in “western world” (while even this is arguable), but it is for most of the world population.