Since the inception in 1983, the DNS domain name system has undergone many transformations and has essentially shaped the modern Internet as we know it. It is a brilliant idea to use human-readable names, hierarchically organized and easy to remember instead of non-memorable digital addresses.
DNS: Insecure, but convenient
Initially, security concerns were not a major consideration in the development of DNS software, nor were any software of the early Internet. With the growing role of the Internet, security requirements have become stricter and developers have invested a lot of work adapting old protocols to new realities.
And, despite this, the modern implementation of DNS is full of shortcomings arising from its foundations — centralized storage of the database of correspondence of domain names to IP addresses on the Internet. Attacks occur on the DNS, user traffic can be monitored and censored through DNS. But this doesn’t change its amazing convenience.
Mitja Goroshevsky: “The TIP-2 Distributed System Can Hold Any Number of Addresses and Names Without Restrictions”
Modern blockchains, like the early Internet, have complex addresses to put it mildly — try to remember the 64-bit Free TON address. And for a system that claims to be the common information environment of the future, usability is an integral part.It is not surprising that in order to develop Free TON, the technical director of TON Labs, Mitja Goroshevsky, made a proposal to hold a contest to create a decentralized name service — DeNS.
Here is how Mitja commented on the idea of the contest:
“Smart contracts now look like TON addresses, like big numbers. In addition, one address is associated with one smart contract. If you want a service to be found on the blockchain, you will have to send the addresses of these smart contracts to your users by writing smart contracts — and this is not very convenient, no one will remember it, the user will not be able to find your service inside the blockchain.
That is, it can only be found if you launch a website and name it somehow, as it usually happens now. But in a decentralized world, it will be impossible to find it inside the blockchain. Now, imagine that we are making a name service, where you can assign a name to any smart contract, and just like today, in domains, you change the IP of your service and the domain indicates to another IP, in the same way, the name will indicate to any address of the smart contract and it can be changed.
If you compare it with DNS, for example, www points to a website, ftp can point to your storage, and mail, respectively, to your email address, and so on. Here you can do the same — depending on the prefix, this name may indicate the service of different smart contracts, to different addresses. In addition, design itself solves the problem of centralization within a large contract. Previously, TON already made a DNS contract, but its design, as in other blockchains, was based on storing a list of addresses names, and, naturally, such a list cannot be infinite. On the other hand, the TIP-2 distributed system is designed for any number of addresses and names without restrictions”.
TIP-2 Decentralized Certificates
The design of the TIP-2 Decentralized Certificates (DeCert) distributed certificate storage proposed by Mitja Goroshevsky is elegant and its essence is as follows:
- the Root smart contract of the certificate is deployed in the blockchain, containing the smart contract code and data (public key, etc.). When a user needs to register a certificate, he calls the Root smart contract and passes it some data as a parameter, for example, a text string. The Root smart contract inserts this data into the smart contract code and, using its public key, calculates a new address.
- Further, if the address exists, information with registration data is sent to the user; if not, a new smart contract that already contains user data is placed by the Root smart contract in the blockchain at the specified address. Thus, the Free TON blockchain itself is used as a certificate store.
- In order to calculate the address, it is not even necessary to have a network connection, because the Root smart contract can be cached, and obtaining information about the address is not a request, but a computational operation based on the data provided by the user. List of all smart contracts of certificates issued by the Root smart contract can be obtained from the blockchain by a simple request.
According to the idea of the initiator of the contest, the new DeNS system will also have to include an auction mechanism — a competitive way to determine the owner of the name.
At the same time, it is preliminarily assumed that DeNS will contain a group of reserved names:
- tonos, os for system smart contract names;
- gov for managing contract names;
- debot, bot for top-level DeBot names;
- dev for developer resources;
- defi for DeFi resources;
- proxy for proxy and VPN addresses;
- site for TON websites.
It is suggested to use a forward slash “/” as a separator for names, for example, “name/subname/second_subname”.
Decentralized Name Service: What Will The Contestants Face?
To our question about the “pitfalls“ of the upcoming contest, Mitja Goroshevsky answered:
First, the contestants should think in terms of developing distributed contracts for Free TON. Second, when implementing an auction, there may be interesting design solutions and in order to make it optimal, cheap, and so on, it will take a while.
It is expected that the implementation of DeNS in Free Ton will take place in one stage, which means that the result of the contest should be a ready-made software solution.
The first five winners will receive from 50,000 to 10,000 crystals: in increments of 10,000. For participants who took places below, but whose submissions did not receive negative votes, the prize will be 1,500 crystals.