Um dos projetos no Ethereum que está ganhando destaque rapidamente no mundo criptográfico é o Ethereum Name Services (ENS).
EO objetivo deste projeto é construir um sistema de registro de domínio (DNS) totalmente descentralizado e identidade soberana. Para fazer isso, a ENS faz uso da tecnologia Ethereum e tokens ERC-721 para criar um diretório único de identidades e dados que podem ser consultados e verificados publicamente.
Mas o que está por trás de tudo isso? Como isso pode nos ajudar e como esse projeto pode mudar a forma como interagimos com o blockchain e serviços fora dele?
Início do projeto Ethereum Name Services (ENS)
Antes de se aprofundar no ENS, é necessário primeiro saber o que é um DNS. O sistema DNS é uma das tecnologias fundamentais no funcionamento da Internet. Graças a este sistema podemos encontrar rapidamente o endereço IP de um serviço ou página web que queremos acessar.
Lembremos que existem bilhões de dispositivos conectados na Internet e cada um desses dispositivos se comunica com outro através de um endereço que é possível utilizando o protocolo TCP/IP. O TCP é um protocolo de transmissão de dados, ou seja, permite que o computador saiba como, quando e de que forma enviar dados para outro computador conectado à Internet. Enquanto IP (Internet Protocol Address), é uma série de números que identificam exclusivamente cada computador nessa rede.
Esses endereços IP (pelo menos na versão 4 ou IPv4, pois IPv6 são completamente diferentes), são escritos como quatro conjuntos de números que variam de 0 a 255, usando o formato xxxx Assim, por exemplo, um IP válido para um computador seria o Endereço IPv4, 142.250.64.142, que pertence ao YouTube.
Mas como é possível que "youtube.com" se torne 142.250.64.142? Bem, é aí que entram em ação os DNS, já que funcionam como se fosse uma lista telefônica ou plataforma dedicada a traduzir os nomes de um site em um IP com o qual localizar o servidor web. Isso permite que os usuários acessem de forma rápida e fácil serviços hospedados em servidores conectados à Internet. E, assim como os números de uma lista telefônica, os IPs devem ser registrados para que possam ser localizados e entregues a quem os solicitar. É assim que o DNS é o "livro de endereços da Internet", um guia muito prático, porque se não existisse teríamos que lembrar de todos esses números para poder acessar nossos sites favoritos.
Agora, essa coisa sobre DNS e os endereços IP que eles armazenam é muito parecido com redes blockchain. Pense nisso por um momento: quando você envia criptomoedas para um endereço, isso pode ser traduzido como “receba o dinheiro que você envia para o endereço X”. E embora não se trate de enviar dados de um nó para outro nó específico, o conceito pode ser extrapolado para ser útil para nós de outras maneiras. Por exemplo, um protocolo DeFi é composto por centenas de contratos inteligentes, contratos inteligentes que interagem entre si, cada um com seu próprio endereço. Isso torna uma tarefa complexa manter todo esse sistema, porque afinal estamos acostumados a simplesmente ler palavras, mas não endereços de criptomoedas como seria: 0x9d74a588ee218ce229becb41bcca40b38a96d836, muito menos centenas deles.
Nesse caso, por que não registrar nomes legíveis e associá-los a um endereço específico para facilitar essa tarefa? É exatamente isso que a ENS faz. O Ethereum Name Service (ENS) nasceu como um grande sistema descentralizado que funciona no Ethereum e sua função é a mesma de um DNS. Basicamente, ele serve como um ótimo notebook ou container para qualquer informação. Uma informação que está armazenada na blockchain Ethereum e que podemos consultar e pesquisar livremente e sem censura.
O Ethereum Name Service é um projeto que começou em 2016 promovido por Nick Johnson e Alex Van de Sande. No entanto, não foi até abril de 2018, quando o serviço foi lançado publicamente. Desde então, o ENS se tornou um dos maiores serviços de identidade e DNS soberana no mundo das criptomoedas.
Objetivo do projeto Ethereum Name Services (ENS)
O principal objetivo do Ethereum Name Services (ENS) é fornecer a infraestrutura necessária para a construção de serviços Web 3.0 muito mais acessíveis e fáceis de usar, juntamente com a construção de uma infraestrutura que serve para controlar a identidade soberana, endereços pessoais de blockchain ou negócios.
Assim, assim como o DNS se tornou parte fundamental da Internet, A ENS pretende tornar-se uma peça fundamental para a construção da Web 3.0 e dos seus serviços, sendo um hub descentralizado que permite a ligação de diferentes partes da rede para aproveitar todo o potencial da tecnologia Web 3.0, enquanto melhora sua segurança e facilidade de uso.
Por que precisamos de DNS sobre blockchain?
No entanto, esse objetivo da ENS nos leva a nos perguntar: Por que precisamos de serviços DNS no blockchain? Sabemos que uma blockchain é uma estrutura de dados acessível, verificável e descentralizada. Assim, os dados da rede são replicados para cada nó da rede sem a necessidade de uma autoridade central. Todos têm a possibilidade de ler seu conteúdo, adicionar dados e até entrar na rede.
No sistema DNS atual, isso funciona de maneira mais ou menos semelhante, exceto que o sistema não é totalmente centralizado, mas federado. Assim, cada rede (formada por ISPs ou Provedores de Serviços de Internet) é capaz de executar serviços DNS dos quais seus usuários dependem. Em poucas palavras, os ISPs têm controle total do DNS e, portanto, do que seus usuários podem ou não acessar de suas redes.
Portanto, em muitos governos ou empresas, a maneira mais fácil de censurar algo "irritante" é reescrever os registros DNS que os usuários podem acessar para negar-lhes o acesso ao site ou serviço que estão procurando. Este é um bug no sistema de DNS da Internet, um bug conhecido que não tem solução, exceto mudar o DNS ou executar o seu próprio, embora esta não seja uma solução completa, pois:
- No primeiro caso, você continua a depender de um terceiro.
- A execução de um servidor DNS totalmente autoritativo é complexo e não o salva de um determinado governo ou empresa simplesmente banir seu acesso ao serviço de replicação de DNS que você usa.
É aqui que entra o DNS sobre blockchain. Como todas as informações de DNS são registradas no blockchain, basta executar um nó completo da rede, para ter acesso a todos os registros de DNS que estão armazenados no referido blockchain. Você pode explorar e usar esses logs sempre que quiser, e mantê-los atualizados depende apenas de manter seu nó conectado. Além disso, você pode usar uma VPN, serviços como Tor ou I2P, SSH Socks5, Proxies ou qualquer outro meio para manter essa sincronização ativa o tempo todo, mesmo que a empresa ou governo use meios ativos e passivos para evitá-la.
Afinal, a tecnologia blockchain atende a diversas necessidades de DNS, dentre as quais destacamos:
- Disponibilidade. Uma rede descentralizada ponto a ponto não pode ser interrompida. Pode substituir ou complementar as infraestruturas Anycast.
- Integridade. O protocolo de consenso de um Blockchain garante, por natureza, a integridade dos dados. Além disso, os dados não podem ser modificados. Essas propriedades eliminariam a necessidade de DNSSEC e sua famosa cerimônia de renovação de chaves.
- Confidencialidade As solicitações feitas para ler os dados do Blockchain podem ser encapsuladas em um canal HTTPS. Isso funciona da mesma maneira que o protocolo DNS sobre HTTPS (DoH). Hoje existem poucos resolvedores de DoH, então o tráfego é centralizado em torno de um número limitado de atores. O uso de um Blockchain ofereceria a possibilidade de consultar qualquer nó da rede, limitando assim a centralização e o SPF (single point of failure).
- Os dados incluídos nos arquivos de zona DNS, ou seja, as configurações dos nomes de domínio, podem, portanto, ser distribuídos em um blockchain. Assim, cada ator (registros, registradores) poderia interagir diretamente com esse blockchain para gerenciar nomes de domínio. Essa é a ideia do DNS em Blockchain.
- Capacidade de criar novas zonas e domínios, e trabalhar de forma complementar ao atual sistema DNS. Utilizando esta tecnologia, é possível associar nomes de domínio adicionais aos existentes e até é possível que o sistema complemente o DNS atual. Nomes de domínio (TLDs), como .bit, .zil, .crypto, .eth, são apenas uma amostra dessa capacidade. Além disso, tecnologias equivalentes a DNSSEC ou DoH também podem ser utilizadas para garantir a adequação dos dados e serviços.
Como funciona o Ethereum Name Services (ENS)?
O Ethereum Name Services (ENS) funciona graças a uma série de contratos inteligentes na blockchain Ethereum. O sistema é bastante simples: os contratos inteligentes ENS permitem que os usuários interajam com o sistema por meio de um poderoso DApp no qual podem capturar todos os dados que desejam registrar no sistema.
Assim, em poucas palavras, o ENS é autônomo de sua própria base de operação. O ENS permite a interação direta entre os usuários e o sistema de registro, permitindo o registro de nomes de domínio, endereços e outros dados, diretamente, e traduzindo todos esses dados em linguagem natural.
A estrutura do Ethereum Name Service (ENS)
A ENS deve o seu funcionamento a três pontos, que são:
- Registro ENS
- Resolvers
- Registradores
O objetivo do Registro do ENS é manter uma lista dos domínios e subdomínios registrados no sistema. Basicamente, ele se encarrega de controlar o armazenamento de informações para evitar a existência de dois domínios usando o mesmo nome, mas apontando para dois endereços diferentes. Basicamente, este sistema é um gerenciador de domínio e é responsável por manter a primeira linha de segurança dentro do sistema.
Por outro lado, o Resolver é uma série de contratos inteligentes. Sua função é buscar recursos associados a nomes de domínio. Em outras palavras, um Resolvedor é responsável por receber a solicitação de pesquisa de um nome de domínio, realizar essa pesquisa e conceder os dados armazenados no sistema. Assim, os Resolvers buscam direcionar o tráfego e nos levar aos recursos que desejamos. Esses recursos associados a nomes de domínio podem ser de um endereço de contrato, um hash ou endereços IP, entre outros.
Por fim, temos os Registradores, que são os contratos inteligentes que possuem os domínios e emitem subdomínios dos domínios aos usuários seguindo um conjunto de regras definidas nos referidos contratos.
Como usar o Ethereum Name Services (ENS)?
Usar o ENS é bem simples, basta ter uma carteira MetaMask configurada e entrar no ENS DApp.
A partir daí, se pretender registar um domínio ou identidade, basta indicar a identidade a registar (ex: bit2meacademy.eth) e aparecerá:
Neste caso, como você pode ver, o endereço para se registrar está disponível e o custo de uma inscrição. Por exemplo, por 1 ano, esse custo é de US$ 16,52 e deve ser pago em ETH. A partir daqui pode registar o nome que pretende, basta introduzir o nome e clicar em “Request To Register”. Isso inicia o início do registro do domínio que você deseja registrar.
Neste momento você só terá que completar o pagamento da comissão e o pagamento da inscrição para finalizar o processo.