This document provides complementary information for the SPP2 ZK Email Application proposal. ENS currently supports multiple Top-Level Domains (TLDs) (e.g., .eth, .com); we propose extending this functionality to allow users to verifiably link Web2 identities—such as email addresses and social media accounts—to their ENS names. Additionally, users will be able to use their Web2 identifiers, like email addresses, directly as their ENS names, similar to existing domain name usage. The scope includes integrating social username resolution, developing ZK-based verification for emails and social accounts, creating resolver contracts for verified identity records, and building SDKs and UI components for easy integration and user interaction.
Registry: The registry maintains a list of domains(nodes), recording the owner, resolver, and TTL for each, and allows the owner of a domain to make changes to that data.
How to resolve Every name has a "resolver". A resolver is simply a contract that implements the resolver specification and can be queried for information about a name. To get the resolver responsible for a name, you can query the Registry for the resolver of a name.
Resolvers are a core part of the ENS protocol. They give each name, represented as a "node", the power to control the resolution process for itself and all of its subnames.
The default resolver for all names is the Public Resolver, written by the ENS Labs team.
How to register Top-Level Domains (TLDs), like .eth, .com, .test and .addr.reverse, are owned by smart contracts called registrars, which specify rules governing the allocation of their names. Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a domain for their own use.
Some existing registrars:
| TLD | Registrar Contract | description |
|---|---|---|
| [root] | The Registry | Owned by ENS Root which is owned by ENS DAO Wallet, can set top level domains |
| .eth | ETH Registry | It allows for trustless on-chain name registration and is in charge of the ".eth" TLD. Essentially a mapping of a .eth name to address* |
| .com, .xyz, etc | DNS Registrar | Since 2021, it has been possible to import a DNS name and use that as an ENS name. Essentially a mapping of web2 domain name to address |
| .addr.reverse | Reverse Registrar | Mapping from address to ENS name |
[email protected] → a$b.com.zk.eth