TON DNS: доменные имена в блокчейне
TON DNS — это система доменных имён, работающая полностью на блокчейне, позволяющая заменить длинные адреса контрактов человекочитаемыми именами (например, wallet.ton вместо EQBv…). Как и обычный DNS превратил IP-адреса в запоминаемые URL, TON DNS делает блокчейн-адреса понятными для пользователей.
Каждый адрес в TON выглядит как EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF_3R2... — 48 символов, которые невозможно запомнить или продиктовать. TON DNS решает эту проблему, позволяя заменить адрес на читаемое имя: foundation.ton, alice.ton, wallet.ton.
Но TON DNS — это не копия традиционной системы DNS из интернета. Здесь нет центрального регистратора вроде ICANN, нет серверов имён, нет WHOIS. Вместо всего этого — смарт-контракты на блокчейне, а домены — это NFT.
Архитектура TON DNS
TON DNS состоит из трёх уровней смарт-контрактов, каждый из которых отвечает за свою часть процесса разрешения имён:
.t.me → Collection
Один на всю сеть
wallet address
ADNL address
Storage Bag ID
next resolver
1. Root DNS Resolver
Корневой резолвер — это единственный контракт в masterchain, адрес которого хранится в конфигурационном параметре #4 сети. Он знает, какой контракт отвечает за каждую зону верхнего уровня:
.ton— основная зона для доменов.t.me— зона для Telegram-юзернеймов
Root DNS не хранит никаких доменов. Он лишь перенаправляет запрос к нужной коллекции.
2. .ton Collection (DNS Resolver + NFT Collection)
Контракт зоны .ton совмещает две роли:
- DNS Resolver — принимает запросы на разрешение имён и находит нужный домен
- NFT Collection (TEP-62) — хранит список всех зарегистрированных .ton доменов как NFT
Для поиска домена контракт вычисляет index = sha256("alice") и по этому индексу определяет адрес NFT item — контракта конкретного домена.
3. Domain NFT (NFT Item + DNS Records)
Каждый .ton домен — это отдельный смарт-контракт, который является NFT item (TEP-62) и одновременно хранит DNS-записи.
.ton домены — это NFT. DNS-резолвер — это NFT-коллекция. Каждый домен — это NFT item. Это не метафора — домены реализуют стандарт TEP-62 и торгуются на NFT-маркетплейсах наравне с картинками и коллекционными предметами.
Процесс разрешения имени
Когда приложение хочет узнать, какой кошелёк стоит за именем alice.ton, происходит следующая цепочка вызовов:
Разрешение "alice.ton":
1. Клиент -> Root DNS: resolve("alice\0ton")
(байты имени в обратном порядке, разделённые \0)
2. Root DNS -> .ton Coll: resolve("alice")
(Root DNS отрезал "ton" и передал остаток)
3. .ton Coll -> NFT Item: вычислил sha256("alice"), нашёл NFT item
4. NFT Item -> клиент: DNS-запись wallet = EQDtFpEw...
Обратите внимание: имя передаётся в обратном порядке — сначала зона верхнего уровня (“ton”), потом имя домена (“alice”). Это позволяет каждому уровню “отрезать” свою часть и передать остаток дальше.
DNS-записи
Каждый домен-NFT может хранить несколько типов DNS-записей:
| Запись | Ключ (sha256) | Назначение |
|---|---|---|
| Wallet | sha256("wallet") | Адрес кошелька — куда отправлять TON при переводе на “alice.ton” |
| ADNL Address | sha256("adnl_address") | 256-битный ADNL-адрес для TON Sites и TON Proxy |
| Storage Bag ID | sha256("storage_bag_id") | Идентификатор файла в TON Storage |
| Next Resolver | sha256("dns_next_resolver") | Адрес контракта для разрешения субдоменов |
Самая распространённая запись — wallet address. Она позволяет отправлять TON на alice.ton вместо длинного адреса. Кошельки (Tonkeeper, MyTonWallet) автоматически разрешают .ton имена при отправке.
Домены как NFT
Поскольку .ton домены реализуют стандарт TEP-62 (NFT Standard), они обладают всеми свойствами NFT:
- Владение: у каждого домена есть owner, который может менять DNS-записи
- Передача: домен можно передать другому адресу через стандартный transfer
- Продажа: домены торгуются на маркетплейсах — Getgems, Fragment
- Аукционы: новые домены продаются через аукцион на dns.ton.org
Где купить .ton домен?
Первичная продажа — аукционы на dns.ton.org. Вторичный рынок — маркетплейсы Fragment (fragment.com) и Getgems (getgems.io). Домены из 4 и менее символов продаются через аукцион; длинные домены доступны по фиксированной цене.
Стандарт TEP-81
TEP-81 (TON Enhancement Proposal #81) — это расширение NFT-стандарта, которое определяет формат DNS-записей внутри NFT item. Благодаря TEP-81:
- Любая NFT-коллекция может стать DNS-резолвером
- DNS-записи хранятся в data NFT item в стандартизированном формате
- Кошельки и приложения знают, как читать DNS-записи из любого TEP-81-совместимого контракта
Субдомены
Владелец домена alice.ton может создать субдомены: blog.alice.ton, wallet.alice.ton, shop.alice.ton. Для этого используется механизм next resolver:
Делегирование субдоменов:
alice.ton (NFT Item)
DNS-запись: next_resolver -> адрес контракта SubdomainResolver
SubdomainResolver
resolve("blog") -> ADNL-адрес блога
resolve("wallet") -> адрес кошелька
resolve("shop") -> адрес магазина
Владелец домена устанавливает DNS-запись dns_next_resolver, указывающую на свой контракт-резолвер. Этот контракт может реализовать любую логику: фиксированный список субдоменов, динамическую генерацию или даже собственную NFT-коллекцию субдоменов.
Сравнение с традиционным DNS
| Аспект | Традиционный DNS | TON DNS |
|---|---|---|
| Управление | ICANN, регистраторы | Смарт-контракты |
| Хранение | DNS-серверы | Блокчейн TON |
| Владение | Аренда у регистратора | NFT (полное владение) |
| Передача | Процедура трансфера у регистратора | Transfer NFT |
| Цензура | Домен может быть заблокирован | Только владелец контролирует |
| Субдомены | Настройка на DNS-сервере | Смарт-контракт next resolver |
| Оплата | Ежегодная аренда | Единоразовая покупка |
Итоги
| Компонент | Роль |
|---|---|
| Root DNS | Корневой резолвер в masterchain (config #4), направляет к зонам |
| .ton Collection | NFT-коллекция + DNS-резолвер зоны .ton |
| Domain NFT | NFT item с DNS-записями (wallet, ADNL, Storage, next resolver) |
| TEP-81 | Стандарт DNS-записей внутри NFT |
| TEP-62 | Стандарт NFT, обеспечивает торговлю доменами |
TON DNS превращает нечитаемые адреса в понятные имена, а NFT-природа доменов делает их полноценным цифровым активом — с правом собственности, свободной торговлей и защитой от цензуры. В следующем уроке мы рассмотрим другой инфраструктурный сервис TON — децентрализованное хранение файлов.
Частые ошибки
- Не проверяют наличие DNS-записи перед использованием: если домен не зарегистрирован или истёк, резолвинг вернёт пустой результат.
- Путают TON DNS доменные зоны (.ton и .t.me) и их разные механизмы резолвинга.
- Забывают о продлении домена: TON DNS домены имеют срок аренды, после которого могут быть перехвачены другими пользователями.
- Не реализуют обратный резолвинг (адрес в имя) в своём UI, что лишает пользователей удобного отображения адресов.
Проверка знанийПочему .ton домены можно продавать на NFT-маркетплейсах, таких как Getgems и Fragment?
Проверьте понимание
Закончили урок?
Отметьте его как пройденный, чтобы отслеживать свой прогресс
Войдите чтобы оценить урок