O Ethereum Name Service (ENS) é um sistema de nomenclatura distribuído, aberto e extensível baseado na blockchain Ethereum.
O trabalho do ENS é mapear nomes legíveis por humanos, como 'alice.eth', para máquinas. -identificadores legíveis, como endereços Ethereum, outros endereços de criptomoedas, hashes de conteúdo e metadados. O ENS também suporta 'resolução reversa', tornando possível associar metadados, como nomes canônicos ou descrições de interface, a endereços Ethereum.
O ENS tem objetivos semelhantes ao DNS, o serviço de nomes de domínio da Internet, mas tem uma arquitetura significativamente diferente. devido às capacidades e restrições fornecidas pela blockchain Ethereum. Assim como o DNS, o ENS opera em um sistema de nomes hierárquicos separados por pontos chamados domínios, com o proprietário de um domínio tendo controle total sobre os subdomínios.
Domínios de nível superior, como '.eth' e '.test ', são propriedade de contratos inteligentes chamados registradores, que especificam regras que regem a alocação de seus subdomínios. Qualquer pessoa pode, seguindo as regras impostas por estes contratos de registo, obter a propriedade de um domínio para uso próprio. O ENS também oferece suporte à importação de nomes DNS já pertencentes ao usuário para uso no ENS.
Devido à natureza hierárquica do ENS, qualquer pessoa que possua um domínio em qualquer nível pode configurar subdomínios - para si ou para terceiros - como desejado. Por exemplo, se Alice possui 'alice.eth', ela pode criar 'pay.alice.eth' e configurá-lo como desejar.
O ENS é implantado na rede principal Ethereum e em várias redes de teste. Se você usar uma biblioteca como a biblioteca Javascript ensjs ou um aplicativo de usuário final, ela detectará automaticamente a rede com a qual você está interagindo e usará a implantação do ENS nessa rede.