Введение в ENS

Служба имен Ethereum (ENS) — это распределенная, открытая и масштабируемая система именования, основанная на блокчейне Ethereum. Основная функция ENS — анализ удобочитаемых имен (таких как «alice.eth») в распознаваемые компьютером идентификаторы, такие как адреса Ethereum, адреса других криптовалют, хэши контента, метаданные и т. д. Кроме того, ENS также поддерживает «обратное разрешение», позволяя связывать метаданные (например, канонические имена или описания интерфейсов) с адресами Ethereum.

Функция и архитектура ENS

Цель ENS аналогична службе интернет-имен (DNS), но из-за функциональных характеристик и ограничений блокчейна Ethereum архитектура ENS сильно отличается от DNS. ENS — это иерархическая система именования, в которой точки служат разделителями между уровнями, а каждый уровень называется доменом. Владелец домена имеет полный контроль над своими поддоменами.

Владельцами доменных имен верхнего уровня (таких как «.eth» и «.test») являются смарт-контракты, называемые «регистраторами». Правила выделения субдоменов определяются в этих контрактах. Любой желающий может стать владельцем доменного имени и настроить его по мере необходимости, следуя правилам, предусмотренным в этих контрактах. ENS также поддерживает подключение существующих доменных имен DNS к системе ENS для расширения ее функций.

Благодаря иерархической структуре ENS любой владелец домена определенного уровня может создавать и настраивать поддомены для себя или других. Например, если Алиса владеет «alice.eth», она может создать «pay.alice.eth» и настроить его по мере необходимости.

Развертывание и использование ENS

ENS развернут в основной сети Ethereum и нескольких тестовых сетях. Если вы используете библиотеку Javascript ensjs или приложение конечного пользователя, эти инструменты автоматически обнаруживают соответствующую сеть и взаимодействуют с ней.
 

Архитектура ЭНС

ENS состоит из двух основных компонентов: реестра и парсера.
 

Введение в реестр ENS

Реестр ENS — это смарт-контракт, который поддерживает список всех имен и подимен и хранит три ключевые части информации о каждом имени:

  1. имя владельца

  2. анализатор имен

  3. Время жизни кэша (TTL) всех записей под именем

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

Функции реестра ENS

Владельцы имен в реестре ENS имеют следующие разрешения:

  1. Установить преобразователь и срок жизни: владельцы могут указать преобразователь и установить срок жизни для своего имени.

  2. Передача права собственности: владелец может передать право собственности на имя на другой адрес.

  3. Изменение владельца подимен. Владельцы могут управлять и изменять владельца подимен.

Основная цель реестра ENS — сопоставить имена преобразователям, ответственным за разрешение этого имени. Резолверы — это смарт-контракты, отвечающие за преобразование имен в адреса. Любой смарт-контракт, соответствующий стандартам, связанным с парсером, можно использовать в качестве парсера в ENS. Для пользователей, чьи потребности просты и не часто меняют адреса, можно использовать универсальный преобразователь.

функция парсера

Каждый тип записи (например, адрес Ethereum, хеш контента и т. д.) определяет набор методов, которые анализатор должен реализовать для предоставления соответствующей записи. Новые типы записей могут быть определены в любое время в процессе стандартизации EIP, поэтому для поддержки новых типов записей не требуется никаких изменений в реестре ENS или существующих синтаксических анализаторах.

Разрешение имени в ENS требует двух шагов:

  1. Запрос реестра. Сначала выполните запрос реестра, чтобы определить, какой преобразователь отвечает за разрешение имени.

  2. Запросите синтаксический анализатор. Затем запросите у синтаксического анализатора результаты анализа.

Преимущества и применение ENS

Реестр и анализатор ENS предназначены для упрощения управления сложными адресами, позволяя пользователям легко преобразовывать удобочитаемые имена в машиночитаемые идентификаторы. Этот дизайн не только улучшает пользовательский опыт, но также обеспечивает большую гибкость и масштабируемость, что делает ENS мощным инструментом для систем именования блокчейнов.
 

Механизм хеширования имен

В смарт-контрактах прямое взаимодействие с удобочитаемыми именами неэффективно из-за ограничений ресурсов. Поэтому ENS использует 256-битный криптографический хэш фиксированной длины для обработки имен. Этот алгоритм хеширования называется Namehash и предназначен для генерации уникальных значений хеш-функции с иерархической структурой. Например, хэш имени «alice.eth» — 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec. В ENS Namehash используется для представления имен.

Рекурсивный процесс Namehash

Namehash — это рекурсивный процесс, который генерирует уникальное значение хеш-функции для любого допустимого имени. Начав с хеша имени одного имени (например, «alice.eth»), можно получить хэш имени любого подимени (например, «iam.alice.eth») без необходимости иметь дело с исходным удобочитаемым именем «alice» или знать его. .эт" . Эта функция позволяет ENS эффективно управлять своей иерархией без необходимости внутренней обработки удобочитаемых текстовых строк.

процесс нормализации

Перед хешированием с помощью Namehash имена должны быть нормализованы. Этот процесс основан на стандарте UTS-46, который гарантирует, что буквы в именах не чувствительны к регистру и не допускают недопустимых символов. Любое хеширование и анализ имен сначала необходимо нормализовать, чтобы обеспечить согласованность результатов в системе ENS для всех пользователей.

Важность Namehash

Дизайн Namehash играет важную роль в следующих аспектах:

  1. Эффективность: ENS обеспечивает эффективную обработку смарт-контрактов путем преобразования читаемых имен в хэши фиксированной длины.

  2. Иерархия: Namehash позволяет рекурсивно генерировать хеши подимен, поддерживая иерархическое управление ENS.

  3. последовательность: посредством процесса нормализации убедитесь, что все пользователи получают согласованные результаты при обработке имен в ENS.
    Применение Namehash

В системе ENS широко используется Namehash:

  1. Регистрация имени: когда пользователь регистрирует имя, ENS использует Namehash для преобразования имени в хэш-значение для хранения и управления.

  2. Разрешение имен. При разрешении имен ENS выполняет быстрый и эффективный поиск и сопоставление на основе хеша имени.

  3. Управление подименами. Благодаря рекурсивной природе Namehash пользователи могут легко управлять подименами своих имен, не имея дело со сложными текстовыми строками.

#ENS #ordi​​​ #zro #mln #ZEN $ENS $ORDI $ZRO