Decentralized Domain Name Servers

Note: Data in this section last updated September 12th, 2022

What is the DNS?

Every device on the internet has a unique address – called an IP address – that helps other computers identify it. Unfortunately, this address is represented with a string of numbers such as “198.61.190.243”.

As you can imagine, human beings aren’t very good at remembering random strings of numbers, nor do they provide any context as to what’s on the site. That’s why the Domain Name System (DNS) was created – it serves as the “phonebook” of the Internet and translates IP addresses into human readable names.

For instance, let’s say you wanted to look up www.facebook.com.

  1. Your computer would send a request for www.facebook.com to a DNS server

  2. The DNS server would look up the name www.facebook.com, find its IP address and send it back to you

  3. Your computer would then use this new IP address to make a request to directly to Facebook’s servers

  4. Facebook would send the requested webpage back to your computer

The Domain Name System is not just one server, but instead a global collection of servers. That way, if one doesn’t know the address you’re looking for, it can route it to another one. This also provides redundancy in case a single server is attacked or goes down.

While the DNS is extremely important to the internet, it has one major flaw – it’s centralized. This creates numerous risks including the lack of privacy, the potential for censorship and security vulnerabilities.

As such, decentralized DNSs such as the Ethereum Name Service, aim to supplant this ~40 year old system and become the “phonebook” of the blockchain.

How do Decentralized DNS services work?

The Ethereum Name Service (ENS) is virtually identical to the internet's DNS system, in that it translates human-readable names into computer addresses

For instance, without ENS, if you wanted to pay your friend in cryptocurrency, you’d have to know the public address of her wallet, which might look something like “0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec”. ENS allows users to create “nicknames” – such as “Alice.eth” – a and attach them to their wallet, allowing anyone to send any Ethereum enabled token to that address.

ENS operates using two main components, a main “registry” and a collection of “resolvers”. The registry contains all the “nicknames” (called domains) registered on the system and the address of their respective resolvers. The individual resolvers contain the information necessary to match each domain to its actual Ethereum address.

The ENS Registry Contains Individual Resolvers That Can Translate Each Domain

So if someone wanted to send 10 ETH to “alice.eth” using Metamask:

  1. The user would open their Metamask wallet, hit the “send” button and add “alice.eth” as the recipient’s address

  2. The system would then query the main registry to find out which resolver is responsible for “alice.eth”

  3. The register would return the applicable resolver

  4. The system would then query the resolver for the correct address, which would return “0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec”

  5. Metamask would then use this new address to complete the transaction

Like the DNS, this all occurs “under the hood”, so from a user perspective they simply type “alice.eth” in the address and the money is on its way.

While ENS originally only worked for .ens names, in late 2021, the protocol announced that it would also be integrating traditional domain names into the system. This opens up a world of potential as it makes it possible to register urls such as “alice.com” to a wallet and allow it to receive cryptocurrencies.

Key Players

Notable players in the decentralized DNS space include ENS, Unstoppable Domains, Bonfida, Handshake and Namecoin.

Last updated