Ethereum Name Service

Ethereum Name ServiceDeveloper(s)|

* Community
* True Names LTD
* Nick Johnson

|

Initial release| 4 May 2017; 8 years ago (2017-05-04)
Repository| github.com/ensdomains
Written in| Solidity
Platform| Ethereum
Standard(s)| EIP 137, et al
Type| Internet naming
License| BSD 2-Clause "Simplified" License
Website| ens.domains

The Ethereum Name Service (ENS) is an open source decentralized Internet naming protocol that runs as a set of smart contracts on the Ethereum blockchain.[1] Similar to the Domain Name System (DNS), ENS translates computer identifiers into human-readable names with a dot-separated right-to-left hierarchical naming structure.[2][3][4] ENS is a working solution to Zooko's triangle.[5]

ENS was proposed by Nick Johnson on April 4, 2016[6] and launched on May 4, 2017[7][8] with the native top-level domain (TLD) .eth.[3][7][9][10] Since then, DNS TLDs such as .luxe[11][12][13], .kred[14][15][16], and .xyz[17][18][3] have been integrated for use on ENS.

Standardized record support includes cryptocurrency addresses, content hashes, and contact information.[19]

The development of ENS is managed by the non-profit organization True Names LTD.[20][21]

## Contents

* 1 Design
* 1.1 Structure
* 1.1.1 Registry
* 1.1.2 Registrars
* 1.1.3 Resolvers
* 1.2 Root Key Holders
* 1.3 Namespace
* 1.4 Records
* 2 Uses
* 2.1 Cryptocurrency wallets
* 2.2 Decentralized web
* 2.3 Identity
* 3 History
* 3.1 Early History (2013 - 2018)
* 3.2 2019
* 3.3 2020
* 4 Bugs
* 5 Criticism
* 6 In the media
* 7 References
* 8 External links

## Design[edit]

### Structure[edit]

ENS has three major components: the registry, registrars, and resolvers.[22]

#### Registry[edit]

The registry is a smart contract that stores all names and subdomains, who owns them, their resolvers, and a caching time-to-live (TTL).[22]

#### Registrars[edit]

A registrar is a smart contract that owns a name and automatically issues subdomains to users who meet the criteria defined in the smart contract (e.g. paying a certain price).[22]

#### Resolvers[edit]

A resolver is a smart contract that stores and serves records upon request. Users may create their own resolvers and record types.[22][23] True Names LTD maintains a general purpose resolver called the Public Resolver, which is the most widely used resolver.[19]

### Root Key Holders[edit]

The ENS root zone is managed by a four of seven Ethereum multisig.[20] Key holders rotate on a regular basis.[20]

### Namespace[edit]

Like DNS, ENS uses a dot-separated right-to-left hierarchical naming structure. ENS launched in May 2017 with the native TLD .eth, which is not in the DNS root zone. The ENS project has since pledged to not create additional TLDs outside of the normal ICANN process, to seek to get .eth reserved in the DNS root zone, and to support ICP-3.[24]

Since 2018, ENS has integrated the DNS TLDs .luxe[12][13], .art[25][26], .club[26], and .kred[14][15][16] for use on ENS. The TLD .xyz has been integrated[18] in a way that owners of second-level domains can claim their corresponding names on ENS directly using DNSSEC without working with the TLD owner.[17]

### Records[edit]

ENS can store any arbitrary data, and users can create custom record sets.

A resolver contract which implements the most common record types, called the "Public Resolver", is provided by True Names LTD.[19] The following are its standard record types and what they store:

* Address: Ethereum address
* Other Addresses: Arbitrary cryptocurrency address with a key to identify the cryptocurrency[27][28]
* Content: IPFS hash, Swarm hash, or Tor .onion address
* Text Records: Arbitrary information with a key to identify the information. Standard text record keys include "email, "URL," "avatar," "vnd.twitter," "vnd.github", "description," "notice," and "keywords."[29] Users can also create their own arbitrary text record keys.[30]
* DNS Records: Though not supported by the ENS Manager App user-interface, the Public Resolver supports all DNS record types

## Uses[edit]

### Cryptocurrency wallets[edit]

The most common use of ENS is storing and resolving cryptocurrency addresses. ENS supports the addresses of any arbitrary cryptocurrency or blockchain.[27] This makes it easier for users to send and receive cryptocurrency.[31][9][1]

### Decentralized web[edit]

ENS-IPFS websites have native support in Brave, Opera, MetaMask, Status, and others.[32] In browsers without native support for ENS-IPFS websites, users may append ".link" to their .eth website name to visit it via a system called EthDNS.[33] Almonit and Blockscan are search engines for ENS-IPFS websites.[34][35]

