К основному содержимому

Введите слово из вопроса или названия статьи.

2 · Практика

ENS: читаемые имена вместо длинных адресов Ethereum

Что такое ENS и имена .eth, как имя превращается в адрес, чем это удобно и опасно, как работают обратное разрешение и субдомены, и как проверять адрес.

3 мин чтенияОбновлено:
В этой статье

Адрес 0x6462DDDc0a3D893A7C17f94410e2d27162a390aD невозможно запомнить, а ошибка в одном символе стоит денег. ENS (Ethereum Name Service) решает это так же, как DNS в обычном интернете: вместо числового адреса вы пользуетесь именем вида anna.eth. Основы про адреса - в статье кошелёк и ключи.

Аналогия с DNS

Когда вы открываете сайт, браузер спрашивает службу DNS: «какой IP у example.com?» ENS делает то же самое для блокчейна: «какой адрес у anna.eth?» Разница в том, что реестр имён - это смарт-контракт, а владеет именем тот, кто контролирует соответствующий кошелёк, а не регистратор.

Как это устроено

  1. Реестр (Registry) - контракт, хранящий для каждого имени владельца и «резолвер».
  2. Резолвер (Resolver) - контракт, который отвечает на вопрос «какой адрес у имени?». Он хранит и другие записи: адреса в других сетях, текст, ссылку на сайт, аватар.
  3. Регистратор (Registrar) - контракт, продающий имена .eth на срок (обычно по годам) за плату.

Имя превращается в идентификатор через namehash - рекурсивное применение хеш-функции: так что anna.eth превращается в 32-байтовое число, по которому реестр находит запись.

Имена .eth - это NFT (обзор токенов): имя можно передать, продать или подарить.

Что можно хранить в имени

  • адрес для получения ETH и токенов;
  • адреса в других сетях;
  • текстовые записи: email, сайт, Twitter, описание;
  • аватар;
  • хеш содержимого для децентрализованного сайта.

Обратное разрешение

Помимо «имя в адрес» есть обратная запись: «адрес в имя». Благодаря ей обозреватели блоков и приложения показывают anna.eth вместо длинной строки. Владелец адреса сам выбирает основное имя для него.

Субдомены

Владелец company.eth может раздавать anna.company.eth, bob.company.eth - без повторной регистрации. Компании используют это для сотрудников и проектов.

Удобство и риски

Удобно:

  • легко запомнить и продиктовать;
  • меньше шансов ошибиться при вводе;
  • один профиль на разные сервисы.

Риски:

  • Имя можно сменить. Владелец может изменить адрес, на который оно указывает. Если вы сохранили anna.eth в адресной книге, сегодня и завтра он может вести на разные адреса.
  • Срок действия. Если владелец не продлил регистрацию, имя истекает и его может занять кто-то другой.
  • Похожие имена. anna.eth и annа.eth (с кириллической «а») выглядят одинаково. Это омограф-атака; хорошие кошельки показывают предупреждения, но не все.
  • Подмена на стороне интерфейса. Если вы работаете через ненадёжный сайт, он может показать одно имя и отправить на другой адрес.

Как получить имя и сколько это стоит

Имена .eth регистрируют через официальное приложение ENS (проверяйте адрес сайта по закладке или документации: подделки здесь частое явление, см. фишинг).

  1. Проверьте, свободно ли имя.
  2. Выберите срок регистрации (от одного года).
  3. Подтвердите две транзакции: сначала «обязательство» (commit), затем, после короткого ожидания около минуты, саму регистрацию (register). Такая схема нужна, чтобы наблюдатель в mempool не успел перехватить желаемое имя (MEV и фронтраннинг).
  4. Установите основное имя для вашего адреса (обратная запись) - ещё одна транзакция.

Стоимость зависит от длины имени: чем оно короче, тем дороже в год. По последним известным данным, имена от пяти символов стоят порядка нескольких долларов в год, а совсем короткие - значительно дороже; точные цены уточняйте в приложении. К этому добавляется газ за каждую транзакцию. Не забывайте продлевать имя: после окончания срока и льготного периода оно становится доступно всем.

ENS и сделки

В контракте эскроу всегда хранятся именно адреса, а не имена (как устроена оферта). Имя - лишь удобная оболочка в интерфейсе. Поэтому, договариваясь о сделке, сторонам полезно сверить итоговые адреса контрагента и гаранта.

Пример

Анна и Борис договариваются о сделке. Борис диктует свой адрес по телефону: сорок два символа - это почти гарантированная ошибка. Вместо этого он говорит: «Мой адрес - boris.eth». Анна вводит имя, кошелёк показывает адрес 0x3b1…, а Борис сверяет его в своём кошельке: совпадает. Сделку можно создавать.

Что почитать дальше

Больше о том, как мошенники пользуются похожими адресами, - в статье фишинг и отравление адресов. Чтобы быстро найти адрес в блокчейне, - обозреватель блоков.

Упоминается в статьях

Готовы попробовать?

Создайте первую сделку за пару минут. Деньги блокируются в смарт-контракте и выплачиваются по правилам, которые видны заранее.