¿Qué es Ethereum Name Service?
El funcionamiento de ENS se encuentra enmarcado bajo una serie de contratos inteligentes (smart contracts) en la blockchain Ethereum. Son estos los que se encargan de llevar todas las funciones dentro de esta plataforma de una manera clara y exhaustiva.
En pocas palabras, ENS es autónomo desde su propia base de funcionamiento, permitiéndonos interactuar con el sistema sin intermediarios. Así podemos registrar tanto el dominio principal como los subdominios al mismo tiempo que se obtienen los detalles acerca de sus propietarios. Pero también, procesan el cambio del lenguaje, lo que convierte a las direcciones (dirección Ethereum) en un lenguaje más entendible. Y al mismo tiempo, se asegura el cumplimiento de los acuerdos establecidos dentro del sistema.
De esta forma, este sistema permite el control al propietario de todos los derivados del dominio principal. Gracias a esto es posible que este pueda crear de manera práctica un sin fin de herramientas de desarrollo que vengan intrínsecamente relacionadas al dominio principal, lo que permite tener una identificación rápida de toda la información. Y al mismo tiempo, se pone en manos de los propietarios la oportunidad de crear de manera libre el contenido que deseen.
Así mismo, al hacer uso de los contratos inteligentes de Ethereum es mucho más confiables por su privacidad y resistencia a la censura, al mismo tiempo que permite una interacción con diferentes contratos inteligente que no se encuentren dentro de la denominación.
La estructura de Ethereum Name Service
El sistema que hace funcionar ENS consta de tres componentes esenciales que son:
- ENS Registry
- Resolvers
- Registrars
En este punto, la labor del ENS Registry, es mantener una lista de todos los dominios y subdominios. Es nuestro punto de control y almacenamiento de información, para evitar que existan dos dominios usando el mismo nombre, pero apuntando a dos direcciones distintas.
En cada uno de los registros podemos ver la siguiente información: el dueño del dominio, el Resolver asociado al dominio, y el TTL (Time To Live o Tiempo de Vida). El primer dato (dueño del dominio) está expresado por una dirección Ethereum o la dirección de un smart contract. Son ellos los que tienen los permisos necesarios para manejar el registro. Esto incluye la capacidad de indicar el Resolver, el TTL, o la capacidad de transferir la propiedad del dominio a otra dirección, además de cambiar la propiedad de los subdominios.
Por otro lado, tenemos a los Resolvers, que son una serie de smart contracts, cuya función es realizar las búsquedas de los recursos asociados a los nombres de dominio. Básicamente su trabajo es dirigir el tráfico y llevarnos a los recursos que deseamos. Estos recursos asociados a los nombres de dominio pueden ser desde una dirección de contrato, un hash, o direcciones IP, entre otros.
Finalmente tenemos a los Registrars, que son los smart contracts que poseen los dominios y emiten subdominios de los dominios a los usuarios siguiendo un conjunto de reglas definidas en dichos contratos.
De estos existen tres subcategorías, cada una de ellas con una tarea en específico. El Permanent Registrar, implementa la asignación y la renovación de nombres en el dominio “.eth”. El Test Registrar por su parte implementa la asignación de nombres de prueba para ser usados en las redes de prueba de Ethereum. Y finalmente tenemos el Reserve Registrar, este último se encarga de gestionar la resolución inversa en ENS.