Facebook, Google, and few other big players dominate the web. They are incentivized to pull more and more people into their walled gardens. In reaction, people want to decentralize the internet. Every once in a while, someone propagates p2p for a more democratic web. I believe P2P is a dead end for end user software.

Tweet Thisp2p technology is a dead end for end users

We are not talking about Bitcoin here. I (currently) believe Bitcoin is a backend technology, which will change money transfers, but 99% of the population do not need to know about it. We talk about applications like messaging, groups, and sharing. A free alternative to posting funny cat pictures in Facebook. A safe alternative for sending dick pics to your friends via WhatsApp. A secure alternative for sending business proposals via E-Mail.

Here is the reason, why P2P messaging or file sharing or whatever is doomed: Mobile batteries. People increasingly use mobile devices for messaging and thus run their software on battery.

P2P means that every user also provides a full server. Instead of relying on Facebook's server farm, you start your own server on your smartphone. This local server hosts and owns all your data and your friends can request it from there.

p2p illustrated

It is possible to use P2P technology on your smartphone. The problem is the overhead. P2P means additional network traffic to stay updated about peers on the network. P2P means additional data replication, which costs network bandwidth and storage. This quickly drains your battery (and data plan).

A more efficient solution is to use a central server. See for example lightweight Bitcoin clients like Electrum. This is not a full Bitcoin node, which would require many Gigabytes of data and constant network traffic. Instead it relies on some server, where it queries little data only when necessary.

central server illustrated

Does this mean we are doomed to centralized services? No. There is middle ground: Federation.

Tweet ThisP2P is doomed. Centralization sucks. Middle ground: Federation!

Centralized means there is a central services and every users must connect to it. P2P means every user might connect to every other user. Federation is a hybrid: There is a P2P network of servers. Every user connects to one specific server. This means not every user needs the expertise to maintain is own server. Instead you can run one server for your family, company, club, or department. The crucial fact is that all these server freely interact with each other although there is no central entity in control. A user can reach users on different servers. E-Mail is the prime example of federation.

federation illustrated

Concerning Facebook clones, Diaspora is still on the right track. However, they are facing scaling problems with the federation parts. However, this is not the only project. For example, Matrix is promising too. It focuses on messaging, though.

©

P2P technology is doomed on mobile. For a democratic web, we need to work on federation.