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 mapear nombres legibles por humanos como «alice.eth» con identificadores legibles por máquina como direcciones de Ethereum, otras direcciones de criptomonedas, hashes de contenido y metadatos. ENS también admite «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 el DNS, ENS opera en un sistema de nombres jerárquicos separados por puntos llamados dominios, y el propietario de un dominio tiene control total sobre los subdominios.
Los dominios de nivel superior, como «.eth» y «.test», son propiedad de contratos inteligentes llamados registradores, que especifican las reglas que rigen la asignación de sus subdominios. Cualquiera puede, siguiendo las reglas impuestas por estos contratos de registro, obtener la propiedad de un dominio para su propio uso. ENS también admite la importación de nombres DNS que ya son propiedad del 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, según lo desee. Por ejemplo, si Alice es propietaria de ‘alice.eth’, puede crear ‘pay.alice.eth’ y configurarlo como desee.