Introdução ao ENS

O Ethereum Name Service (ENS) é um sistema de nomenclatura distribuído, aberto e escalonável baseado no blockchain Ethereum. A função principal do ENS é analisar nomes legíveis por humanos (como "alice.eth") em identificadores reconhecíveis por computador, como endereços Ethereum, outros endereços de criptomoeda, hashes de conteúdo, metadados, etc. Além disso, o ENS também suporta “resolução reversa”, possibilitando associar metadados (como nomes canônicos ou descrições de interface) a endereços Ethereum.

Função e arquitetura do ENS

O objetivo do ENS é semelhante ao do Internet Name Service (DNS), mas devido às características funcionais e limitações do blockchain Ethereum, a arquitetura do ENS é muito diferente do DNS. ENS é um sistema de nomenclatura hierárquico, com pontos como separadores entre os níveis, e cada nível é chamado de domínio. O proprietário de um domínio tem controle total sobre seus subdomínios.

Os proprietários de nomes de domínio de nível superior (como “.eth” e “.test”) são contratos inteligentes chamados “registradores”. As regras para atribuição de subdomínios são definidas nestes contratos. Qualquer pessoa pode apropriar-se de um nome de domínio e configurá-lo conforme necessário, seguindo as regras estipuladas nestes contratos. O ENS também suporta a conexão de nomes de domínio DNS existentes ao sistema ENS para expandir suas funções.

Devido à estrutura hierárquica do ENS, qualquer pessoa que possua um domínio em um determinado nível pode criar e configurar subdomínios para si ou para terceiros. Por exemplo, se Alice possuir "alice.eth", ela poderá criar "pay.alice.eth" e configurá-lo conforme necessário.

Implantação e uso do ENS

O ENS é implantado na rede principal Ethereum e em várias redes de teste. Se você usar a biblioteca Javascript ensjs ou um aplicativo de usuário final, essas ferramentas detectarão e interagirão automaticamente com a rede apropriada.
 

Arquitetura ENS

O ENS possui dois componentes principais: registro e analisador.
 

Introdução ao registro ENS

O registro ENS é um contrato inteligente que mantém uma lista de todos os nomes e subnomes e armazena três informações importantes sobre cada nome:

  1. nome proprietário

  2. analisador de nomes

  3. O tempo de vida do cache (TTL) de todos os registros sob o nome

O proprietário do nome pode ser uma conta externa (usuário) ou um contrato inteligente. O registrador atua como um contrato inteligente que contém um nome de nível superior e atribui subnomes desse nome aos usuários de acordo com as regras do contrato.

Funções de registro do ENS

Os proprietários de nomes no registro do ENS têm as seguintes permissões:

  1. Definir resolvedor e TTL: os proprietários podem especificar um resolvedor e definir um TTL para seu nome.

  2. Transferir propriedade: O proprietário pode transferir a propriedade do nome para outro endereço.

  3. Alterar propriedade de subnomes: os proprietários podem gerenciar e modificar a propriedade de subnomes.

O principal objetivo do registro ENS é mapear nomes para os resolvedores responsáveis ​​por resolver esse nome. Resolvedores são contratos inteligentes responsáveis ​​por converter nomes em endereços. Qualquer contrato inteligente que atenda aos padrões relacionados ao analisador pode ser usado como analisador no ENS. Para usuários cujas necessidades são simples e não mudam de endereço com frequência, um resolvedor universal pode ser usado.

função de analisador

Cada tipo de registro (como endereço Ethereum, hash de conteúdo, etc.) define um conjunto de métodos que o analisador deve implementar para fornecer o registro correspondente. Novos tipos de registro podem ser definidos a qualquer momento por meio do processo de padronização EIP, portanto, nenhuma alteração no registro do ENS ou nos analisadores existentes é necessária para dar suporte a novos tipos de registro.

A resolução de um nome no ENS requer duas etapas:

  1. Consulte o registro: primeiro, consulte o registro para determinar qual resolvedor é responsável por resolver o nome.

  2. Consulte o analisador: em seguida, consulte o analisador para obter os resultados da análise.

Vantagens e aplicações do ENS

O registro e o analisador do ENS são projetados para simplificar o gerenciamento de endereços complexos, permitindo que os usuários convertam facilmente nomes legíveis por humanos em identificadores legíveis por computador. Esse design não apenas melhora a experiência do usuário, mas também oferece grande flexibilidade e escalabilidade, tornando o ENS uma ferramenta poderosa para sistemas de nomenclatura blockchain.
 

Mecanismo de namehash

Em contratos inteligentes, interagir diretamente com nomes legíveis por humanos é ineficiente devido a restrições de recursos. Portanto, o ENS usa um hash criptográfico de 256 bits de comprimento fixo para processar nomes. Esse algoritmo de hash é chamado Namehash e foi projetado para gerar valores de hash exclusivos com uma estrutura hierárquica. Por exemplo, o Namehash de "alice.eth" é 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec. Dentro do ENS, Namehash é usado para representar nomes.

O processo recursivo de Namehash

Namehash é um processo recursivo que gera um valor hash exclusivo para qualquer nome válido. Começando com o namehash de um nome (como "alice.eth"), o namehash de qualquer subnome (como "iam.alice.eth") pode ser derivado sem a necessidade de lidar ou conhecer o nome original legível por humanos "alice .eth" . Esse recurso permite que o ENS gerencie com eficiência sua hierarquia sem ter que lidar internamente com cadeias de texto legíveis por humanos.

processo de normalização

Antes de fazer hash com Namehash, os nomes devem ser normalizados. Este processo baseia-se no padrão UTS-46, que garante que as letras nos nomes não diferenciam maiúsculas de minúsculas e não permite caracteres inválidos. Qualquer hash e análise de nomes deve primeiro ser normalizada para garantir resultados consistentes em todo o sistema ENS para todos os usuários.

Importância do Namehash

O design do Namehash desempenha um papel importante nos seguintes aspectos:

  1. Eficiência: o ENS permite o processamento eficiente em contratos inteligentes, convertendo nomes legíveis em hashes de comprimento fixo.

  2. Hierarquia: Namehash permite a geração recursiva de hashes de subnomes, apoiando o gerenciamento hierárquico do ENS.

  3. consistência: por meio do processo de normalização, garanta que todos os usuários obtenham resultados consistentes ao processar nomes no ENS.
    Aplicação de Namehash

No sistema ENS, Namehash é amplamente utilizado:

  1. Registro de nome: quando um usuário registra um nome, o ENS usa Namehash para converter o nome em um valor hash para armazenamento e gerenciamento.

  2. Resolução de nomes: ao resolver nomes, o ENS realiza pesquisa e correspondência rápida e eficiente com base no Namehash do nome.

  3. Gerenciamento de subnomes: Através da natureza recursiva do Namehash, os usuários podem gerenciar facilmente subnomes de seus nomes sem ter que lidar com sequências de texto complexas.

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