El Ethereum Name Service (ENS) es un sistema de nombres distribuido, abierto y extensible basado en la cadena de bloques Ethereum.
El trabajo de ENS es asignar nombres legibles por humanos como 'alice.eth' a la máquina. -identificadores legibles como direcciones de Ethereum, otras direcciones de criptomonedas, hashes de contenido y metadatos. 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.
ENS tiene objetivos similares a los de DNS, el servicio de nombres de dominio de Internet, pero tiene una arquitectura significativamente diferente. debido a las capacidades y limitaciones proporcionadas por la cadena de bloques Ethereum. Al igual que DNS, ENS opera en un sistema de nombres jerárquicos separados por puntos llamados dominios, donde el propietario de un dominio tiene control total sobre los subdominios.
Dominios de nivel superior, como '.eth' y '.test ', son propiedad de contratos inteligentes llamados registradores, que especifican reglas que rigen la asignación de sus subdominios. Cualquier persona puede, siguiendo las reglas impuestas por estos contratos de registrador, obtener la propiedad de un dominio para uso propio. ENS también admite la importación de nombres DNS que ya pertenecen al usuario para su uso en ENS.
Debido a la naturaleza jerárquica de ENS, cualquier persona que posea un dominio en cualquier nivel puede configurar subdominios (para sí mismo o para otros) como deseado. Por ejemplo, si Alice posee 'alice.eth', puede crear 'pay.alice.eth' y configurarlo como desee.
ENS se implementa en la red principal de Ethereum y en varias redes de prueba. Si utiliza una biblioteca como la biblioteca Javascript ensjs o una aplicación de usuario final, detectará automáticamente la red con la que está interactuando y utilizará la implementación de ENS en esa red.