An Introduction to Ethereum Name Service
What Is ENS?
One of the biggest bottlenecks preventing mass adoption of Web3 is its lackluster user experience. While this is improving, we've still got a long way to go towards making the decentralized web an easy, seamless experience for new and seasoned users alike.
One of the big steps forward in this regard is Ethereum Name Service (ENS). ENS brings human readability to computer-derived hashes, making the experience of sending and receiving crypto a much more user friendly experience. Think of ENS as your web3 username. It's a more human friendly way to couple your digital identity with your public crypto address(es), making it easier to receive value.
Main Use Case Of ENS
ENS enables someone to receive any of hundreds of supported cryptocurrencies through a single ENS name, making the exchange of cryptocurrencies a much more user-friendly experience.
For example, let's say you've found value in the content I've created and would like to send me a tip in ETH. Prior to ENS, this would entail sending the funds to my 42 character hexadecimal Ethereum address, which is 0xcd9e58E8d65BED22244261Fcd253AE97DaA177a8. Now, unless you're Mark Zuckerberg, this address is practically unreadable. The implication of this is that users end up copy-pasting the addresses they're sending and receiving from. This practice gets the job done, but from a UX perspective, it leaves a lot to be desired.
What most people are accustomed to when they want to send someone something is typing out that person's name/address, similar to how you would address a letter. That's where ENS comes in. It attaches a much more human-friendly and memorable name to your crypto address, enabling you to receive approved tokens through the associated name.
So, instead of sending ETH to the 42 character hash above, you could simply send it to "scifer.eth". The address is still the same, but its connection to the name makes it easier for a human to remember and type. This makes the process of sending and receiving crypto a much more familiar and user-friendly experience.
A Broad Description Of How ENS Works
This article is intended for users, not developers, so the emphasis is on what you can do with ENS, rather than the technical details of how it works. Nevertheless, I will provide a broad overview of the how and why behind ENS.
Actually, the objective of ENS is quite similar to the internet's Domain Name Service or DNS. Ok, so what is DNS?
As internet users, its easy to fall into the conceptual trap of thinking of the internet as an entirely virtual network, but the fact is that data on the internet exists on a device somewhere in physical space. Whether it's an Amazon server in Virginia or a Siteground server in London, every website has code that is stored locally somewhere. When you access a website, your machine is communicating with the machine that holds the data you seek. How the two machines find each other is through a unique tag every computing device has which identifies it and enables other machines on the network to find it. This identifier is called the Internet Protocol (IP) address.
Similar to a crypto addresses, IP addresses are more machine than human friendly. The IP address for ciphersovereign.com for example, is 178.128.137.126. Not something you're likely to remember, is it? Hence the creation of domain names, which act as human friendly placeholders for IP addresses. When a user enters the domain name of a site they want to access, that name 'resolves' to the IP address of the machine they're trying to access. So, "www.ciphersovereign.com" resolves to "178.128.137.126" and voila, you're able to view the web page you seek.
Of course, the majority of internet users take this process for granted, not realizing it is going on behind the scenes. And why should they? From a user's perspective, it's immaterial to the their objectives.
From a top-level perspective, ENS aims to achieve similar ends to DNS. In other words, it makes it possible to create and use human-readable names as stand-ins for machine-readable hexadecimal crypto addresses. From a technical perspective, ENS has different architecture than DNS due to the unique design constraints of the Ethereum blockchain, but the purpose and goals of the two projects are quite similar.
Note I'm not going to get into the more technical aspects of how ENS works here, but if you're curious, check out their docs here.
How To Set Up Your Own Name On ENS
There's already a great step-by-step guide on how to create your own ENS name so I'm just going to link to it here:
One thing I would like to point out before you claim your own ENS name is that doing so will cost gas, as will modifying it. So, you may want to wait for an opportune time to do both.
Use gasnow.org to check current gas prices.
I'd also like to point out that during this process you can choose the length of time you are registering the name for. If it's a name you plan on using for a while, I recommend registering for more than a year to save yourself the time and expense of re-registration. This is something I missed when first registering my name, and I wish was more obvious in the name management tool's UI. Luckily, that change and other improvements should arrive in the coming weeks/months.
What You Can Do With Your ENS Name
As I've explained, the main use-case for ENS is to be able to receive any of the hundreds of supported cryptocurrencies at a more human friendly address (see here for the list of all supported cryptos). You can even receive NFTs at your .eth address.
To check whether or not an address supports any given crypto, go to https://app.ens.domains/name/{name.eth} and append the url with whatever ENS name you'd like to check.
For example, https://app.ens.domains/name/brantly.eth
But there are other use cases for ENS as well. For a full list of everything you can do with your ENS right now, check out this blog post:
The Future Of ENS
If all ENS did was allow you to receive multiple cryptocurrencies at a single human-readable address it would be enough, but I think it has a lot more potential.
In the web3 paradigm, users are sovereign entities. Instead of having our data harvested and sold by private networks, we're able to accrue financial and social capital through the protocols we use and the value we create.
I see ENS as having the potential to be central to individuals' web3 digital identity, providing a foundation from which to build off of in the new open economy.
If you'd like to stay up-to-date on the the progress of this exciting project, I recommend following them on Twitter at @ensdomains.