โœ…Domain Management

And overview of (and deep dive into) all the operations that can be performed in ZNS

Ownership

Two components comprise domain ownership in ZNS: ownership of a domain's ERC-721 token (the Ethereum NFT standard) and ownership of a domain's record (or domain hash) in the ZNSRegistry smart contract. The latter (hash owner) confers 'true' canonical domain ownership and can be delegated to another account -- called 'operators,' see below -- to invoke domain management functions or interact with third parties while preserving the security and autonomy of the domain's owner, while the former (token owner) can be transferred freely by the canonical (hash) owner to anyone at any time without approval or participation of the current token owner, no matter who it is, and thus, can be used to allow "usage" of hash owner's domain to someone else without the possibility of them managing it or changing any domain data.

Some functions, like setting a domain's subdomain distribution configurations (see Subdomain Distribution) can be performed by the owner or operator of a domain's record, while other more consequent actions, like domain revocation (see Domain Revocation (Destruction)) and domain token transfers require one account to own both a domain's token and record. See Domain Ownership, Token Management and Transfers and Ownership for more information.

Token Transfers

Like any ERC-721 standard NFT, ZNS domains can be freely bought, sold, swapped, traded, or otherwise transferred between addresses. In order to perform any of the ERC-721 standard transfers the transferring account is required to be the owner of both: domain record (hash) and domain token. Domain record owner could use Token Assignmentin order to quickly retrieve token from whichever wallet currently holds it to finish this operation. Performing a standard transfer will also automatically change the canonical domain owner to the receiver of the domain token.

For more information on token transfers and assignments, see Domain Ownership, Token Management and Transfers, Domain Token Sales, Purchases and Transfers.

Token Assignment

A canonical domain owner has the ability to send JUST the token to an arbitrary address and retrieve it back at any point in time, allowing for more domain usage control for applications that only use token ownership. This also allows canonical owners to give or rent away the domain to someone else or their other wallets and applications (see more in Token Assignment).

Revocation

ZNS canonical domain owners can forfeit ownership of their domain at any time by way of a process known as domain revocation. Revoking a domain burns its associated NFT and erases the owner's name from the domain's record in ZNSRegistry. As such, only users that own domain record (are canonical owners) can call revokeDomain. Revoked domains are available again for registration by anyone immediately after revocation.

Existing subdomains under a revoked domain are fully emancipated and are unaffected by the revocation of their parent domain.

New child subdomains cannot be minted under a revoked domain, however, until it has been reminted.

Revoking a domain registered via ZNS's stake-to-mint paradigm will refund that stake amount in full to the domain token's owner, excluding any associated protocol fees and transaction costs. Revoking a domain registered with a one-time, direct payment will not refund that payment. For more information on the revocation process, see Domain Revocation (Destruction).

Operators

Ownership of a domain's record (or hash) is considered 'true' canonical ownership of a domain. Domain managements rights (apart from changing the owner) can be delegated to a separate account, enabling it to perform domain management functions and interact with third-party applications safely. The account to which a domain's record has been delegated is called an 'operator.' Operators have the ability to update subdomain distribution configs (see Base Distribution Configuration), but cannot perform functions altering domain ownership, like token assignment (see Token Assignment), revocation (see Domain Revocation (Destruction)) or transfers of a domain's token. For more information on operators and their capabilities, check out Domain Operations.

Both owners and operators are always allowed to mint their own subdomains, even if parent domain they own/manage is LOCKED for distribution of subs, but the owner assigned to a newly minted subdomain will depend on the caller.

  • If the owner of the parent domain is minting a subdomain, its canonical owner will be set as the caller/parent owner himself.

  • If an operator is the caller/registrant of a subdomain under their managed parent domain, the OWNER of the parent domain will be set as owner of the minted subdomain. This prevents operators from abusing their rights and assigning domains to themselves without owner's consent.

Resolutions

The ability to resolve a domain to arbitrary data -- e.g., mapping a ZNS domain to an Ethereum account, or a Github account, or a smart contract address -- is one of the key functions of the ZNS protocol. This turns esoteric hex hashes (e.g., 0xABC123DEF...678Tuv9) into something human readable (e.g., 0://hello) and allows for rich identity management to take place on- and off-chain. At present, ZNS only allows for domains of any level to resolve to 2 types of data: addresses and strings. In the future this functionality will be greatly expanded on. To learn more about domain content and resolution, see Domain Content and Resolutions and Resolution.

Last updated