What means Unstoppable Domains?
Unstoppable Domains are Decentralized and that makes them unstoppable. A user who claims a domain to a wallet has absolute control over it. “Unstoppable Domains” as an organization does not have to be involved in domain transfers, updates, or linking. Nobody can deactivate, change, or transfer a domain’s records without the owner’s consent.
How does it work?
It’s based on CNS, the Crypto Name Service. CNS is a set of Ethereum smart contracts that govern domain creation and use. However, unlike a traditional DNS system, CNS has architectural differences that alter the interaction model. For example, CNS domains are permanent. Unstoppable Domains cannot claim or renew them. Once claimed, users have complete domain control. CNS domains are ERC-721 tokens. Users can manage their domain ownership from any compatible wallet, exchange, or marketplace that supports the Unstoppable Domains standard.
Smart contract architecture
The Registry and Resolver smart contracts are the heart of CNS. The registry is a mapping between domain names and owner and resolver addresses. And Resolver is a map from domain names to records (cryptocurrency addresses, etc.). The Ethereum Mainnet has only one Registry smart contract, but many Resolver smart contracts. In theory, every domain could have its own Resolver contract, but in practice, most are managed by the same Resolver smart contract instance. Each ERC-721 token has a unique tokenId. Namehashing is used to identify domains.
The registry is the most vital CNS smart contract. An ERC-721 token contract that provides ERC-721 token metadata and stores a list of all domains. Registry stores: owner address; approved operator address; resolver address; domain name. Registration, subdomain creation, and ownership are all handled by Registry’s smart contract.
Whitelisted minters are accounts that can mint second-level domains (e.g. alice.crypto). Only whitelisted minters can mint new domains. They can’t change domain records or approve or transfer domain ownership. Unstoppable Domains runs whitelisted minters. Registry’s smart contract has no admin. Even Unstoppable Domains cannot manage or transfer a user’s domains without their permission.
Owners can own and create a domain/subdomain.
A resolver is a smart contract for storing domain records. Domain owners can store data like cryptocurrency addresses, chat IDs, and IPFS hashes here. Resolver is a mapping of domain name hashes to record key-value dictionaries. This structure allows users to store records that aren’t specified by Records.
Domain owners approved addresses, and operators can edit records in Resolver. Resolver also provides an interface for standardizing records, making domain information more accessible.
ProxyReader is a smart contract used by our domain resolution libraries. Normally, resolving a domain requires two Ethereum blockchain queries:
- Call Registry to find a domain’s Resolver
- Call Resolver to listen to records
ProxyReader simplifies this process.
Subscribe to read more articles about unstoppable domains, blockchain technology, and cryptocurrencies.