ZNS Protocol

ZERO ID

ZERO ID (ZID) is powered by the ZERO Name Service (ZNS) protocol. ZID is a human-readable identity and routing protocol that can be deployed to any distributed system or blockchain.

ZNS can be thought of as a meta-chain that sits a layer above any single blockchain or distributed system connected to the internet. It is intended to abstract the underlying technical details and address space of any blockchain implementation, in order to create a simple human-readable interface (similar to 'http://').

The root and reference implementation of ZNS is deployed to Ethereum, with the intention to support more chains in the future. Learn more in the ZNS Docs.

Registry

The Registry within the ZERO Name Service (ZNS) functions as a comprehensive repository, cataloging the entirety of domains that exist within the ZNS domain-tree. This Registry is composed of two primary domain types, each serving distinct roles and functions within ZNS.

First, there are 'World Domains'. These domains occupy a fundamental position at the root of the ZNS protocol. Examples of a World Domain include addresses like '0://wilder', or '0://meow'. These domains are unique in that they have no parent domain above them. They exist at the root of the Registry and are the highest-level domains within the ZNS domain-tree.

Second, the Registry includes 'Domains'. Domains differ from World domains in that they are minted from an existing parent domain. This means that a Domain is always associated with, and branches from a higher-level domain. Examples of Domains in this context would be addresses like '0://wilder.frank', or '0://meow.cat.prr'. The creation of these Domains are governed by specific issuance rules that are codified for each parent domain. This structure allows for a hierarchical and organized system of domain management within ZID.

An important feature of Domains within the ZNS Registry is their capacity for infinite nesting. This feature enables the creation of domains with arbitrary length. For instance, a Domain could be extended to form a longer chain-like structure, such as '0://meow.foo.bar.xyz'. This flexibility in domain length and structure allows for a vast landscape of use-cases on ZNS, catering to a wide range of naming needs and preferences.

Routing

Routing determines the address resolution of a particular ZERO Name Address (ZNA). The target route for a ZNA is determined by the resolution set by the last child in the route. In the case of '0://meow.pur', the individual owner of 'pur' determines the final resolution (which can differ from the owner of the parent, 'meow').

ZNS is sovereign—meaning that once a child is minted, a parent can never revoke or alter the state of a child domain, if it is not the owner of that domain.

Routes can resolve to any online service at an IP address, such as a blockchain, website, microservice or distributed system:

  • URL -> www.mydomain.com

  • IP -> 4.4.4.4

  • Blockchain -> Smart contract deployment

  • Distributed system -> IPFS://

Identity

ZNS can be used as a decentralized identity system with the specification of individual characteristics and attestations that live at specific ZIDs.


A characteristic can represent anything that aids in the identification of a specific person or entity: such as a date-of-birth, physical characteristic, or government issued ID. In the context of a computer system, a characteristic can represent any data that aids in the verification of a specific device, process, agent, or computation: such as a public key, binary checksum or Zero Knowledge Proof.


Attestations represent third-party claims made by one entity to another, for instance:

  • '0://wilder.frank' could attest the identity of '0://n3o' (a person using ZID), or '0://wilder' (a project on ZNS), based on specific attestation rules of that specific ZID.

  • Attestations can be defined and implemented to create implementation specific properties to enhance the confidence of a particular identity or set of facts that can be cryptographically verified for a specific ZID.

Accounts

Accounts within ZNS adopt the same model of authentication that is based on public-key cryptography, similar to what is utilized in Ethereum. This choice of authentication model plays a significant role in ensuring compatibility and ease of access for existing users of Ethereum. It also extends this ease of access to chains that are compatible with the Ethereum Virtual Machine (EVM), as well as to a large ecosystem of existing wallets. The primary reason for this integration is the shared foundation in cryptographic authentication principles. Consequently, those who are already familiar with Ethereum, or who use wallets and chains compatible with the EVM, can use ZERO with relatively little effort or adjustment.

