4 ms·
I'm all for P2P solutions and a more distributed Internet, but I'd like to add a few items to that list. - Security in a P2P system is harder to get right. The
by maltalex 9y ago
I'm all for P2P solutions and a more distributed Internet, but I'd like to add a few items to that list.
- Security in a P2P system is harder to get right. The system is distributed and each member has to trust more parties. This significantly increases the attack surface compared with a client that just needs to trust a single server.
- Not everyone is connected all the time, so network partitions happen constantly. It's hard to maintain a consistent state such as a chat log, not to mention anything more real-timey like the state of some real-time game.
- STUN and other NAT traversal techniques don't always work. NAT is horrible, creating connectivity between NATed clients is always a dice roll.
- Bandwidth - A dedicated server can have a lot of upstream bandwidth (to the clients). In homes, it typical to find (in some countries at least) connections that are heavily biased towards the downstream. So a 100Mbps connection (downstream) might have a 2Mbps connection upstream. Now say you want to have an 8 people video conference call, and all of your users have a 2Mbit uplink and need to send 7 copies of their video stream... What if it's a 20 person video call? What if half of them are on mobile?
- Bootstrapping - every P2P system still needs to have dedicated servers for bootstrapping. There are no pure P2P systems AFAIK.
- Client versioning and patching - a lot harder in a P2P system. With a central server - you just update the server and everything works. With a network of clients, things are trickier and you run the risk of partitioning the P2P network between different client versions.
- Monetization in P2P is hard(er).
- littlestymaar 9y agoYou're right in all points (almost[1]), but those are mostly technical issues that can be solved with some work[2], except for two points : - the bandwidth problem is real, but there is no more technological limitation[3], it's merely a commercial problem: client have no use for huge uplinks, then providers don't sell them. It's a bit of a chicken & egg problem. - the monetization problem is the root of all sins in that case … [1] on the client versioning & patching side, you underestimate the complexity of distributing a web client, with CDN, browser caches and clients who never reload their page, you can also end up with a lot of client lagging behind in updates. [2] and centralized system also have their own issues (scaling anyone ?) [3] ADSL was asymmetric because the asymmetry widened the reception bandwidth, which would otherwise be too low. With optical fibers, you don't have such limitations.