What Is the Ethereum Name Service?
During the early days of the internet, one of the central problems computer scientists faced was that domain names and internet protocol addresses had not been matched up, making them unfriendly to an average user.
What that meant is if you wanted to access a website, you would need to type out the full IP address of the site you wanted to visit, such as 22.214.171.124. Since IP addresses are just strings of numbers and dots that are long and difficult to remember, It made it hard to browse the web.
However, following the cutting-edge research done by Elizabeth Feinler, an American scientist, in the 1970s, Paul Mockapetris, an American computer scientist, developed the Domain Name System (DNS) in 1983.
The DNS matches IP addresses with human-friendly domain names. For instance, as opposed to typing out 126.96.36.199, you can simply type dapps.me into your search bar and be directed to the website.
Despite all the technological wizardry occurring in the crypto sector, cryptocurrencies still mostly use a system similar to the old IP address setup.
If you want to send your bitcoin to someone else’s address, you will have to use that person's wallet address as opposed to using something human-friendly like the wallet owner’s name.
That’s where the Ethereum Name Service (ENS) comes in.
What is the Ethereum Name Service?
The Ethereum Name Service is a distributed, open and expandable naming system that interacts with the Ethereum blockchain.
Similar to the role of the DNS mentioned above, the role of the ENS is to map human-readable names such as "john.eth" to a machine-readable name such as a wallet address like "8g978dl39ji9xl."
Through the ENS, users can buy and manage their own domains, meaning that secure and decentralized transactions can take place without having to deal with long and complex addresses. It also reduces the likelihood of any input errors when typing out the recipient’s address to send funds.
Now, the ENS may sound identical to the DNS system developed in the 1980s, but its architecture differs greatly.
Like the DNS, the ENS uses a system of hierarchical names called domains, with the creator and owner of the domain having control over his top-level domain and subsequent subdomains.
How the ENS works
First, all the domain names that are recorded inside the ENS have an owner. An owner owns a named domain and can transfer that name to a new owner at his own discretion.
The owner who wishes to buy a domain is called a "registrant" because he must register that domain on the ENS. Recording, monitoring and tracking of who has made registration for a domain – the registrar – is undertaken by a functionality of the ENS called the “registry.”
"Registrars" are smart contracts that allocate the subdomain names and are governed by the main registrar called the permanent registrar. They can be altered at any point or at any level within the ENS and can be referred to by the owner of the registry.
A registrant of a registration can also transfer his registration of a domain to another given account. Additionally, in case the individual wishes to recover a given domain name, he can do so by reclaiming that name and domain.
This resets the ownership of the ENS name to the registrar who has reclaimed a given account.
As mentioned above, there is a difference between owning a name and owning a registration. A "name" acts as a way for the ENS to identify a given domain such as "john.eth" and can consist of different labels that are separated by dots.
The algorithm that is used to process domain names registered on the ENS is called the "namehash." The namehash comes into play because human-friendly names are replaced on the ENS system, which functions only with a finite length of 256-bit cryptographic hashes.
If one wishes to derive the hash from the name and still preserve the domain's hierarchical properties, a namehash is used. For instance, for "john.eth," the namehash is 0x787192fc5378cc32aa.
Representing names in this manner is exclusive to the ENS.
Now, before the namehash comes into play, names must first be normalized, meaning upper- and lower-case names are treated equally. This is important because the namehash process ensures that all users get the same view of the names and domains available on the ENS.
Why is ENS important?
Because the ENS was developed for Ethereum smart contracts – and is native to the Ethereum ecosystem – it doesn't suffer from security issues faced by a DNS system. DNS records of domains and names are stored on a centralized server. That means they are prone to hacks.
For instance, in October 2020, Google's threat analysis group monitored a record-breaking 180,000 attacks on DNSs as well as on other network targets that were launched from Chinese internet service providers.
Conversely, ENS records cannot be destroyed and are secured by the Ethereum blockchain.
Additionally, through the ENS, names and addresses become more transparent and easier to interact with. Anyone can create or register an ".eth" domain by participating in an auction process. The highest bid will win the domain name, allowing the winner to create subdomains as well as lease the domains.
That gives users on the Ethereum blockchain a unique opportunity to set up shop on the Ethereum network and become a clear point of contact within a sea of addresses.