ETHEREUM NAME SERVICE
Before diving into what Ethereum Name Service is, it is important to grasp the concept of what a Naming Service is. Think about the way a person’s number is saved using a name as it might be difficult to memorize countless numbers of different people but looks easy to save with the person’s name illustrates how a Naming service works.
The Domain name of a website also acts as a naming service. For example Cryptouniversity.network is a domain name that has a corresponding IP address. It is impossible to memorize the IP address of different websites, hence the Domain name was created.
What is ENS then?
ENS is an acronym for Ethereum Name Service and it is a decentralized Naming service look-up system that basically helps to convert Machine-readable addresses to Human-readable addresses. It maps hashes of domain name to addresses not the actual domain name itself; ENS acts like the phonebook of cryptocurrency addresses.
For example instead of sending a standard Ethereum address “(0xF58D4805EC4880984765D6dAf6072F53A76d925)” to someone to receive funds, ‘Ayomide.eth’ can be sent. Likewise, when we send funds to someone, they can just drop their ENS username name like ‘David.eth’
The ENS has two main component and these are;
- Registry – The registry is a smart contract (piece of information) that runs on the Ethereum blockchain network.
The ENS Registry has a principal function which is to map a domain name to the correct resolver. The mapping of ENS with an Ethereum address begins with querying the registry. The registry keeps and maintains the list of domains and subdomains, owner records, resolvers, and caching TTL (time-to-live) for each, giving access for the owner of a domain to make changes to that data.
The different domain allocated is owned by a Registrar and if a Domain wants to be set up by an individual, contact must be made to the Registrar. Also, different domain have different Registrar (for example .eth domain) and if someone is interested in that particular domain, he/she has to interact with .eth registrar
It also stores three vital information which are
- The owner of the domain
- The resolver for the domain
- The caching time-to-live for all records under the domain
The domain owner may be either an external account (a user) or a smart contract. The owners of domains in the ENS registry are able to set the following properties:
- Set the resolver and TTL for the domain
- Transfer ownership of the domain to another address
- Change the ownership of subdomains
- Resolver- The resolver is responsible for translation of names into addresses. They resolve the query of converting an ENS domain name into their respective address or hash.
Resolving a name in ENS requires two processes, which are :
- The Registry first checks for the resolver responsible for the name.
- The Resolver then provides the answer to the given query.
The domain names can be easily read by humans but are not interpreted directly by backend applications and are not understood by the ENS Smart contract.
In order to overcome this issue, the introduction of a fixed-length 256-bit cryptographic hash that will be generated from the human-readable name using a process called Namehash was done by ENS smart contract.
Namehash serves as a recursive process that generates a unique hash from a domain name.
For example, the Namehash of “ayomide.eth” is “0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3mar”. This is the representation of names that is used inside ENS. It is also possible to derive the Namehash of any subdomain without having to know or handle the original human-readable name for example ‘iam.ayomide.eth’.
This property makes it possible for ENS to provide a hierarchical system, without having to deal with human-readable text strings internally.
Deployed Registrars in ENS
The various registrars deployed on the mainnet are:
- .eth: This serves as the permanent registrar.
- .test (testnets only): This serves as the test registrar.
- .addr.reverse: This serves as a reverse registrar.
- .xyz: Operates via DNS integration.
- .luxe: Operates via a custom integration that allows any owner of a .luxe DNS name to use ENS.
- .kred: Operates via a custom integration that syncs and changes to a .kred ENS token to DNS automatically.
- .art: Operates via a custom integration.
The .eth and .test are top-level domains and are owned by smart contracts called registrars and they are responsible for setting up and maintaining rules for the associated subdomains.
How to Register for an ENS domain
A user is required to set up a compatible wallet such as Metamask and install the extension on any browser of choice. Some amount of ETH is needed to be in the wallet to pay for transaction and annual fee of the .eth domain.
After all these has been done, these next steps can then be carried out:
Users need to open that browser that the metamask extension has been installed on. A list of compatible browsers and extensions can be seen in their official website here.
Users can then navigate to the ENS Dapp to look for a desired name or address. If someone else is using the name, users can see a page containing the information of the Registrant’s address, name and expiring date and If the name is available, Users will also see a page that contains the registration period along with the amount of ETH required to register the name.
The minimum registration period is one year and users can then choose their desired registration period and see their corresponding annual fee. Users can also renew or extend this time if they want.
The registration process then begins after the user has chosen the registration period.The user is required to sign two transactions; the first is the registration request and the second is the actual registration. The user will then need to confirm the transactions on their wallet and pay the desired gas fee. After this transaction, the user will have to wait for Blockchain to verify the Transaction
After verification by Blockchain, Users need to wait for a minute or two just to ensure no one was trying to register that name at the same time. If there is no one else, the user can then proceed to finally register the name by signing the second transaction and wait for blockchain verification.
In order to prevent other users from opting for your domain,users can renew it before and after it expires. This renewal can be done by paying the required renewal fee and this renewal fees are paid in ETH.
The minimum renewal period is 28 days. However, there is no limit on the maximum renewal period. ENS offers an extension period of 90 days after your domain expires. Users can renew the domain name during this period to retain ownership.
The yearly renewals cost is as follows:
- Names with 5 characters or more – $5/year
- Names with 4 characters – $160/year
- Names with 3 characters – $640/year
ENS has a circulating supply of 20,244,862 ENS coins and a max. supply of 100,000,000 ENS coins. As at the time of writing, ENS is currently trading at $62
A chart showing the price of ENS from Nov 10th 2021 to Dec 2nd 2021(source: tradingview)
Advantages of ENS
- Reduction of Errors: ENS enables the mapping of machine-readable names to human- readable names as mentioned previously. Using these names instead of addresses helps to curb mistakes in sending cryptocurrency to the wrong address.
- Easy lookup system: Since records of domain registrations are kept on the Ethereum blockchain, users can search for them using users can search for them using Etherscan. Users are enabled to view the transactions and balance of any Ethereum address. Reverse resolution which enables users with registered domains to display their registered name instead of address in specific DApps and wallets can then be done via the ENS Dapp settings.
- Immutability: Records written onto the Ethereum blockchain cannot be changed or removed causing transactions through the ENS to be immutable. This immutability offered by ENS causes its services to be censorship-resistant also with IPFS(The InterPlanetary File System) partnership making it impossible for outsiders to tamper with the content of the domain. As long as a User continues to renew its domain by paying the fees, that owner can therefore keep their data in a more decentralized and tamper-resistant way.
- Chances of selling ENS names at profit: ENS domain names can be bought or sold on NFT marketplaces like Opensea or other marketplaces.
Cons of ENS
- Not supported by popular web browser like Chrome
- It is very slow sometimes
ENS was first developed by Nick Johnson who is a software engineer for Ethereum and Alex Van de Sande, a user experience designer for Ethereum.
ENS links addresses containing long strings of both alphabets and numbers with human-readable names and since it has been launched numerous advantages have been brought to the table.