Neo Name Service (NNS): Decentralised DNS on the Blockchain
Neo Name Service (NNS) is a decentralised, on-chain naming system for the Neo blockchain. It maps long Neo wallet addresses and smart contract hashes to short, human-readable names ending in `.neo`, working like a blockchain-native version of the internet's Domain Name System (DNS). Ownership and resolution are governed entirely by smart contracts — a top-level domain contract, an owner, a registrar, and a resolver that uses the NameHash algorithm — rather than centralised registrars. By replacing brittle, error-prone address strings with memorable aliases such as `simple.neo`, NNS reduces transcription mistakes, improves wallet usability, and brings web-style naming conventions to on-chain transactions.
What Is Neo Name Service?
The Neo Name Service (NNS) is a decentralised naming system that maps long, machine-readable wallet addresses and smart contract hashes on the NEO blockchain to short, human-friendly names ending in `.neo`. Instead of copying a string such as `AR4QmqYENiZAD6oXe7ftm6eDcwtHk7rVTT`, a user can send funds to something like `simple.neo`. Conceptually NNS does for Neo what the Domain Name System (DNS) does for the web: it replaces unmemorable identifiers with names humans can read, type, and verify, reducing transcription errors and improving usability.
Why a naming layer matters
Every website you visit resolves a friendly URL into a numeric IP address behind the scenes. Blockchains face the same friction, only worse: a Neo address or script hash is far longer than an IP address and far easier to mistype. A single wrong character can route funds to an unrecoverable destination. A naming layer turns these brittle strings into aliases that are simple to share and harder to get wrong, which is exactly the kind of friction-removal that drives mainstream adoption. NNS sits in the same family as other blockchain domains projects that bridge readable names and on-chain destinations.
How NNS Compares to Other Naming Systems
NNS borrows the hierarchical, dot-separated convention of traditional DNS, but ownership and resolution are handled entirely by on-chain smart contracts rather than centralised registrars. The table below positions NNS against the systems it most resembles.
| Property | Traditional DNS | Neo Name Service (NNS) | Ethereum Name Service |
|---|---|---|---|
| Top-level domain | .com, .org, etc. | .neo, .gas | .eth |
| Who controls the TLD | Registrars / ICANN | On-chain registrar contracts | Registry smart contract |
| Maps to | IP addresses | Neo addresses + contract hashes | Ethereum addresses + content hashes |
| Resolution method | DNS resolvers | NameHash algorithm + resolver contract | Namehash + resolver |
| Censorship resistance | Low (centralised) | High (on-chain) | High (on-chain) |
The key takeaway: NNS is not a copy of an existing service but a chain-native equivalent. Anyone familiar with how `.eth` names work will recognise the model instantly, and the broader pattern of human-readable on-chain identifiers is covered in our guide to the Ethereum domain name system.
Neo Name Service Architecture
NNS resolves a name to an address through four cooperating components, all implemented as smart contracts or records on the Neo blockchain.
- Top-level domain contract — stores the root record for a TLD such as `.neo`, including the owner, registrar, resolver, and the time-to-live (TTL) for the domain.
- Owner — an address or smart contract that controls a given domain. The owner can transfer the domain, change the resolver, or modify the registrar.
- Registrar — a smart contract that allocates sub-domains and verifies that the entities claiming sub-domain names are legitimate.
- Resolver — a smart contract that performs the final mapping from an alias to a concrete address, using an algorithm called NameHash.
This separation matters because each layer can change independently: you can point the same name at a new resolver, or transfer ownership, without breaking the alias people already use. The design echoes how DNS keeps the human-facing name stable while the underlying record can be updated.
The NNS Economic Model
The original NNS design used two tokens with distinct jobs.
- NNC — the governance and incentive token, with a total supply of 1 billion. NNC holders drive root-domain voting. An administrator-initiated proposal passes if at least 70% of votes are in favour after three days; a community-initiated proposal passes at a 50% threshold over the same window. Auction fees were also distributed to NNC holders in proportion to their holdings — a dividend-like mechanism.
- SGAS — an NEP-5 token bound 1:1 to Neo gas, convertible to GAS at any time. SGAS was used to pay auction fees and to perform intra-contract gas operations. Total supply was capped at 100 million.
Worked example: a domain auction fee
Suppose three users bid on `wallet.neo` and the winning bid is 120 SGAS. Under the original auction rules:
- The winner is charged the full bid as a fee → 120 SGAS.
- Each losing bidder is charged 5% of their own bid as a fee. If the two losers bid 100 SGAS and 80 SGAS, they pay 5 SGAS and 4 SGAS respectively.
- A share of the collected fees flows back to NNC holders pro-rata, so a holder with 1% of circulating NNC would receive roughly 1% of that fee pool.
This structure rewards both honest bidding (losers pay only a small penalty) and long-term NNC holders (who earn from network activity).
Team and Launch
NNS was founded by Liu Yongxin, a co-founder of NEL — a Chinese Neo developer community — with Li Jianying serving as co-founder and CTO. After an extended testnet phase, the NNS mainnet went live on 9 October 2018, opening `.neo` domain bidding to the public. Early adoption was encouraged through a domain-mining reward that awarded free NNC based on the GAS spent on winning bids, running until 23 October 2018 or until 100 million NNC had been distributed.
Risks and Pitfalls
Naming services solve real friction but introduce their own considerations:
- Squatting and auctions — desirable short names attract speculators, which is why NNS used auctions rather than first-come registration.
- Resolver trust — a name only protects you if the resolver contract is sound; a misconfigured or malicious resolver can map a familiar name to the wrong address.
- TTL and stale records — wallets that cache resolutions may serve an outdated address after an owner updates a record.
- Wallet support — an alias is only useful where it is supported; if a wallet or dApp does not resolve `.neo`, the user falls back to the raw address.
- Always verify — for large transfers, confirming the resolved destination before sending remains good crypto safety practice.
COINOTAG Perspective
NNS is best understood not as a standalone product but as a usability primitive — the kind of infrastructure that quietly raises the floor for an entire ecosystem. Readable names lower the cognitive cost of self-custody, make on-chain identity composable, and let dApps reference users and contracts by name. The lesson generalises beyond Neo: every chain that wants mainstream users eventually builds a naming layer, because human-readable destinations are a precondition for trust at scale. For COINOTAG readers, NNS is a clean case study in how small ergonomic upgrades, not just consensus breakthroughs, drive adoption.