Tired of depending on centralized HTTP services, we found Ethereum can do the same but much more efficiently. One of the key goals we have is a decentralized database that has no dependencies on any entity to run. But in general, applications and servers that talk to each other need to be aware of each using IP addresses and host names. These are centralized concepts that need to be hard-coded into software or “discovered” by means of a lookup, but that lookup itself is typically also centralized to some sort of lookup or directory service. The most common thing is to use a centralized HTTP service. In the context of Bluzelle, applications need to discover both swarms and nodes on the swarms. Nodes that spin up need to . How could we do this more efficiently and ensure it’s always operational? (1) discover swarms, (2) decide what swarm to join, and (3) discover other nodes on that swarm to peer with Solving That with Ethereum We found that a registry or directory service is the perfect use case for an Ethereum smart contract. We can employ all of the properties of a blockchain (data transparency, data audit, etc.) without the operational overhead of deploying a traditional centralized service. We wrote an , that acts as a decentralized registry service for every Bluzelle swarm, including the swarm’s unique identification and a list of nodes on that swarm. This ESR acts as a decentralized bootstrap that solves the challenge we had. Every application and node: Ethereum Swarm Registry (ESR) Talks to the ESR at a pre-emptively set Ethereum smart contract address Can discover swarms and nodes on those swarms Connect itself in a truly decentralized way to the swarm Nodes can even add themselves to the ESR if and when appropriate. Here is a . There is no dependency on any centralized solution. demo How can others benefit? Our ESR is , as is our client software and node software. It is all licensed with open source licenses and therefore, other parties are free to look at our , learn from it, and even fork and use it in their own codebases to benefit from the blockchain as a decentralized bootstrapping construct. open source technology source code Ethereum is being used to provide a decentralized bootstrap/discovery process to enable both applications and servers to operate without any dependency on a single entity. Blockchain is providing enormous value here by being a key ingredient that enables a decentralized infrastructure to exist.