As of April 2020, the ENS Manager App added a tool that allows users to upload to IPFS using Temporal Cloud and saves the IPFS hash to their name's Content record.[36][37][38][39]

### Identity[edit]

ENS text records allow users to attach personal information, such as an email address and avatar, to one's ENS name.[40] Other users can use this information to contact them, or dapps can use the information to automatically construct user profiles. Dapps can also use ENS's reverse resolution feature to display a user's ENS name as their username.[41]

## History[edit]

### Early History (2013 - 2018)[edit]

In 2013, Vitalik Buterin listed a decentralized naming system akin to Namecoin among possible applications that could be built on Ethereum in his "Ethereum White Paper."[2][42]

In April 2016, Nick Johnson proposed a specification for the Ethereum Name Service in EIP 137.[6] Rather than having its own blockchain or token like Namecoin, it would run as a set of smart-contracts on Ethereum and use the native Ethereum currency ETH for payments.

Johnson, Alex Van de Sande,[31] and others developed the first version of ENS, with a successful launch on May 4, 2017.[8] The date was chosen for its association with Star Wars Day.[8][2] Only .eth names that were seven characters or longer were made available for registration to limit the cost of a system failure.[43] Names were released via vickrey auctions run on Ethereum, with the winning bid being locked in a smart contract as a deposit that could be returned if the owner released the name.[44][43] The primary use case for .eth names at this time was replacing Ethereum addresses. The auctions attracted attention, with VICE Motherboard calling it a "gold rush."[9] The ENS name exchange.eth was won for 6,660 ETH, worth around $609,000 at the time.[45]

In May 2018, Johnson received a $1 million grant from the Ethereum Foundation to form an organization to continue ENS development. Johnson left the Ethereum Foundation and established the non-profit organization True Names LTD in Singapore to manage the project.[46]

### 2019[edit]

In January 2019, ENS added support for decentralized websites based on the distributed file storage networks IPFS and Swarm.[47][48]

In May 2019, ENS was upgraded to what was called the Permanent Registrar.[49] This replaced the deposit-and-return model for .eth names with an annual spent fee model, auctions with instant registrations, and made .eth names ERC 721-compliant NFTs,[50][51] among other things.[49]

In June 2019, the ICANN-accredited registrar EnCirca started offering registrations of .eth names.[52][53][54]

In August 2019, ENS added support for Tor .onion addresses.[55][56]

In September 2019, ENS released three to six character .eth names for registration, holding a two month auction for the initial distribution with the NFT marketplace OpenSea.[57][58]

In October 2019, ENS added multi-coin support, allowing users to store any arbitrary cryptocurrency address in their name's records.[27][28] The same month, ENS added support for text records with an initial set of predefined text record keys.[40]

In December 2019, True Names LTD representing ENS joined DNS-OARC as a Blue Member.[59]

### 2020[edit]

In March 2020, ENS added support for users to make their own text record keys, allowing projects to create their own records.[30]

In April 2020, the ENS name "brantly.eth" was used as collateral for a cryptocurrency loan issued by Rocket LP DAO, a DAO specializing in NFT-backed loans, the first time a blockchain-based name had been used in this way.[60][61][62]

## Bugs[edit]

In March 2017, the first attempted launch of ENS was aborted when a bug was discovered soon after that allowed users to continue to bid during the reveal period of the vickrey auctions.[63]

In October 2019, a bug in the auctions on OpenSea for three to six character .eth names was exploited by a hacker to claim several high value names against the rules of the auction and for very low prices.[64][65] The auctions were temporarily halted while the bug was fixed.[65] After a bounty for return of the names was offered, the hacker returned the names.[66][65]

In January 2020, True Names LTD announced a bug had been discovered in the registry smart contract by Sam Sun that could allow a person to transfer a name to someone else then later take back the name under certain circumstances.[67] A new registry smart contract was deployed and all names were transferred to the new smart contract.[67][68] An analysis by True Names LTD concluded the vulnerability was never exploited.[67]

## Criticism[edit]

In February 2020, the blockchain industry news outlet Decrypt published an article explaining how they were able to trace cryptocurrency wallets with large balances to particular people based on the wallets' association with a person's ENS name.[69][70] "We found it was possible to identify several high-profile people, even if they weren’t using their real names. We were able to see business deals and watch people’s movements, just using the blockchain," author Tim Copeland wrote.[69] In response, ENS lead developer Nick Johnson said ENS "doesn't attempt to address the privacy issues inherent in public ledgers."[69]