In terms of address generation within ZERO, this process involves the utilization of a one-way cryptographic hash function, specifically Keccak-256. The result of this hashing process is then employed as the fundamental identifier for accounts on the ZERO Network. This method ensures a secure and unique way of recognizing and distinguishing each account within the network.

For users who are interested in creating an account and actively engaging with the ZERO Network, the initial step involves the generation of a Key Pair. This Key Pair comprises two components: a public key and a private key, both of which play key roles in the cryptographic architecture of the network.

Once a user has generated their Key Pair, they can establish and verify their ownership of a ZERO Network Address (ZNA). The verification process involves the signing of a secure message. This signing is done using the user’s private key and is executed through the Elliptic Curve Digital Signature Algorithm (ECDSA). By employing this algorithm and their private key, users or devices can effectively confirm their ownership of a specific ZNA, thereby ensuring secure and authenticated interactions.

Domain Minting

World Creation

To mint a World Domain users stake a fixed amount of MEOW (Minds Entering Other Worlds) token. MEOW is the native protocol token for ZERO. Upon depositing MEOW into the ZNS staking contract, a new ZERO ID World Domain is minted at '0://...' and issued directly to the depositor's wallet. The new domain is issued as an ERC-721 token and can be held, transferred or sold on any ERC-721 supported marketplace.

At any point after its creation, the current holder of the World Domain can burn their World Domain and have the original stake returned (less a protocol fee). The stake used to create the World Domain always follows the holder of the associated ERC-721 token.


Domain Creation

Once a World domain has been minted it can be configured to enabling the minting of Domains as children in the domain-tree. The configuration parameters and minting process can happen recursively, enabling any owner of a domain to configure their own Domain for the further minting subdomains.


Domain Configuration

Domains have two primary access control patterns that restrict the minting of new subdomains:

  1. Private: Only the owner of the domain can mint child Domains.

  2. Public: Anyone can mint a Domain, based on the configuration of the Payment Type.


ZID offers two primary Payment Types for domain owners:

  1. Direct Payment: ZID enables domain owners to receive a Direct Payment in exchange for the minting of child Domains. This enables public minting to occur in exchange for a payment amount. Domain owners can set the Payment Token (any valid ERC-20 token) and Payment Amount, as well as an optional fee that is provided to the domain owner.

  2. Staking Payment: As an alternative to a Direct Payment, domain owners can enable staking at their domains. Similar to the staking pattern outlined above for the creation of World Domains, domain owners can set a Stake Token (in any valid ERC-20 token) as well as a Stake Amount and Network Fee. Instead of directly receiving tokens in exchange for the minting of Domains, the staked tokens are taken out of circulation of the underlying staking currency, creating a deflationary effect.


ZID is designed as an extensive and modular system, meaning that developers can build their own custom contracts, including sale, access control, and pricing modules, to extend the system to their own individual use-cases.

Utility

Zero ID provides multiple benefits to the ZERO Network, its members and applications built on ZNS:


  • Human Readability: Members can map their ZNA to a blockchain account or wallet, improving the ease of use and reducing the risk of sending tokens from one address to another. Rather than utilizing a cryptographic hash (such as '0×0...'), individuals can use a unique human-readable address.

  • Identity Verification: This decreases the risk of malicious agents, bots, spam and possible attack vectors from the utilization of cryptographically secure entity identification.

  • Trust: This enables additional protocols, services, and applications to be built that leverage the security properties of the underlying ZNA (and therefore underlying chain), enabling developers to focus on providing end-user experiences that optimize for faster transaction times and a simpler user experience.

Fees

For every World Domain, a fixed fee of 3.69% of the underlying token is sent the MEOW token contract and burned, creating a deflationary effect.

Protocol Fees are denominated in the underlying token set by the domain owner and sent to the MEOW DAO. This enables the DAO to accumulate tokens of projects that choose to build on the ZERO Network, aligning incentives between stakeholders.