So I'm wondering if there is a consistent tradeoff in exchange for this robustness - are decentralized applications more complex to implement but simpler to operate? Is latency of decentralized protocols (e.g. Scaling a service is as simple as joining a node to the network and announcing its availability of an implementation of that service.Īt first glance, this looks like a competitive advantage, because it decouples the operational and maintenance costs of the network from the size of the network. Deploying a node to a decentralized protocol requires no coordination or orchestration, aside from it simply joining the network. This seems pretty cool to me, and IMO any modern distributed system should consider running decentralized protocols to benefit from their robustness properties. I did a bit more research last night, and discovered that Bitfinex actually does something like this internally (anyone know if this is up to date?) - they built a service discovery mesh by storing arbitrary data on a DHT implementing BEP44 (using webtorrent/bittorrent-dht ). I'm asking why a distributed system would choose something like Consul (which uses Raft, and requires a coordinator node) instead of running a decentralized protocol like Kademlia (which has no coordinator nodes) within their distributed single-tenant environment. using Kademlia for service discovery and message routing. I'm not talking about the consensus protocol of the blockchain itself, but of the p2p algorithms underlying it, e.g.
Project mention: Static torrent website with peer-to-peer queries over BitTorrent on 2M records | |