Introducción a la ENS

El Ethereum Name Service (ENS) es un sistema de nombres distribuido, abierto y escalable basado en la cadena de bloques Ethereum. La función principal de ENS es analizar nombres legibles por humanos (como "alice.eth") en identificadores reconocibles por computadora, como direcciones de Ethereum, otras direcciones de criptomonedas, hashes de contenido, metadatos, etc. Además, ENS también admite la "resolución inversa", lo que permite asociar metadatos (como nombres canónicos o descripciones de interfaz) con direcciones de Ethereum.

Función y arquitectura de ENS

El objetivo de ENS es similar al Servicio de nombres de Internet (DNS), pero debido a las características funcionales y limitaciones de la cadena de bloques Ethereum, la arquitectura de ENS es muy diferente de DNS. ENS es un sistema de nombres jerárquico, con puntos como separadores entre niveles, y cada nivel se denomina dominio. El propietario de un dominio tiene control total sobre sus subdominios.

Los propietarios de nombres de dominio de nivel superior (como “.eth” y “.test”) son contratos inteligentes llamados “registradores”. Las reglas para la asignación de subdominios se definen en estos contratos. Cualquiera puede tomar posesión de un nombre de dominio y configurarlo según sea necesario, siguiendo las reglas estipuladas en estos contratos. ENS también admite la conexión de nombres de dominio DNS existentes al sistema ENS para ampliar sus funciones.

Debido a la estructura jerárquica de ENS, cualquiera que posea un dominio en un determinado nivel puede crear y configurar subdominios para sí mismo o para otros. Por ejemplo, si Alice posee "alice.eth", puede crear "pay.alice.eth" y configurarlo según sea necesario.

Implementación y uso de ENS

ENS se implementa en la red principal de Ethereum y en múltiples redes de prueba. Si utiliza la biblioteca Javascript ensjs o una aplicación de usuario final, estas herramientas detectarán e interactuarán automáticamente con la red adecuada.
 

arquitectura ENS

ENS tiene dos componentes principales: registro y analizador.
 

Introducción al registro ENS

El registro ENS es un contrato inteligente que mantiene una lista de todos los nombres y subnombres y almacena tres datos clave sobre cada nombre:

  1. nombre propietario

  2. analizador de nombres

  3. El tiempo de vida de la caché (TTL) de todos los registros bajo el nombre

El propietario del nombre puede ser una cuenta externa (usuario) o un contrato inteligente. El registrador actúa como un contrato inteligente que tiene un nombre de nivel superior y asigna subnombres de ese nombre a los usuarios de acuerdo con las reglas del contrato.

Funciones del registro ENS

Los propietarios de nombres en el registro ENS tienen los siguientes permisos:

  1. Establecer resolución y TTL: los propietarios pueden especificar una resolución y establecer un TTL para su nombre.

  2. Transferir propiedad: el propietario puede transferir la propiedad del nombre a otra dirección.

  3. Cambiar la propiedad de los subnombres: los propietarios pueden administrar y modificar la propiedad de los subnombres.

El objetivo principal del registro ENS es asignar nombres a los solucionadores responsables de resolver ese nombre. Los solucionadores son contratos inteligentes responsables de convertir nombres en direcciones. Cualquier contrato inteligente que cumpla con los estándares relacionados con el analizador se puede utilizar como analizador en ENS. Para los usuarios cuyas necesidades son simples y no cambian de dirección con frecuencia, se puede utilizar un solucionador universal.

función de analizador

Cada tipo de registro (como dirección de Ethereum, hash de contenido, etc.) define un conjunto de métodos que el analizador debe implementar para proporcionar el registro correspondiente. Se pueden definir nuevos tipos de registros en cualquier momento a través del proceso de estandarización de EIP, por lo que no se requieren cambios en el registro ENS ni en los analizadores existentes para admitir nuevos tipos de registros.

Resolver un nombre en ENS requiere dos pasos:

  1. Consultar el registro: primero, consulte el registro para determinar qué solucionador es responsable de resolver el nombre.

  2. Consultar el analizador: luego, consulte el analizador para obtener los resultados del análisis.

Ventajas y aplicaciones de ENS

El registro y la resolución de ENS están diseñados para simplificar la gestión de direcciones complejas, permitiendo a los usuarios convertir fácilmente nombres legibles por humanos en identificadores legibles por computadora. Este diseño no solo mejora la experiencia del usuario, sino que también proporciona una gran flexibilidad y escalabilidad, lo que convierte a ENS en una poderosa herramienta para los sistemas de nombres blockchain.
 

Mecanismo de hash de nombre

En los contratos inteligentes, interactuar directamente con nombres legibles por humanos es ineficiente debido a limitaciones de recursos. Por lo tanto, ENS utiliza un hash criptográfico de 256 bits de longitud fija para procesar nombres. Este algoritmo hash se llama Namehash y está diseñado para generar valores hash únicos con una estructura jerárquica. Por ejemplo, el Namehash de "alice.eth" es 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec. Dentro de ENS, Namehash se utiliza para representar nombres.

El proceso recursivo de Namehash

Namehash es un proceso recursivo que genera un valor hash único para cualquier nombre válido. Al comenzar con el namehash de un nombre (como "alice.eth"), se puede derivar el namehash de cualquier subnombre (como "iam.alice.eth") sin tener que lidiar con o conocer el nombre original legible por humanos "alice .eth". Esta característica permite a ENS administrar eficientemente su jerarquía sin tener que manejar internamente cadenas de texto legibles por humanos.

proceso de normalización

Antes del hash con Namehash, los nombres deben normalizarse. Este proceso se basa en el estándar UTS-46, que garantiza que las letras de los nombres no distingan entre mayúsculas y minúsculas y no permita caracteres no válidos. Cualquier hash y análisis de nombres primero debe normalizarse para garantizar resultados consistentes en todo el sistema ENS para todos los usuarios.

Importancia de Namehash

El diseño de Namehash juega un papel importante en los siguientes aspectos:

  1. Eficiencia: ENS permite un procesamiento eficiente en contratos inteligentes al convertir nombres legibles en hashes de longitud fija.

  2. Jerarquía: Namehash permite la generación recursiva de hashes de subnombres, lo que respalda la gestión jerárquica de ENS.

  3. consistencia: A través del proceso de normalización, asegúrese de que todos los usuarios obtengan resultados consistentes al procesar nombres en ENS.
    Aplicación de Namehash

En el sistema ENS, Namehash se usa ampliamente:

  1. Registro de nombre: cuando un usuario registra un nombre, ENS utiliza Namehash para convertir el nombre en un valor hash para almacenamiento y administración.

  2. Resolución de nombres: al resolver nombres, ENS realiza búsquedas y coincidencias rápidas y eficientes basadas en el Namehash del nombre.

  3. Gestión de subnombres: gracias a la naturaleza recursiva de Namehash, los usuarios pueden gestionar fácilmente los subnombres de sus nombres sin tener que lidiar con cadenas de texto complejas.

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