TON DNS

From TON Wiki (En)

TON DNS — a service for mapping domain names to the addresses of decentralized services on TON blockchain, such as smart contracts, their services, network nodes, and so on. TON DNS allows to use decentralized resources as conveniently as usual Internet services.

History

  • 15.02.2020: publication of the first version of TON DNS smart contract, which did not involve the use of NFT technology. After this event, the release of TON DNS was postponed indefinitely without comment from the developers;
  • 11.2021: first official mentions DNS after the publication of the first version of the smart contract. TON promises DNS support in a browser extension and celebrates the domain system by talking about the simplicity and convenience of the blockchain[2];
  • 08.01.2022: TON DNS is included in the Roadmap, release is promised in Q2, 2022;
  • 30.06.2022: TON introduces TON DNS to the public. The source code and system description are published. In the presented implementation, developers rely on NFT technology, domain names are tokens;
  • 30.07.2022: release of TON DNS, launch of the first auction. In the first week, 7957 bids for domains were opened. 2184 domains were bought out, totaling 2,392,002 Toncoin. The leading domains in terms of value were:
    • wallet.ton – 215 250 $TON;
    • casino.ton – 200 000 $TON;
    • bank.ton – 157 500 $TON;
    • video.ton – 105 000 $TON;
    • swap.ton – 100 000 $TON.
  • 22.08.2022: Pavel Durov publishes a post in which he expresses his admiration for the domain name auction and announces his intentions to repeat this path with usernames in Telegram.
  • 30.09.2022: release of TON Sites and TON Proxy, which are a logical continuation of TON's vector of development towards the creation of a Web 3.0 network, an alternative to the usual Internet. These services are based on TON DNS technology, and by the time of release users can create their own resources in the decentralized Internet using domain system technology.
  • 27.10.2022: auctions for Telegram Usernames began. On the same day, TON publishes a post with the following content:
«Given that Telegram usernames are TON DNS compliant, we think it’s a great idea to add the ‘t.me’ domain zone to TON DNS root smart contract» 
  • 31.10.2022: validator voting for inclusion of t.me domain zone into TONS DNS smart contract started.
  • 02.11.2022: voting successfully completed, smart contract updated:
    • Added support for the t.me domain zone – Telegram usernames.
    • Added short alias www.ton for Foundation.ton website.
  • 08.2023: second round of auction for domain names purchased a year ago. Since there was no interest from users, and the crypto-market had just started to recover from the bear trend, the use of domains had not become widespread enough by that time — the prices for domain names were several times lower than at the start of sales.
Price difference for some domains in 2022 and 2023

TON DNS Specifications

  • Work with TON DNS is implemented in TonWeb and TonLib JavaScript SDKs
  • A «.ton» domain must be between 4 and 126 characters. Registration of domains less than 4 characters is not available to avoid confusion with standard Internet domains «.com», «.org», «.gov», etc.
  • Domains in TON zone are NFT. This means that users can store them in their wallets. Tokens tied to domains can be donated or resold, for example via distinar.io or fragment.com.
  • TON DNS uses familiar domain names consisting of a UTF-8 encoded string up to 126 bytes in length. The different parts of the domain name are separated by dots.
  • The null character, control codes and space (bytes in the range 0..32 inclusive) are not allowed in domain names.
  • Although TON domains are technically case sensitive, TON applications and services convert all domains to lower case before performing a TON DNS lookup, resulting in insensitivity. Therefore, it makes sense to register domains using only lowercase characters.
  • A particular smart contract implementation may impose additional name restrictions when creating subdomains (e.g., to avoid using the same characters, to protect against clone phishing).
  • Variability of implementation is possible due to records of the domain name smart contract, which may contain the required data. Through the records, the functionality of the smart contract can be controlled. The structure of a domain name smart contract is summarized below:
Field Description
Domain Name A unique name that identifies the domain; it can be anything, but must follow certain rules.
Domain Owner the address that owns the domain; the owner has the right to manage their domain and can transfer it to other users.
DNS Records a collection of records that contain information about a domain; records can be of various, such as A records, CNAME records, MX records, and so on.
Certificate a digital certificate that confirms the authenticity of a domain record; it contains information about the domain, its owner and other parameters
Expiration date the time during which the domain record will be valid; after expiration, the record may be renewed or deleted
IP address the address that is associated with the domain — static or dynamic
DNS server server that processes requests to the domain
Domain ID is used to identify the domain in TON DNS system
Date of Creation when the domain record was created.
Date of update when the domain record is updated.
Expiration date when the domain record expires
Record ID is used to identify a record in TON DNS system
Version domain record version, may be changed when the record is updated
Record type record type, which determines what information it contains
Price cost of domain registration and renewal
Limitations restrictions that may be imposed on a domain; for example, there may be a limit on the number of records that can be created for a domain
Status domain record status; can be active, inactive or deleted
Notes additional information about the domain or record that may be useful to users
  • Currently, only domains ending in (.ton) are recognized as valid TON DNS domains.
  • Once a year, the domain owner needs to send 0.015 TON to the domain smart contract to renew ownership. If payment is not received, the domain goes into auction mode. In this way domain addresses cannot be lost even if the owners have lost access to them.
  • A domain can have subdomains. For this purpose, you can create an arbitrary smart contract that corresponds to the standard DNS interface and write the address of this smart contract in the resolver field, which will be located inside the domain record. Smart-contract subdomains can implement any logic — you can make paid subdomains or anything else (for example, the owner of the domain «gov.ton» can sell or give under another condition subdomain «usa.gov.ton»). Also, a subdomain can have its own subdomain — and so on endlessly.

Domain Acquisition

Auction

Auctions are held on the website dns.ton.org. To start, you need to enter the name of the desired domain and then click the button to start the auction.

Domain page view at dns.ton.org

Auction Rules:

  • You must have 1 Toncoin to sell a domain at auction.
  • The duration of the auction is 1 hour.
  • If a bid is made less than an hour before the end of the auction, it will be extended for another hour.
  • Each subsequent bid must be at least 5% higher than the previous one.
  • When the auction is over, the owner can change the contents of the DNS smart contract record.
  • By decision at the validators' vote, the domain can be destroyed or transferred. This mechanism, for example, protects against the creation of domain names containing an immoral message.
  • Third-party services may receive bidding information via API methods.

Pricing Rules:

  • Starting price — from which bidding begins.
  • Absolute minimum — the price below which a domain name cannot cost.
    Price dynamics depending on time and number of characters
    Number of characters in the name: starting price / absolute minimum.

4 symbols: 1 000 / 100 Toncoin

5 characters: 500 / 50 Toncoin

6 characters: 400 / 40 Toncoin

7 symbols: 300 / 30 Toncoin

8 symbols: 200 / 20 Toncoin

9 symbols: 100 / 10 Toncoin

10 symbols: 50 / 5 Toncoin

More than 11 characters: 10 / 1 Toncoin

  • During auction bidding, the final price may be orders of magnitude higher than the initial price.
  • If no one bids, every 30 days the current minimum will decrease by 10% of the previous minimum until the absolute minimum is reached.

Purchase Offer

If a user wants to purchase a domain name that has already been bought out and belongs to another user, he/she has the opportunity to make a purchase offer. The page of this domain will contain the address of its owner and a button to make a purchase offer.

View of a domain purchased by another user

After clicking on the button, you will be transferred to the https://getgems.io marketplace. The marketplace specifies the parameters of the offer — the amount in Toncoin and the time during which the offer will be valid.

Purchase offer settings

Buying on NFT marketplaces

Directory of TON DNS Domains on https://getgems.io

Since domains are tokens (NFTs), users can find them on the https://getgems.io marketplace and offer the owner to sell his domains or join an auction already in progress.

Current TON DNS status

The number of domain purchases is approaching 1000 per day, which indicates the demand for the availability of technology. As of today (04.05.2024) there are 22,515 domain names in the possession of users. 16,164 users (wallets) own one domain. There are 150 users with more than 50 domain names.

Traffic volumes in TON network are not yet comparable to Web2 services, the technology has yet to unlock its potential in the decentralized internet segment and the use of domain in TON Sites. Through simple site names it is easier to attract users — TON DNS as an integral part of the ecosystem will help.

Overall, TON DNS has shown itself to be a ready-to-use technology. It helps to make Web3 more user friendly.

Links

  1. https://github.com/ton-blockchain/ton/blob/master/crypto/smartcont/dns-auto-code.fc
  2. https://t.me/tonblockchain
  3. https://github.com/ton-blockchain/to
  4. https://github.com/ton-blockchain/dns-contract/blob/main/func/nft-item.fc
  5. https://telegra.ph/TON-DNS-auction-rules-07-21