Informes

Ethereum Name Service

DecentraLAB.tech

El objetivo de este proyecto es construir un sistema de registro de dominio (DNS) completamente descentralizado e identidad soberana. Para ello, la ENS hace uso de la tecnología Ethereum y tokens ERC-721 para crear un directorio único de identidades y datos que pueden ser consultados y verificados públicamente.

Pero, ¿qué hay detrás de todo esto? ¿Cómo puede ayudarnos y cómo puede este proyecto cambiar la forma en que interactuamos con blockchain y los servicios fuera de ella?

Comienzos del proyecto Ethereum Name Services (ENS)

Antes de profundizar en el ENS, es necesario primero saber qué es un DNS. El sistema DNS es una de las tecnologías fundamentales en el funcionamiento de Internet. Gracias a este sistema podemos encontrar rápidamente la dirección IP de un servicio o página web a la que queremos acceder.

Recordemos que existen miles de millones de dispositivos conectados a Internet y cada uno de estos dispositivos se comunica con otro a través de una dirección que es posible mediante el protocolo TCP/IP. TCP es un protocolo de transmisión de datos, es decir, permite que la computadora sepa cómo, cuándo y de qué forma enviar datos a otra computadora conectada a Internet. Mientras que IP (Dirección de Protocolo de Internet), es una serie de números que identifican de manera única a cada computadora en esa red. 

Estas direcciones IP (al menos en la versión 4 o IPv4, ya que las IPv6 son completamente diferentes), se escriben como cuatro conjuntos de números que van del 0 al 255, usando el formato xxxx Así, por ejemplo, una IP válida para una computadora sería la Dirección IPv4, 142.250.64.142, que pertenece a YouTube.

Pero, ¿cómo es posible que “youtube.com” se convierta en 142.250.64.142? Pues ahí es donde entran en acción los DNS, ya que actúan como si fuera una guía telefónica o una plataforma que se dedica a traducir los nombres de un sitio web en una IP con la que ubicar el servidor web. Esto permite a los usuarios acceder rápida y fácilmente a los servicios alojados en servidores conectados a Internet. Y, al igual que los números en una guía telefónica, las direcciones IP deben registrarse para que puedan ubicarse y entregarse a cualquier persona que las solicite. Así son las DNS la “guía de direcciones de Internet”, una guía muy práctica, ya que si no existiera tendríamos que recordar todos esos números para poder acceder a nuestros sitios favoritos.

Ahora, esto del DNS y las direcciones IP que almacenan se parece mucho a las redes blockchain. Cuando envías criptomonedas a una dirección, esto podría traducirse como “obtener el dinero que envías a X dirección dada”. Y si bien no se trata de enviar datos de un nodo a otro nodo específico, el concepto se puede extrapolar para que nos sea útil de otras maneras. Por ejemplo, un protocolo DeFi se compone de cientos de contratos inteligentes, contratos inteligentes que interactúan con otros, cada uno con su propia dirección. Esto hace que sea una tarea compleja mantener todo este sistema, porque después de todo estamos acostumbrados a leer simplemente palabras, pero no direcciones de criptomonedas como serían: 0x9d74a588ee218ce229becb41bcca40b38a96d836, y mucho menos cientos de ellas.

En ese caso, ¿por qué no registrar nombres legibles y asociarlos a una dirección específica para facilitar esta tarea? Eso es precisamente lo que hace ENS. Ethereum Name Service (ENS) nació como un gran sistema descentralizado que funciona sobre Ethereum y su función es la misma que la de un DNS. Básicamente, sirve como un gran cuaderno o contenedor para cualquier información. Una información que se almacena en la cadena de bloques de Ethereum y que podemos referenciar y buscar libremente y sin censura.

Ethereum Name Service es un proyecto que comenzó en 2016 impulsado por Nick Johnson y Alex Van de Sande. Sin embargo, no fue hasta abril de 2018, cuando se lanzó públicamente el servicio. Desde entonces, ENS se ha convertido en uno de los servicios de DNS y de identidad soberana más grandes del mundo de las criptomonedas.

