Перейти к содержанию
Learning Platform
Глоссарий Troubleshooting
Урок 10.01 · 20 мин
Средний
TON DNSDomainsNFTTEP-81TON

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 состоит из трёх уровней смарт-контрактов, каждый из которых отвечает за свою часть процесса разрешения имён:

Трёхуровневая архитектура TON DNS
Root DNS Resolver
(config param #4)
.ton → Collection
.t.me → Collection
Masterchain
Один на всю сеть
resolve("alice.ton")
.ton Collection
DNS-резолвер зоны .ton + NFT-коллекция (TEP-62)
index = sha256("alice") → адрес NFT item
"alice.ton" Domain NFT
(NFT Item)
Owner: Alice | TEP-62 compatible | Tradeable
DNS-записи:
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-записи.

NOTE

.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)Назначение
Walletsha256("wallet")Адрес кошелька — куда отправлять TON при переводе на “alice.ton”
ADNL Addresssha256("adnl_address")256-битный ADNL-адрес для TON Sites и TON Proxy
Storage Bag IDsha256("storage_bag_id")Идентификатор файла в TON Storage
Next Resolversha256("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
TIP

Где купить .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

АспектТрадиционный DNSTON DNS
УправлениеICANN, регистраторыСмарт-контракты
ХранениеDNS-серверыБлокчейн TON
ВладениеАренда у регистратораNFT (полное владение)
ПередачаПроцедура трансфера у регистратораTransfer NFT
ЦензураДомен может быть заблокированТолько владелец контролирует
СубдоменыНастройка на DNS-сервереСмарт-контракт next resolver
ОплатаЕжегодная арендаЕдиноразовая покупка

Итоги

КомпонентРоль
Root DNSКорневой резолвер в masterchain (config #4), направляет к зонам
.ton CollectionNFT-коллекция + DNS-резолвер зоны .ton
Domain NFTNFT item с DNS-записями (wallet, ADNL, Storage, next resolver)
TEP-81Стандарт DNS-записей внутри NFT
TEP-62Стандарт NFT, обеспечивает торговлю доменами

TON DNS превращает нечитаемые адреса в понятные имена, а NFT-природа доменов делает их полноценным цифровым активом — с правом собственности, свободной торговлей и защитой от цензуры. В следующем уроке мы рассмотрим другой инфраструктурный сервис TON — децентрализованное хранение файлов.


Частые ошибки

  1. Не проверяют наличие DNS-записи перед использованием: если домен не зарегистрирован или истёк, резолвинг вернёт пустой результат.
  2. Путают TON DNS доменные зоны (.ton и .t.me) и их разные механизмы резолвинга.
  3. Забывают о продлении домена: TON DNS домены имеют срок аренды, после которого могут быть перехвачены другими пользователями.
  4. Не реализуют обратный резолвинг (адрес в имя) в своём UI, что лишает пользователей удобного отображения адресов.

Проверка знанийKnowledge check
Почему .ton домены можно продавать на NFT-маркетплейсах, таких как Getgems и Fragment?
ОтветAnswer
Потому что .ton домены реализуют стандарт TEP-62 (NFT Standard). DNS-резолвер зоны .ton -- это NFT-коллекция, а каждый домен -- это NFT item. Стандартный интерфейс NFT позволяет маркетплейсам работать с доменами так же, как с любыми другими NFT -- отображать, передавать и продавать через аукционы.

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4