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.

Wednesday, August 9, 2017

The Onion Routing using TOR Bridges.

Internet is an amazing place to be, you can sit at one corner and check out what is happening on another corner. When you are browsing on the internet, we are giving away our information.  This information is then used by censors, government, or many other private organizations like marketers which target their customer base and do business according to their browsing patterns. There is a way around this. Anonymous browsing promises to overcome some of these leakages. Anonymous browsing has its own pros and cons. It has is useful for hiding day-to-day activities from the hackers, government and even marketers. It keeps us away from being tracked. It has somehow turned out to be useful for the criminals to keep their illegal activities at bay from crime police. This place is house of Dark Web.

Using TOR Browser


TOR, The Onion Routing is a free browsing software that enables anonymous communication. TOR was developed by US NAVAL Research Team. Their main was to secure the United States intelligence communication online.

Like an onion has several layers, the TOR network is also protected by one layer (relay) connecting to the other, without informing the third layer (relay). That is how it maintains its anonymity. These relays are Entry or Guard relays, Middle relays and Exit relays.




TOR uses nodes or relays to reach the destination that are spread all over the world. Individuals around the world host these TOR relays (Entry, Middle and Exit) to keep the TOR network running. These relays or nodes are basically willing individuals who wish to keep anonymity running act as the connection in between to to host the entry node, middle node or exit nodes. These nodes or relay list(Tor IPs) can be found easily on the net. As these relays are openly available on the web, many organisation or ISP have blocked them as they do not want TOR to run.


Working model of TOR network, The blue cylindrical tube is the traffic flow.

TOR Bridges.


Relays are distributed all over the world and and hence every major security organization has the list of TOR relay IPs. This list is blocked by many service providers around the globe so as to stop the use dark web.

Bridges on the other hand work as the TOR Relays but are not as widely distributed and are only made available upon request. Bridges can be considered as TOR relays that are not listed on to the TOR directory.

You can use tor bridges very easily, one of the ways is to use the bridges available in the tor browser itself. Unfortunately these bridges are publicly available and hence blocked by the censors.

Another way is to mail to bridges@torproject.org, they will provide you with three bridges. "get bridges" is the text to be used when mailing to above address.

Bridges may look like below :

141.201.27.48:443 4352e58420e68f5e40bf7c74faddccd9d1349413

The first entity is IP address : 141.201.27.48
Second entity is port : 443
Last entity is unique identifier of bridge: 4352e58420e68f5e40bf7c74faddccd9d1349413

Your bridge may also look like this.

obfs3 141.201.27.48:420 4352e58420e68f5e40bf7c74faddccd9d1349413

The first entity "obfs3" is the pluggable(PT) transport element. A PT is used to transform the traffic between the client and the bridge so that traffic and it won't actually look like the TOR traffic and bypasses the sniffing elements.


Enabling TOR Bridges


1. Open your TOR browser, and click on Configure





2. Click on Yes, as our ISP is blocking the TOR.




3. Then we may use the default bridge or the one provided by Tor via mail or website.




This will help you by pass the censorship or blocking of TOR in your network. People remain anonymous for multiple reasons but many of these services are exploited by drug dealers, criminals, thieves and even child pornography. If someone encounters with any kind of molestation or even child pornography, they should take a step forward and blow the whistle on such bad activities.