Objetivo del proyecto Ethereum Name Services (ENS)

El principal objetivo de Ethereum Name Services (ENS) es proporcionar la infraestructura necesaria para la construcción de servicios Web 3.0 mucho más accesibles y fáciles de usar, junto con la construcción de una infraestructura que sirva para controlar la identidad soberana, las direcciones personales de blockchain. o negocio. 

Así, así como el DNS se convirtió en parte fundamental de Internet, la ENS busca convertirse en parte fundamental para la construcción de la Web 3.0 y sus servicios, siendo un hub descentralizado que permita la conexión de diferentes partes de la red para aprovechar la todo el potencial de la tecnología Web 3.0, al tiempo que mejora su seguridad y facilidad de uso.

¿Por qué necesitamos DNS sobre blockchain?

Sin embargo, este objetivo de ENS nos lleva a plantearnos la pregunta: ¿Por qué necesitamos servicios de DNS en blockchain? Sabemos que una cadena de bloques es una estructura de datos accesible, verificable y descentralizada. Por lo tanto, los datos de la red se replican en cada nodo de la red sin necesidad de una autoridad central. Todos tienen la posibilidad de leer su contenido, agregar datos e incluso unirse a la red.

En el sistema DNS actual esto funciona de forma más o menos similar, excepto que el sistema no está completamente centralizado, sino federado. Así, cada red (formada por ISPs o Proveedores de Servicios de Internet) es capaz de ejecutar servicios DNS de los que dependen sus usuarios. En pocas palabras, los ISP tienen el control total del DNS y, por lo tanto, de lo que sus usuarios pueden o no pueden acceder desde sus redes. 

De ahí que en muchos gobiernos o empresas, la forma más fácil de censurar algo “molesto” es reescribir los registros DNS a los que pueden acceder los usuarios para negarles el acceso al sitio o servicio que buscan. Este es un bug en el sistema DNS de Internet, un bug conocido que no tiene solución, salvo cambiar el DNS o ejecutar uno propio, aunque no es una solución completa, ya que:

  1. En el primer caso, sigues dependiendo de un tercero.
  2. Ejecutar un servidor DNS totalmente autoritativo es complejo y no lo salva de que un gobierno o compañía determinado simplemente prohíba su acceso al servicio de replicación de DNS que utiliza.

Aquí es donde entra en juego el DNS sobre blockchain. Dado que toda la información de DNS se registra en la cadena de bloques, basta con ejecutar un nodo completo de la red para tener acceso a todos los registros de DNS que se almacenan en dicha cadena de bloques. Puede explorar y usar esos registros cuando lo desee, y mantenerlos actualizados depende solo de mantener su nodo conectado. Además, puedes usar una VPN, servicios como Tor o I2P, SSH Socks5, Proxies o cualquier otro medio para mantener activa esa sincronización en todo momento, incluso si la empresa o el gobierno usa medios activos y pasivos para evitarlo.

