To put it simply, ENS is an acronym that stands for Ethereum Name Service which is a protocol that allows you to do a bunch of cool stuff on the ethereum network. Probably the best value add is that they convert machine-readable addresses into human-readable addresses.
Note: If you don’t want to read through this article, we have created an animated video that you can watch below instead.
So the way cryptocurrencies work, is you have a public key and a private key. We have a full video explaining how both of these function, but for this video you just need to know the private key is what is used to send crypto, while the public key is practically your address. You can think of your public key as your house address or your email address. You want to share it with people who intend to pay you.
Maybe you’re out for coffee with a friend and they want to pay you back since you paid for their coffee. Well, to do so, they would need your public key so they knew where to send the funds. However, the issue is that the public key isn’t something you can say out loud. It’s quite long and literally a bunch of seemingly random numbers and letters. Here, take a look:
[WBC public key]
So 2 developers came up with a way to basically make nicknames for ethereum addresses. Instead of you having to read aloud 64 numbers and characters and hoping that your friend hears them all correctly in the noisy cafe, or rather than emailing him your public key… you can instead just tell him your ENS address. It could be something as simple as “WhiteboardCrypto.ens”. You tell them that and the ENS name server will look up the true address for your friend and ensure that whoever registered WhiteboardCrypto.ens will receive the funds they are trying to send.
This is very important in the psychological roadblocks of getting people onboarded to crypto. I started a project with my aunt and cousin where we invest $20 a month each and put it on a ledger hardware wallet. The most confusing part for them was figuring out how to send the crypto from the centralized exchange that we bought it from (Coinbase), to the actual ledger address. If instead they just set up an ENS like “FamilyCrypto” and then sent it there – that roadblock would immediately be gone. And it seems a big issue of getting more people onto crypto is the fact that most of it is quite technical… which you can see by the sheer number of people who use Robinhood to buy Dogecoin – because it’s simple. Even though they aren’t truly holding Dogecoin, they enter their bank account and literally press Buy.
The cool thing about ENS is that it is actually a 100% decentralized name service lookup system. This means it’s not controlled by 1 single authority and the safety of using it is much higher. If it was using a central authority, what if you we were trying to pay you $5 in Ethereum because you liked our video, and so we typed in your address “MegaEthHolderNeverSells” and instead of redirecting it to your true wallet address, they are the central authority, so they make it redirect to their wallet address. In fact, a central authority could easily redirect all name lookups temporarily to their wallet. In fact, even more, a hacker could do the same, which is why centralized applications are less secure. Nick Johnson and Alex Van de Sande of the Ethereum Foundation led the initial development of the ENS, and it has been audited and is open source for everybody to view and review the code… a standard of any great blockchain tool. Let’s get into how it works now.
How does ENS work?
ENS is essentially two smart contracts that simply do as we mentioned earlier. You give them a simple address like “WhiteboardCrypto” and then it will lookup in their giant table of true ETH addresses for the transaction to occur. If you want to register your own name and add it to the giant table in the smart contract, all you have to do is pay a small fee on Ens.Domains. Last time I checked, it was like $60 for 10 years. However, right now a majority of domains just have the .eth ending, but they are looking to expand this to other top level domains like .crypto, .xyz, .club.
For a more technical answer of how the ENS lookup works, when someone requests a lookup, they have to get two pieces of information. First, they must figure out who the resolver is. The resolver is usually set when first creating an ENS domain. Secondly, whoever is requesting the true address must go to the resolver with the ENS domain and ask for the true address. This is because there are many different resolvers, which are essentially lookup tables that hold a bunch of information.
Also, one fun fact is you can use unicode in the domain. For non-techies out there, this means you can put emojis in your domain!
Another thing is that ENS intends to replace more than just wallet addresses. Right now, they also resolve domains as well. For example, a website hosted using IPFS (which is a blockchain version of file hosting) could have a long and gnarly domain url with tons of non-memorable letters and numbers, however you can simply point an easy ENS domain to it so that you can tell your friends to visit the simpler, more human-readable domain.
One downside of ENS is that it is not as fast as DNS, which is the protocol for the internet to convert domain addresses to IPs, which is a very similar function. DNS can happen in mere milliseconds, while sometimes ENS can take a few minutes depending on network congestion