Hacker News new | ask | show | jobs
by zrm 1742 days ago
> Decentralised systems are always more inefficient.

Decentralized systems are always more efficient.

Suppose you have something a hundred million people want. It's on one server. The server is in Virginia. If a million of the people who want it are in Japan, it has to traverse the ocean a million times. If a million more are in the UK, etc.

Compare this with something like BitTorrent. The million people are in the UK, the first one gets it over the ocean. From then on, people in the UK can get it from other people in the UK. Either because the client chooses peers with lower latency, or because closer networks are just faster and so when you're receiving from 100 peers at once, the closer ones will send faster and the download will finish from them before you've sucked too much data through the thinner pipe across the pond.

Even centralized companies build decentralized systems internally. Because it's the only way to build a reliable system and it's the only thing that scales.

The hardest part about decentralized systems is paying for the initial implementation. Somebody has to write the code. But in a true decentralized system, they can't sit in the center and suck out a percentage, because there is no center.

So that's how the evolution of systems goes. The first system is centralized, because when it's small the disadvantages of centralization are small, and as it grows the creators retain control of it for a while.

Then the disadvantages of large centralized systems start to manifest. Single point of failure, monopoly power, censorship etc. So people start building a decentralized alternative. At first it's terrible, because it's people working on it in their spare time. Eventually it gets better and takes over. And then nobody ever worries about it anymore, because it's there, and it's reliable and efficient and it works, and it just fades into the background because nobody pays attention to things that are working. Like TCP/IP, or Wi-Fi, or the global market for wheat.

1 comments

For centralized vs decentralized, comparison should be CDN vs P2P. CDN is centralized but distributed. P2P isn't efficient as like CDN because it uses uplink from user, and possibly need transit from other ISP user. Top CDN's edge is located on ISP. But P2P is still useful tech.
Modern P2P networks already prefer closer peers. This also happens naturally because closer peers generally have fewer bottlenecks between them, so if you connect to many random peers, the ones that are e.g. on your LAN will intrinsically end up doing most of the sending.

This is often more efficient than a CDN because a CDN won't have a box on your LAN even if there are multiple peers there.

And a CDN is only efficient to begin with if there are already multiple peers on the same ISP's network. If you're the only person on the ISP's network who wants some particular content then it has to come over a transit link just for you anyway. If you're not, you can get it from the other close peer(s) in a P2P network and not use the transit link.