Friday, August 11, 2017

Introduction to Ethereum Name Service (ENS)

ENS is the Ethereum Name Service (like DNS), a distributed, open, and extensible naming system based on the Ethereum blockchain.

In general Hash based address' are used in block chain technology to specify the sending or receiving entity. Usually it is a 32 bit long random numbers that are generated in corelation with the Private Key of the user. The 32 bit address is hard to get crammed and in case any incident of a single bit error can result a user loss of crucial financial assets.


"Ethereum Name Service "is a protocol that provides solution that resolve short, human-readable names ( Like : prok.eth or theprok.eth ) to identifiers like 32 bits sender/receiver address' ( Exp. : 12f7c4c8977a5b9addb52b83e23c9d0f3b89be15) which in actually remains in form of  hashes.

The benefit from it is that users and developers will have to refer to human-readable and easy to remember names, and permits those names to be updated as necessary when the underlying resource (contract, content-addressed data, etc) changes.

A domain need not specify a single resource but the same domain to reference different resources. By using the Ethereum name Service, anyone in the world can access resources on and off the blockchain in this decentralized manner. Thus it is not about registering domain names in the traditional sense by any means.

ENS vs DNS:



ENS has similar goals to DNS, the Internet’s Domain Name Service, i.e like DNS, ENS operates on a system of dot-separated hierarchical names called domains, with the owner of a domain having full control over the distribution of sub domains.

The ENS can be used by Ethereum dApps. When "people" visit a dApp website it is possible it implemented ENS to resolve an Ethereum address through the blockchain. This can be done on client side (Mist or Metamask) or server-side.

It will not remove the need for DNS to visit the website itself, since that is web2.0. You can't, for example, enter "microsoft.eth" as URL in your browser.

The goal of the ENS project is to decentralize the DNS system we use today. Unlike DNS, however, ENS doesn’t deal with registering domains. Instead, users can register a name like “example.eth”. Then, people can send money to this address when payment is required.

Architecture :


ENS has two principal components: 

      1. Registry                                                                   2. Resolver

The ENS registry consists of a single central contract which maintains a list of all domains and sub domains, and stores three critical pieces of information about each:

  • The owner of the domain
  • The resolver for the domain - 
  • The time-to-live for all records under the domain

The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues sub domains of that domain to users that follow some set of rules defined in the contract.The owner of a ENS domain has following rights. He/She can
  • Set the resolver and TTL(Time to Live) for the domain
  • Transfer ownership of the domain to another address
  • Change the ownership of sub-domains
The ENS registry is very simple and straightforward, and exists only to map from a name to the resolver responsible for it.

Prequisites to Enter the Auction:


One can purchase desired ".eth" domain from "https://registrar.ens.domains/" webpage. First he/she has to setup a web browser that supported Ethereum Smart Contracts like

Mist ( https://github.com/ethereum/mist/releases )


or Parity( https://parity.io/ )



The users with plain old Google Chrome browser can enable existing browser by installing the Metamask Extension (https://metamask.io/).




Process of Name Auction of ".eth" Domains :


Name auction of ".eth" domains is based on the very generalized concept of “Vickery Auction” or "Second Price Auction".



Steps of auctions are as follows:

Placing The Bid: First, someone opens an auction for a name he wishes to buy, and places a electronically sealed bid and send the necessary funds (minimum of 0.01 ether). This starts a 3 day timer for other people to place bids on the name. During this period, the details of bids remains undisclosed.

Revealing the Bid: When the three days auction finishes, a two day “reveal” period begins. During this period, everyone who bid must reveal the details of their bid. If they don’t do so then they lose their entire bid. If bid is not the highest then the money against the same is refunded deducting a 0.5% fee, which is like application process fees.

Declaring the Winner: At the end of the two day reveal period, the winner is the person who revealed the highest bid, but they only have to pay the amount of the second-highest bidder. Thus the name under consideration is allocated to the winning bidder.

After Bidding :


  • This amount ( bid by the second highest bidder) is locked up in a contract for as long as the winning bidder retains control of the name. 
  • The winner immediately receive the refund of any extra funds and be assigned control of the name in ENS.
  • Once someone wins an auction, the name is theirs for at least a year, after which that can be withdrawn by the registrant upon releasing rights of use of the name and recover the entire amount of their deposit.


The "Beta" or "Soft" Launch :


Not all possible names in ENS are available immediately for bidding. In order to provide ample time for finding and fixing any bugs as the system scales up, and to prevent a massive land rush on day 1, names are being released for auction on a gradual basis over 8 weeks. 

Every possible name becomes available at a random time during that period. One can find out when the name one want becomes available by entering it into one of the apps described below.

https://registrar.ens.domains/https://www.myetherwallet.com/#enshttps://ethtools.com/mainnet/ens/register/


More, right now only names that are seven characters or longer may be registered at the present time. This is done in order to make sure that the highly valuable short names are only made available once the system has gained enough attention to ensure they get bid on fairly, and not all grabbed by early movers intending to resell them.



Anyone who wishes to find to buy a ENS as per its requirement can check availability of the domains, participate in the bidding process and get it exclusively.  Ofcourse Its Very Simple !!! 

One thing to be noted here is that during revealing period, revealing requires access to account/private key, and additional information as well. 

When using the official app, this information is stored in your browser’s local storage, and can be backed up to a JSON file. MEW provides you with the information and expects you to take a screenshot and reenter it when revealing, while ETHTools’ solution stores the information for you on the server side.

Live Auction Process :


1. http://ens.domains/

The official ENS site has more information on ENS, and the documentation provides resources for developers and an FAQ.

2. https://ens.codetract.io/

Codetract provide an excellent dashboard for tracking the process of ENS and seeing metrics on bids and auctions.

3. http://etherscan.io/ens

Etherscan provides tools for looking up domains and auctions, and seeing the latest auction activity.

Advantages of the ENS Project:


The main advantage of the ENS project is that it decentralizes naming services. Today’s DNS system is vulnerable because there’s centralized registry information attackers could exploit. With the ENS project, there’s no central party to attack. There’s no way for attackers to redirect registered names to a different address.

That means a stronger, more secure internet. Registered names work as originally intended – and they’ll always work like that.

Top-level domains, like ‘.eth’ and ‘.test’ are owned by smart contracts called registrars, which specify rules governing the allocation of their sub-domains. Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a second-level domain for their own use.

1 comment: