Simple and needed project. DNS for the NEO blockchain. Using existing solutions, the developer team created a better way to allow domain names on the blockchain. Almost all (if not all) source code is on GitHub with open access for anyone. Our analysis did not discover any critical flaws in the project. Our verdict: Not a scam, Approved!
Decentralized DNS (domain name service) based on the NEO blockchain. NNS allows people to use short and easily remembered words or phrases instead of long and unintelligible ones. In essence, you can transfer a token to an NNS domain name instead of a blockchain address.
Domain names can be mapped, for example, to contract hash, content hash, public key, etc.
Simple one-pager website. Everything is clear and to the point. Site’s source code is on GitHub (they have a lot on GitHub). The website has an IPv6 record — plus 500 points to karma.
Twitter: about 3000 followers
Telegram: about 14000 members
Medium: about 600 followers
They periodically post updates. Accounts have some activity — which is great.
Besides the NNS repository, the NewEconoLab page has another 50 repositories in GitHub. There are also repositories there with the website’s source code, whitepaper, NNS, and the NEO-NS browser. Every repository is active. Developers are contributing commits, etc. All good — no further questions.
The two key people here are Liu Yongxin and Li Jianying. The former is the originator of the NNS idea; the latter is responsible for its technical implementation. Btw, Li Jianying -is a Core Developer of NEO, so obviously no questions about his qualifications or relevant expertise. The project’s GitHub lists 4 contributors, but the bulk of commits are by lightszero (Li Jianying) — he’s clearly on top of this.
For the rest of the team, this is basically their first significant project. But considering Li’s massive experience, this shouldn’t be a problem.
Should be noted that the team’s LinkedIn profiles… they’re empty. Why even link to them?
Not for nothing: The project is promoted by neonewstoday.com, the official news outlet of NEO.
NNS solves a simple problem: complicated, long, can’t-ever-remember names of crypto wallets, smart contracts, public keys, etc.
The solution is pretty simple too — create something like a DNS (domain name service), their own alias service.
It’s important to understand that NNS will be used exclusively on the NEO blockchain (hence the first N of the acronym).
De facto, such solutions already exist for other blockchains: IPFS has its alias service — IPNS, and Ethereum has ENS.
So this team decided to create something for NEO, based on existing technology and incorporating the best of what’s out there.
For example, to improve on the approach used in ENS, they split the owner contract from registry module to achieve more flexible ownership control in NNS.
Also, NNS have two types of resolutions: quick resolution and complete resolution. Plus, they have introduced a smart token in their economic model to achieve redistribution of system costs.
At the moment, NNS is focused on NEO wallet addresses or smart contracts. But the system is scalable, and the plan to add the ability to use NNS for public keys, names and hashes of files, emails, messages, and pet names.
So, for example, NNS allows for a more secure and more transparent transfer of tokens via an alias, especially for those accounts who need to make public their wallet addresses and do not need to change their addresses frequently — such as a wallet’s public address for an ICO. With a short, easily memorizable alias, it would be a lot harder for hackers to change the name without investors noticing.
Additionally, smart contracts on the NEO blockchain could be accessed by their domain name — which, once again, is convenient, fast, transparent, and more secure.
Using NNS in the NEOFS — the decentralized file storage based on NEO — in the future they could use it to quickly access files.
Since the blockchain is the infrastructure of the next generation of the Internet, an increasing number of services will be based on blockchain technology. As such, the need for alias services will only grow.
NNS has similar goals to DNS.
First, to resolve human-readable names (like beautiful.neo) into machine-readable identifiers (like a NEO wallet address).
Second, to provide descriptive data for domain names, such as whois, contract interface description, etc.
- Top-level domain name contract (domain name root is the script that manages root domain name)
- The owner (could be a personal account’s address or a smart contract)
- Registrar (a smart contract that issues subdomains of that domain to users. The root domain name specifies a root domain name’s registry)
- Resolver (responsible for resolving a domain name or its subdomain names)
Top-level Domain Name Contract contains all the information about the root domain, such as .neo or .test:
- The owner of the domain name
- The registrar of the domain name
- The resolver of the domain name
- The TTL (time to live) of the domain name
The domain own could be owned by either the user or by a smart contract.The owner can:
- Give the right to the domain over to another address or a smart contract
- Change Registrar
- Change the Resolver
Using smart contracts as owners allows, for example, domain ownership by two people. In this case, the rights to that domain can only be passed to another person with the signature from both owners. If more than two people own the domain, rights transfer decisions are made via voting.
The registrar is responsible for governing subdomains and has two functions:
- To re-specify subdomain names of a domain name to other owners
- To check whether the owner of a subdomain name is legal or not because second-level domain names could be transferred to others after third-level domain names are sold
There could be many types of registrars:
- “First come, first served” registrar. This type will be used in the .test testnet
- Administers allocate registrars manually. Each domain’s administrator manually designates subdomain rights
- Registrar auction. This type will be used in the .neo mainnet .
This is the actual smart contract that resolves domain names.
To resolve domain names, a user has two options:
- Quick resolution: direct resolution of the domain name
- Complete resolution (In a complete manner, the root of the domain name will start with the root domain name and queries ownership and TTL layer by layer)
NNS Economic Model
Will use two types of tokens: NNC and SGAS
NNC: an equity proof token has a total supply of 1 billion.
The fees charged for all domain name auctions will be completely redistributed to NNC’s holders.
The initial issuance of the NNC is in the form of airdrop(s). NNC will be only airdropped to NEO holders. Specific airdrop rules will be announced in the future.
SGAS is a kind of gas token with a total supply of 100 million.
In the NNS system, SGAS mainly has the following functions:
- It can be converted into GAS and vice-versa
- Recharge/withdraw from the registrar
- Participate in domain auctions
- Auction fee payment
When a user bids for a domain name, NNS will generate income from SGAS. There are two main sources:
- The bid winner will be charged all the bid fund as the fee
- For users who participate in the auction, but lose the bid, 5% of the bid is charged as a fee
All fee income will be transferred to bonus pools. In the bonus pools, all NNC holders can receive SGAS in proportion to their NNC holdings.
Domain Name Browser
NNS domain name browser is the entrance which provides NNS domain name query, auction, transfer, and other functions.
NNS will support reverse resolution, which will become an effective way to verify addresses and smart contracts.
First Quarter 2018
- January 2018, officially release NNS technical white paper
- January 2018, complete the technical principle test and verification
- January 31st, 2018, release the NNS Phase 1 testing service, including registrar and resolver, on the test net, anyone can register unregistered and rules-compliant domain names
- February 2018, launch testnet-based Domain Name Browser V1
Second Quarter 2018
- March 2018, issue NNC on testnet
- March 2018, release NNS Stage 2 testing service, including bidding service on testnet when anyone can apply to NEL for NDS bidding test domain name
- April 2018, launch testnet-based domain name browser V2
- May 2018, issue NNC on mainnet
- June 2018, release NNS service on mainnet. Here comes Neo domain name era
- June 2018, release mainnet-based domain name browser
The whitepaper is written in a clear and understandable manner. Every section has a full explanation and description. There is a section with the interfaces of the main smart contracts.
There is plenty of technical information to fully understand the algorithm. Very little unnecessary wording — all to the point. That’s why it’s so short.
The only screw up are in design — images are stretched out of proportions, some lists are off alignment. It’s small stuff, but could’ve been easily fixed.
Questions for the project
Q: Why use NNS for emails and message addresses? They’re not written with hashes and can be easily read via symbols and phrases. Unless… do they mean using NNS for their own email service?
Q: Will they protect the project from a homograph attack? If yes, how? Important , since using a homograph attack, a malicious actor can switch out the domain name for a fake one. [https://en.wikipedia.org/wiki/IDN_homograph_attack]
Q: They mentioned an airdrop to NEO holders (1 NEO to 0.1 NNC). When?
Simple and workable solution. The project is created to improve the NEO blockchain. The website doesn’t have any unnecessary info — all to the point. All the source code is on GitHub in open access. The team is not especially strong, with it being the first project for most of them… but considering the experience of Li Jianying (Core Developer в NEO), the inexperience of the rest of the team is not a problem.
Very clear positioning: DNS for NEO. The whitepaper is clear and detailed about every aspect (including even system interfaces). Tokenomics are well covered, including who will get paid and how. We found no critical problems nor fuck ups in this project.
Disclaimer: The above audit is not in any way financial advice or a solicitation to buy — it’s merely our collective opinion that we are kind enough to share with you. Don’t make us regret that.
The report is prepared in partnership with https://t.me/ico_reports