Before we go into what the Ethereum Naming Service is, it’s probably worth explaining what naming services are in general. In short, a naming service enables identifying an actor in a network system by common names instead of a numerical address. In the analog world for example, you can look up someone’s phone number by simply searching for that person’s name (and address) in a phone book.
In the digital world, the most prominent naming service that you probably unknowingly use everyday, is the Domain Name Service (DNS). On the internet, every domain (e.g cryptotesters.com) has a corresponding IP address. To load content from a website and deliver it for a user to read, a browser needs an IP address. It would obviously be a UX nightmare if users had to remember the IP address of every website themselves. That’s what the Domain Name Service was invented for.
Every time a user enters a website name in the search bar of their browser, the browser requests a DNS server to provide the IP address the website name belongs to. Once it receives the IP address, it fires a request to the website’s servers and receives the content. You can imagine the Domain Name Service as a giant phone book that keeps a record of all website names and corresponding IP addresses.
Needless to say, it’s crucial that the process to hand out domain names to applying companies is seamless and fair. That’s what the ICANN was created for. In a nutshell, it attributes top-level-domains (TLD’s) like ‘.com’ or ‘.io’ to organizations called registrars that are then responsible for selling domain names within their namespace to interested companies and individuals. The ICANN and registrars are also responsible for running and maintaining the DNS servers.
So.. what is ENS?
Ethereum Naming Service (ENS) complements DNS by allowing mapping of Blockchain metadata to domain names. Re-visiting the phone book analogy; ENS is the phonebook of the Blockchain space but instead of using phone numbers, it stores cryptocurrency addresses. The ENS registry consists of a smart contract on the Ethereum Blockchain that maintains a list of all domains and their respective owners.
Wallets and other Blockchain applications can integrate ENS to make it easier for users to send and receive funds. In lieu of sending to an address like
‘0xF58D45805EC4880984765D6dAf6072F53A76d925’ they can send to ‘alice.eth’. Likewise when receiving funds from someone, they can just give their ENS username such as ‘bob.eth’. The number of wallets and applications supporting ENS keeps increasing, making it increasingly easy and secure to send funds to someone.
How do I get an ENS name?
There are several ways to get an ENS name. The easiest by far is to get a wallet like Argent or Authereum, which let you choose an ENS name when you sign-up (mine is ‘litocoen.argent.xyz’). They can do this because they own the domain ‘argent.xyz’ and can assign as many subdomains as they wish.
Alternatively, you can get your own ‘.eth’ domain name and associate it to a custom wallet address. The non-profit foundation behind ENS owns the ‘.eth’ TLD and lets people register domains. Similar to how you would register a ‘.com’ domain for a new website. Once you have purchased an ENS domain, you need to set up the ENS records to point your domain to the address of your choosing. The process for doing so is best explained here.
If you own a domain that belongs to another TLD namespace like ‘.com’ or ‘.org’ you can also associate it to an Ethereum address but the process is somewhat technical. However, there are some really cool use cases if you choose to link your website to a cryptocurrency address. Imagine donating to Unicef by simply entering ‘unicef.org’ into your wallet!
What else can I do with ENS?
Just because the smart contract containing the registry of all domains and addresses lives on the Ethereum Blockchain, doesn’t mean ENS can only resolve Ethereum addresses. In fact, you can store any cryptocurrency address in your ENS records. This means you can use one address to receive any cryptocurrency!
Another awesome feature of ENS native ‘.eth’ domains is that they’re ERC-721 tokens which means that you easily transfer ownership of your domain to someone else or even sell it on a marketplace like Opensea.
Benefits of ENS vs. DNS
Since the ENS is built on Ethereum smart contracts, it does not suffer from the same lack of security the DNS system does, allowing names to work as intended. DNS records are stored in centralized servers, which can be hijacked to misdirect traffic or even block traffic (Turkey famously DNS blocked Twitter). ENS records on the other hand are immutable and secured by the Ethereum Blockchain.
Moreover, the distribution process of domain names is more transparent. Anyone can register an ‘.eth’ domain name for themselves by participating in an auction process, mediated by the blockchain. Users are required to wait for the name to become available, then bid on said name and reveal their bid later. The highest bid will win the name and the bidder will be able to add extra data, create subdomains, lease, loan, sell it or do anything else they want with it.
We really love the ENS project and hope adoption continues at this pace to make crypto more user-friendly!