Después de todo, la tecnología blockchain satisface varias necesidades de DNS, entre las que destacamos:

  • Disponibilidad. Una red descentralizada de igual a igual no se puede detener. Podría reemplazar o complementar las infraestructuras de Anycast.
  • Integridad. El protocolo de consenso de una Blockchain garantiza, por naturaleza, la integridad de los datos. Además, los datos no se pueden modificar. Estas propiedades eliminarían la necesidad de DNSSEC y su famosa ceremonia de renovación de claves.
  • Confidencialidad. Las solicitudes realizadas para leer datos de Blockchain se pueden encapsular en un canal HTTPS. Esto funciona de la misma manera que el protocolo DNS sobre HTTPS (DoH). Hoy en día, hay pocos resolutores de DoH, por lo que el tráfico se centraliza en torno a un número limitado de actores. El uso de Blockchain ofrecería la posibilidad de consultar cualquier nodo de la red, limitando así la centralización y el SPF (punto único de falla).
  • Los datos incluidos en los archivos de zona DNS, es decir, las configuraciones de los nombres de dominio, podrían por tanto distribuirse en una cadena de bloques. Así, cada actor (registros, registradores) podría interactuar directamente con esta cadena de bloques para gestionar los nombres de dominio. Esta es la idea de DNS en Blockchain.
  • Capacidad para crear nuevas zonas y dominios, y trabajar de forma complementaria al sistema DNS actual. Usando esta tecnología, es posible asociar nombres de dominio adicionales a los existentes e incluso es posible que el sistema complemente el DNS actual. Los nombres de dominio (TLD) como .bit, .zil, .crypto, .eth, son solo una muestra de esta capacidad. Además, también se pueden utilizar tecnologías equivalentes a DNSSEC o DoH para garantizar la idoneidad de los datos y servicios.

¿Cómo funcionan los servicios de nombres de Ethereum (ENS)?

Ethereum Name Services (ENS) funciona gracias a una serie de contratos inteligentes en la cadena de bloques de Ethereum. El sistema es bastante simple: los contratos inteligentes de ENS permiten a los usuarios interactuar con el sistema a través de una poderosa DApp en la que pueden capturar todos los datos que desean registrar dentro del sistema.

Así, en pocas palabras, la ENS es autónoma desde su propia base de operaciones. El ENS permite la interacción directa entre los usuarios y el sistema de registro, permitiendo el registro de nombres de dominio, direcciones y otros datos, directamente, y traduciendo todos estos datos a lenguaje natural.

La estructura del Servicio de nombres de Ethereum (ENS)

El ENS debe su funcionamiento a tres puntos, que son:

  1. Registro ENS
  2. solucionadores
  3. Registro

El Registro de la ENS tiene por objeto mantener una lista de los dominios y subdominios registrados en el sistema. Básicamente, se encarga de controlar el almacenamiento de la información para evitar la existencia de dos dominios con el mismo nombre, pero apuntando a dos direcciones diferentes. Básicamente, este sistema es un administrador de dominios y se encarga de mantener la primera línea de seguridad dentro del sistema.

 

Por otro lado, el Resolver es una serie de contratos inteligentes. Su función es buscar recursos asociados a nombres de dominio. Es decir, un Resolutor es el encargado de recibir la solicitud de búsqueda de un nombre de dominio, realizar dicha búsqueda y otorgar los datos que se han almacenado en el sistema. Así, los Resolvers buscan dirigir el tráfico y llevarnos a los recursos que queremos. Estos recursos asociados a los nombres de dominio pueden ser de una dirección de contrato, un hash o direcciones IP, entre otros.

Finalmente, tenemos los Registrars, que son los contratos inteligentes que poseen los dominios y emiten subdominios de los dominios a los usuarios siguiendo un conjunto de reglas definidas en dichos contratos.

¿Cómo utilizar los servicios de nombres de Ethereum (ENS)?

Usar ENS es bastante simple, solo tenga una billetera MetaMask configurada e ingrese a la DApp de ENS.

A partir de ahí, si desea registrar un dominio o identidad, simplemente debe indicar la identidad a registrar (por ejemplo: bit2meacademy.eth) y aparecerá:

En este caso, como puede ver, la dirección para registrarse está disponible y el costo de un registro. Por ejemplo, por 1 año, ese costo es de $16,52 y se debe pagar en ETH. Desde aquí puede registrar el nombre que desee, solo debe ingresar el nombre y hacer clic en “Solicitar registro”. Esto inicia el inicio del registro del dominio que desea registrar.

En este punto solo tendrás que completar el pago de la comisión y el pago de la inscripción para finalizar el proceso.

¿Qué opinan sobre ETHEREUM NAME SERVICE? ¡Comparta sus ideas y comentarios en nuestro chat de Telegram!