## In the media[edit]

## References[edit]

1. ↑ 1.0 1.1 Hill, Brenn; Chopra, Samanyu; Valencourt, Paul; Prusty, Narayan (2018-12-21). Blockchain Developer's Guide: Develop smart applications with Blockchain technologies - Ethereum, JavaScript, Hyperledger Fabric, and Corda. Packt Publishing Ltd. p. 214\. ISBN 978-1-78995-773-0.
2. ↑ 2.0 2.1 2.2 Antonopoulos, Andreas M.; Ph.D, Gavin Wood (2018-11-13). Mastering Ethereum: Building Smart Contracts and DApps. "O'Reilly Media, Inc.". p. 281\. ISBN 978-1-4919-7191-8.
3. ↑ 3.0 3.1 3.2 Palladino, Santiago (2019-09-26). Ethereum for Web Developers: Learn to Build Web Applications on top of the Ethereum Blockchain. Apress. p. 267\. ISBN 978-1-4842-5278-9.
4. ↑ R, Manoj P. (2018-08-31). Ethereum Cookbook: Over 100 recipes covering Ethereum-based tokens, games, wallets, smart contracts, protocols, and Dapps. Packt Publishing Ltd. p. 338\. ISBN 978-1-78913-794-1.
5. ↑ "State of the ENS 2019". SlidesLive. Retrieved 2020-07-17.
6. ↑ 6.0 6.1 Johnson, Nick. "EIP 137: Ethereum Domain Name Service - Specification".`{{cite web}}`: CS1 maint: url-status (link)
7. ↑ 7.0 7.1 "Speculators Jump On New Gold Rush Called Ethereum Name Service". Cointelegraph. Retrieved 2020-07-17.
8. ↑ 8.0 8.1 8.2 Remus, Chris (2017-05-09). "[Now Live on Ethereum Mainnet] Announcing the Ethereum Name Service Relaunch Date!". Medium. Retrieved 2020-07-17.
9. ↑ 9.0 9.1 9.2 "The Gold Rush Is on for Ethereum Domain Names". www.vice.com. Retrieved 2020-07-17.
10. ↑ CoinDesk, Contributor Leigh Cuen. "Bitcoin Startup Zap Is Working With Visa". www.nasdaq.com. Retrieved 2020-07-19. `{{cite web}}`: `|first=` has generic name (help)
11. ↑ LLC, Owen Borseth / Porkbun. "porkbun.com | Ethereum Name Service". porkbun.com. Retrieved 2020-07-19.
12. ↑ 12.0 12.1 Johnson, Nick (2018-10-04). "Introducing .luxe on ENS". Medium. Retrieved 2020-07-17.
13. ↑ 13.0 13.1 "DNS Inventor Impressed With Innovative Effort Behind .LUXE TLD to Integrate DNS With Blockchain". www.circleid.com. Retrieved 2020-07-17.
14. ↑ 14.0 14.1 Millegan, Brantly (2020-02-19). "ENS + .KRED: Major Integration of DNS and ENS Launches". Medium. Retrieved 2020-07-17.
15. ↑ 15.0 15.1 ".Kred launches as dual DNS and ENS domain". Domain Name Wire | Domain Name News. 2020-03-06. Retrieved 2020-07-17.
16. ↑ 16.0 16.1 Mar 26; Domains, 2020 | (2020-03-27). "What is ENS, and why does it make the .KRED domain so unique?". 101domain Blog. Retrieved 2020-07-17.`{{cite web}}`: CS1 maint: numeric names: authors list (link)
17. ↑ 17.0 17.1 Johnson, Nick (2018-09-05). "Announcing support for .xyz on ENS". Medium. Retrieved 2020-07-17.
18. ↑ 18.0 18.1 "XYZ: Ethereum Is Getting Another Popular Domain Name". CoinDesk. 2018-09-05. Retrieved 2020-07-17.
19. ↑ 19.0 19.1 19.2 "PublicResolver, ENS Documentation".`{{cite web}}`: CS1 maint: url-status (link)
20. ↑ 20.0 20.1 20.2 "ENS About".`{{cite web}}`: CS1 maint: url-status (link)
21. ↑ "Ethereum Name Service". CryptoSlate. Retrieved 2020-07-17.
22. ↑ 22.0 22.1 22.2 22.3 "Introduction". docs.ens.domains. Retrieved 2020-07-17.
23. ↑ Antonopoulos, Andreas M.; Ph.D, Gavin Wood (2018-11-13). Mastering Ethereum: Building Smart Contracts and DApps. "O'Reilly Media, Inc.". p. 292\. ISBN 978-1-4919-7191-8.
24. ↑ Millegan, Brantly (2020-04-21). "Why ENS Doesn't Create More TLDs: Responsible Citizenship in the Global Namespace". Medium. Retrieved 2020-07-17.
25. ↑ ".ART Digital Twin". .ART. Retrieved 2020-07-17.
26. ↑ 26.0 26.1 "ENS Roadmap as of March 2020 - seeking feedback". ENS Discourse. 2020-03-31. Retrieved 2020-07-17.
27. ↑ 27.0 27.1 27.2 Millegan, Brantly (2019-11-27). "ENS Launches Multi-Coin Support, 15 Wallets to Integrate". Medium. Retrieved 2020-07-17.
28. ↑ 28.0 28.1 "Ethereum Name Service Adds Infrastructure for Multi-Currency Support". Bitcoin News. 2019-10-18. Retrieved 2020-07-17.
29. ↑ Moore, Richard. "EIP 634: Storage of text records in ENS".`{{cite web}}`: CS1 maint: url-status (link)
30. ↑ 30.0 30.1 Millegan, Brantly (2020-04-21). "New Custom Text Records Means Every Project Can Have Its Own ENS Record". Medium. Retrieved 2020-07-17.
31. ↑ 31.0 31.1 Tran, Decrypt / Ki Chong (2020-04-13). "What is the Ethereum Name Service (ENS)?". Decrypt. Retrieved 2020-07-17.
32. ↑ Millegan, Brantly (2020-04-21). "All the Ways You Can Surf the Decentralized Web Today". Medium. Retrieved 2020-07-17.
33. ↑ Kukarkin, Arkadiy (2019-10-12). "IPFS + ENS Everywhere: Introducing EthDNS". Medium. Retrieved 2020-07-17.
34. ↑ Millegan, Brantly (2020-04-21). "The First Search Engine for the dWeb (ENS+IPFS) Has Launched". Medium. Retrieved 2020-07-17.
35. ↑ Kamarul, Harith (2020-06-11). "Blockscan: The Search Engine for a Decentralized Web". Medium. Retrieved 2020-07-17.
36. ↑ "Ethereum Name Service allows users to create decentralized websites". Crypto News Flash. 2020-04-22. Retrieved 2020-07-17.
37. ↑ Behrens, Decrypt / Alexander (2020-04-21). "ENS unveils easier way to build decentralized websites on Ethereum". Decrypt. Retrieved 2020-07-17.
38. ↑ Millegan, Brantly (2020-04-22). "Upload to IPFS Directly from the ENS Manager with New Tool from Temporal Cloud". Medium. Retrieved 2020-07-17.
39. ↑ "Ethereum Name Service allows users to create decentralized websites". Crypto News Flash. 2020-04-22. Retrieved 2020-07-17.
40. ↑ 40.0 40.1 Lau, Jeff (2019-10-03). "New Text Records Now Available for ENS Names in Manager". Medium. Retrieved 2020-07-17.
41. ↑ "ReverseRegistrar". docs.ens.domains. Retrieved 2020-07-17.
42. ↑ Buterin, Vitalik. "Ethereum White Paper" (PDF).`{{cite web}}`: CS1 maint: url-status (link)
43. ↑ 43.0 43.1 Maurelian (2017-03-13). "Explaining the Ethereum Namespace Auction". Medium. Retrieved 2020-07-17.
44. ↑ Antonopoulos, Andreas M.; Ph.D, Gavin Wood (2018-11-13). Mastering Ethereum: Building Smart Contracts and DApps. "O'Reilly Media, Inc.". p. 285\. ISBN 978-1-4919-7191-8.
45. ↑ "$600k for an Ethereum Name? A Thriving Auction Market Is Underway". CoinDesk. 2017-05-13. Retrieved 2020-07-17.
46. ↑ Johnson, Nick (2018-06-27). "ENS progress update, mid 2018". Medium. Retrieved 2020-07-17.
47. ↑ makoto_inoue (2019-01-31). "The New ENS Manager Now Supports EIP1577 contenthash". Medium. Retrieved 2020-07-17.
48. ↑ Bambara, Joseph J.; Allen, Paul R.; Iyer, Kedar; Madsen, Rene; Lederer, Solomon; Wuehler, Michael (2018-02-16). Blockchain: A Practical Guide to Developing Business, Law, and Technology Solutions. McGraw Hill Professional. p. 64\. ISBN 978-1-260-11586-4.
49. ↑ 49.0 49.1 Johnson, Nick (2019-05-04). "ENS Is Upgrading — Here's What You Need to Do". Medium. Retrieved 2020-07-17.
50. ↑ "The Ethereum Name Service Is Turning Nearly 300,000 .ETH Domains Into NFTs". CoinDesk. 2019-04-24. Retrieved 2020-07-17.
51. ↑ "Ethereum Name Service gets upgrade; turning existing domains into non-fungible tokens". The Block. Retrieved 2020-07-17.
52. ↑ Millegan, Brantly (2019-06-08). "DNS Registrar EnCirca Launches ENS Name Registrations". Medium. Retrieved 2020-07-17.
53. ↑ "Domain Registrar EnCirca Starts Registrations for Ethereum Addresses". CoinDesk. 2019-07-22. Retrieved 2020-07-17.
54. ↑ Inc, EnCirca. "EnCirca Accepting Pre-registrations for Blockchain Domain Names". www.prnewswire.com. Retrieved 2020-07-17. `{{cite web}}`: `|last=` has generic name (help)
55. ↑ Millegan, Brantly (2019-09-19). "ENS Now Supports Tor .Onion Address Resolution". Medium. Retrieved 2020-07-17.
56. ↑ "Ethereum Name Service vows to make Tor browser easier to use". finance.yahoo.com. Retrieved 2020-07-17.
57. ↑ Millegan, Brantly (2019-09-01). "The .ETH Short Name Auction: What You Need to Know". Medium. Retrieved 2020-07-17.
58. ↑ Chacon, Decrypt / Jaime (2019-09-03). "Ethereum Name Service launches auction for shorter, "simpler" blockchain domains". Decrypt. Retrieved 2020-07-17.
59. ↑ Millegan, Brantly (2019-12-06). "ENS Joins DNS Operations Analysis and Research Center". Medium. Retrieved 2020-07-18.
60. ↑ Millegan, Brantly (2020-04-21). "The World's First ENS-Backed Loan with Rocket LP DAO". Medium. Retrieved 2020-07-17.
61. ↑ Behrens, Decrypt / Alexander (2020-04-16). "An Ethereum domain name is used as loan collateral for the first time". Decrypt. Retrieved 2020-07-17.
62. ↑ "First Loan Ever Issued With Ethereum Domain Name as Collateral". Cointelegraph. Retrieved 2020-07-17.
63. ↑ Remus, Chris (2017-04-20). "Ethereum Name Service Launch Postmortem". Medium. Retrieved 2020-07-17.
64. ↑ "Ethereum Name Service Auctions Halted Because of a Bug". Cointelegraph. Retrieved 2020-07-17.
65. ↑ 65.0 65.1 65.2 Millegan, Brantly (2019-10-04). "Bug Discovered in ENS Auctions, Finalizations Temporarily Halted". Medium. Retrieved 2020-07-17.
66. ↑ "Hacker Returns Ethereum Domains Obtained in Auction Bug". Cointelegraph. Retrieved 2020-07-17.
67. ↑ 67.0 67.1 67.2 Millegan, Brantly (2020-02-10). "ENS Registry Migration: Bug Fix, New Features". Medium. Retrieved 2020-07-17.
68. ↑ Eigenmann, Dean (2020-03-03). "Let's Talk ENS Migration (Post-Mortem)". Medium. Retrieved 2020-07-17.
69. ↑ 69.0 69.1 69.2 Copeland, Decrypt / Tim (2020-02-18). "We tracked 133,000 Ethereum names and exposed their secrets". Decrypt. Retrieved 2020-07-17.
70. ↑ "Crypto News, Pricing, and Research". messari.io. Retrieved 2020-07-17.

## External links[edit]

* Ethereum Name Service on Twitter
* Ethereum Name Service: Introduction
* The Ethereum Name Service – Medium
* ĐApp Tutorial: Making Ethereum Name Service Subdomains
* The Ethereum Name Service Is Turning Nearly 300,000 .ETH
* What is the Ethereum Name Service (ENS)? - Decrypt
* Ethereum Name Service · GitHub
* Ethereum Name Service (ENS) - EthHub
* Ethereum Name Service Lookup | Etherscan
* Truffle | Ethereum Name Service | Documentation | Truffle Suite
* Ethereum Name Service Adds Multicoin Support - Cointelegraph

This article "Ethereum Name Service" is from Wikipedia. The list of its authors can be seen in its historical. Articles taken from Draft Namespace on Wikipedia could be accessed on Wikipedia's Draft Namespace.