Имя проходит через 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Проверить точное имя
Сравните всю строку, включая subname и Unicode; похожее написание может быть другим namehash.
- 2Выбрать сеть и record type
ETH address record не доказывает маршрут в другой chain; кошелёк должен явно показать сеть.
- 3Получить forward result
Разрешите имя актуальной библиотекой и сохраните полученный адрес до открытия окна подписи.
- 4Сверить получателя
Для существенного перевода подтвердите полный адрес через независимый канал или ранее проверенный контакт.
- 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. Такой снимок объясняет, куда указывало имя перед подписью, но не гарантирует будущую запись и не устанавливает личность. При любой неоднозначности платёж останавливают до повторной сверки.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- ENS Docs — Terminology ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
- ENS Docs — Resolution ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
- ENS Docs — Registry ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
- ENS Support — What is a grace period? ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
- ENS Docs — ENSv2 Overview ENS Labs · Проверено 19 августа 2026 г. в 20:11 GMT+5
