Имя проходит через registry и resolver, а не хранит адрес в строке

ENS связывает имя с публичным адресом через два слоя. Registry сопоставляет namehash с owner, resolver и TTL. Resolver отвечает на запрос записи: например, Ethereum address. Owner может менять resolver, а уполномоченный controller — записи в нём. Поэтому результат resolution — состояние на момент чтения, а не вечная привязка.

Четыре проверки отвечают на разные вопросы
ПроверкаОтветГраница
Owner/managerКто управляет именем или его записямиНе обязательно получатель платежа
ResolverКакой контракт возвращает recordsНе гарантирует неизменность записи
Forward recordКакой адрес сейчас возвращает имяНе подтверждает личность владельца адреса
ExpiryДействует ли регистрация .ethПравила subname могут отличаться
Четыре проверки отвечают на разные вопросы
Проверка
Owner/manager
Ответ
Кто управляет именем или его записями
Граница
Не обязательно получатель платежа
Проверка
Resolver
Ответ
Какой контракт возвращает records
Граница
Не гарантирует неизменность записи
Проверка
Forward record
Ответ
Какой адрес сейчас возвращает имя
Граница
Не подтверждает личность владельца адреса
Проверка
Expiry
Ответ
Действует ли регистрация .eth
Граница
Правила subname могут отличаться

Перед переводом фиксируют имя, сеть и разрешённый адрес

  1. 1
    Проверить точное имя

    Сравните всю строку, включая subname и Unicode; похожее написание может быть другим namehash.

  2. 2
    Выбрать сеть и record type

    ETH address record не доказывает маршрут в другой chain; кошелёк должен явно показать сеть.

  3. 3
    Получить forward result

    Разрешите имя актуальной библиотекой и сохраните полученный адрес до открытия окна подписи.

  4. 4
    Сверить получателя

    Для существенного перевода подтвердите полный адрес через независимый канал или ранее проверенный контакт.

  5. 5
    Проверить итог подписи

    В wallet transaction должен стоять тот же chain и resolved address; при расхождении остановитесь.

Проверка имени дополняет, но не заменяет безопасный перевод: сначала небольшой тест, затем сверка receipt и только после этого основная сумма. Если приложение подменило resolved address между просмотром и подписью, решающим остаётся поле получателя в подписываемой транзакции.

Reverse record принимается только после возврата к тому же адресу

Reverse resolution начинает с адреса и получает preferred name. Официальная спецификация требует затем выполнить forward resolution этого имени и сравнить результат с исходным адресом. Если адреса различаются, интерфейс должен показывать исходную строку, а не неподтверждённое имя.

Почему результат может различаться

  • reverse record настроен, а forward address позже изменён;
  • wallet использует старый cache или не поддерживает нужный resolver;
  • имя разрешается через wildcard либо CCIP Read, который клиент не обработал;
  • проверяется другой coin type, chain context или subname;
  • resolver отсутствует, заменён либо временно не отвечает.

TTL в registry служит подсказкой для кеширования, но клиентская реализация и resolver path тоже влияют на свежесть ответа. Wildcard resolution позволяет resolver обслуживать subnames, которых нет отдельной записью в registry; CCIP Read может получить offchain-данные и проверить их по заданной схеме. Поэтому два устаревших интерфейса способны показать разные результаты, не создавая две onchain-записи.

Expiry .eth и срок subname нельзя смешивать

Для .eth второго уровня на Ethereum mainnet текущая документация ENS указывает 90-дневный grace period после expiry. В этот период имя продолжает разрешаться, прежний owner может сохранить его продлением, а другой человек не может зарегистрировать его. Продлить имя может и третье лицо, но renewal не передаёт ownership.

После grace period имя выходит из прежней регистрации и проходит фазу temporary premium перед обычной доступностью. Subname может зависеть от parent, Name Wrapper fuses, собственного expiry и offchain resolver, поэтому правило 90 дней нельзя автоматически переносить на любую строку с точками.

ENSv2 пока не заменяет mainnet-факты этой проверки

На дату проверки ENSv2 развёрнут в Sepolia, а его contracts и interfaces официально обозначены как не финальные до mainnet deployment. Проверка через RPC-узел или приложение должна учитывать актуальную library и Universal Resolver readiness, но тестовую архитектуру нельзя описывать как уже завершённую миграцию mainnet.

Практический результат проверки должен хранить timestamp, chain, ENS name, resolver и resolved address. Такой снимок объясняет, куда указывало имя перед подписью, но не гарантирует будущую запись и не устанавливает личность. При любой неоднозначности платёж останавливают до повторной сверки.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. ENS Docs — Terminology ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
  2. ENS Docs — Resolution ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
  3. ENS Docs — Registry ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
  4. ENS Support — What is a grace period? ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
  5. ENS Docs — ENSv2 Overview ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.