L'un des projets sur Ethereum qui gagne rapidement en importance dans le monde de la cryptographie est Ethereum Name Services (ENS).
EL'objectif de ce projet est de construire un système d'enregistrement de domaine (DNS) entièrement décentralisé et une identité souveraine. Pour ce faire, ENS utilise la technologie Ethereum et les jetons ERC-721 pour créer un répertoire unique d'identités et de données consultables et vérifiables publiquement.
Pero ¿Qué hay detrás de todo esto? ¿En qué nos puede ayudar y cómo puede cambiar este proyecto la forma en que interactuamos con blockchain y servicios fuera de la misma ?
Les débuts du projet Ethereum Name Services (ENS)
Avant de se plonger dans l'ENS, il faut d'abord savoir ce qu'est un DNS. Le système DNS est l'une des technologies fondamentales dans le fonctionnement d'Internet. Grâce à ce système, nous pouvons trouver rapidement l'adresse IP d'un service ou d'une page Web à laquelle nous souhaitons accéder.
Rappelons qu'il existe des milliards d'appareils connectés sur Internet et que chacun de ces appareils communique avec un autre via une adresse possible grâce au protocole TCP/IP. TCP est un protocole de transmission de données, c'est-à-dire qu'il permet à l'ordinateur de savoir comment, quand et sous quelle forme envoyer des données à un autre ordinateur connecté à Internet. Alors que IP (adresse de protocole Internet) est une série de chiffres qui identifient de manière unique chaque ordinateur sur ce réseau.
Ces adresses IP (au moins dans la version 4 ou IPv4, puisque IPv6 sont complètement différents), sont écrites sous la forme de quatre ensembles de nombres allant de 0 à 255, en utilisant le format xxxx Ainsi, par exemple, une adresse IP valide pour un ordinateur serait la Adresse IPv4, 142.250.64.142, qui appartient à YouTube.
Mais comment est-il possible que "youtube.com" devienne 142.250.64.142 ? Eh bien, c'est là que les DNS entrent en action, car ils agissent comme s'il s'agissait d'un annuaire téléphonique ou d'une plate-forme dédiée à la traduction des noms d'un site Web en une adresse IP avec laquelle localiser le serveur Web. Cela permet aux utilisateurs d'accéder rapidement et facilement aux services hébergés sur des serveurs connectés à Internet. Et, tout comme les numéros dans un annuaire téléphonique, les adresses IP doivent être enregistrées afin qu'elles puissent être localisées et livrées à quiconque en fait la demande. C'est ainsi que le DNS est le "carnet d'adresses Internet", un guide très pratique, car s'il n'existait pas, nous devrions nous souvenir de tous ces numéros pour pouvoir accéder à nos sites préférés.
Maintenant, cette chose à propos du DNS et des adresses IP qu'ils stockent ressemble beaucoup aux réseaux blockchain. Pensez-y un instant : lorsque vous envoyez des crypto-monnaies à une adresse, cela peut se traduire par "recevez l'argent que vous envoyez à X adresse donnée". Et bien qu'il ne s'agisse pas d'envoyer des données d'un nœud à un autre nœud spécifique, le concept peut être extrapolé pour nous être utile d'autres manières. Par exemple, un protocole DeFi est composé de centaines de contrats intelligents, des contrats intelligents qui interagissent avec les autres, chacun avec sa propre adresse. Cela rend la tâche complexe de maintenir l'ensemble de ce système, car après tout, nous sommes habitués à simplement lire des mots, mais pas des adresses de crypto-monnaie comme ce serait : 0x9d74a588ee218ce229becb41bcca40b38a96d836, sans parler de centaines d'entre eux.
Dans ce cas, pourquoi ne pas enregistrer des noms lisibles et les associer à une adresse précise afin de faciliter cette tâche ? C'est précisément ce que fait l'ENS. Ethereum Name Service (ENS) est né comme un grand système décentralisé qui fonctionne sur Ethereum et sa fonction est la même qu'un DNS. Fondamentalement, il sert d'excellent carnet ou de conteneur pour toute information. Une information qui est stockée dans la blockchain Ethereum et que nous pouvons référencer et rechercher librement et sans censure.
Ethereum Name Service est un projet qui a débuté en 2016 promu par Nick Johnson et Alex Van de Sande. Cependant, ce n'est qu'en avril 2018, lorsque le service a été lancé publiquement. Depuis lors, ENS est devenu l'un des plus grands services d'identité souveraine et de DNS dans le monde de la cryptographie.
Objectif du projet Ethereum Name Services (ENS)
L'objectif principal d'Ethereum Name Services (ENS) est de fournir l'infrastructure nécessaire à la construction de services Web 3.0 beaucoup plus accessibles et faciles à utiliser, ainsi que la construction d'une infrastructure qui sert à contrôler l'identité souveraine, les adresses de blockchain personnelles ou entreprise.
Ainsi, tout comme le DNS est devenu un élément fondamental d'Internet, L'ENS cherche à devenir un élément fondamental pour la construction du Web 3.0 et de ses services, étant un hub décentralisé qui permet la connexion de différentes parties du réseau pour tirer pleinement parti du potentiel de la technologie Web 3.0, tout en améliorant sa sécurité et sa facilité d'utilisation.
Pourquoi avons-nous besoin de DNS plutôt que de blockchain ?
Cependant, cet objectif de l'ENS nous amène à nous poser la question : Pourquoi avons-nous besoin de services DNS sur blockchain ? Nous savons qu'une blockchain est une structure de données accessible, vérifiable et décentralisée. Ainsi, les données du réseau sont répliquées sur chaque nœud du réseau sans avoir besoin d'une autorité centrale. Chacun a la possibilité de lire son contenu, d'ajouter des données et même de rejoindre le réseau.
Dans le système DNS actuel, cela fonctionne de manière plus ou moins similaire, sauf que le système n'est pas entièrement centralisé, mais fédéré. Ainsi, chaque réseau (formé par des FAI ou des fournisseurs d'accès à Internet) est capable d'exécuter des services DNS dont dépendent ses utilisateurs. En quelques mots, les FAI ont le contrôle total du DNS et donc de ce à quoi leurs utilisateurs peuvent ou ne peuvent pas accéder depuis leurs réseaux.
Par conséquent, dans de nombreux gouvernements ou entreprises, le moyen le plus simple de censurer quelque chose "d'ennuyeux" est de réécrire les enregistrements DNS auxquels les utilisateurs peuvent accéder pour leur refuser l'accès au site ou au service qu'ils recherchent. Il s'agit d'un bogue dans le système DNS d'Internet, un bogue connu qui n'a pas de solution, sauf changer le DNS ou exécuter le vôtre, bien que ce ne soit pas une solution complète, car :
- Dans le premier cas, vous continuez à dépendre d'un tiers.
- L'exécution d'un serveur DNS faisant pleinement autorité est complexe et ne vous évite pas qu'un gouvernement ou une entreprise déterminés interdisent simplement votre accès au service de réplication DNS que vous utilisez.
C'est là que DNS sur blockchain entre en jeu. Étant donné que toutes les informations DNS sont enregistrées dans la blockchain, il suffit de faire fonctionner un nœud complet du réseau, pour avoir accès à tous les enregistrements DNS qui sont stockés dans ladite blockchain. Vous pouvez explorer et utiliser ces journaux quand vous le souhaitez, et les tenir à jour dépend uniquement de la connexion de votre nœud. En outre, vous pouvez utiliser un VPN, des services tels que Tor ou I2P, SSH Socks5, Proxies ou tout autre moyen pour maintenir cette synchronisation active à tout moment, même si l'entreprise ou le gouvernement utilise des moyens actifs et passifs pour l'éviter.
Après tout, la technologie blockchain répond à plusieurs besoins DNS, parmi lesquels nous soulignons :
- Disponibilité. Un réseau peer-to-peer décentralisé ne peut pas être arrêté. Il pourrait remplacer ou compléter les infrastructures Anycast.
- Intégrité. Le protocole de consensus d'une Blockchain garantit, par nature, l'intégrité des données. De plus, les données ne peuvent pas être modifiées. Ces propriétés élimineraient le besoin de DNSSEC et de sa fameuse cérémonie de renouvellement des clés.
- Confidentialité. Les requêtes faites pour lire les données Blockchain peuvent être encapsulées dans un canal HTTPS. Cela fonctionne de la même manière que le protocole DNS sur HTTPS (DoH). Il existe aujourd'hui peu de résolveurs DoH, donc le trafic est centralisé autour d'un nombre limité d'acteurs. L'utilisation d'une Blockchain offrirait la possibilité d'interroger n'importe quel nœud du réseau, limitant ainsi la centralisation et le SPF (single point of failure).
- Les données incluses dans les fichiers de zone DNS, c'est-à-dire les configurations des noms de domaine, pourraient donc être distribuées sur une blockchain. Ainsi, chaque acteur (registres, bureaux d'enregistrement) pourrait interagir directement avec cette blockchain pour gérer les noms de domaine. C'est l'idée du DNS dans Blockchain.
- Possibilité de créer de nouvelles zones et domaines, et de travailler de manière complémentaire au système DNS actuel. Grâce à cette technologie, il est possible d'associer des noms de domaine supplémentaires à ceux existants et il est même possible que le système complète le DNS actuel. Les noms de domaine (TLD) tels que .bit, .zil, .crypto, .eth ne sont qu'un exemple de cette capacité. De plus, des technologies équivalentes à DNSSEC ou DoH peuvent également être utilisées pour assurer l'adéquation des données et des services.
Comment fonctionnent les services de noms Ethereum (ENS) ?
Ethereum Name Services (ENS) fonctionne grâce à une série de contrats intelligents sur la blockchain Ethereum. Le système est assez simple : les contrats intelligents ENS permettent aux utilisateurs d'interagir avec le système via un puissant DApp dans lequel ils peuvent capturer toutes les données qu'ils souhaitent enregistrer dans le système.
Ainsi, en un mot, l'ENS est autonome par rapport à sa propre base d'opération. ENS permet une interaction directe entre les utilisateurs et le système d'enregistrement, permettant l'enregistrement de noms de domaine, d'adresses et d'autres données, directement, et traduisant toutes ces données en langage naturel.
La structure du service de noms Ethereum (ENS)
L'ENS doit son fonctionnement à trois points, qui sont :
- Registre ENS
- Résolveurs
- Bureaux d'enregistrement
L'objectif du registre ENS est de maintenir une liste des domaines et sous-domaines enregistrés dans le système. Fondamentalement, il est chargé de contrôler le stockage des informations pour éviter l'existence de deux domaines utilisant le même nom, mais pointant vers deux adresses différentes. Fondamentalement, ce système est un gestionnaire de domaine et est responsable du maintien de la première ligne de sécurité au sein du système.
D'autre part, le Resolver est une série de contrats intelligents. Sa fonction est de rechercher les ressources associées aux noms de domaine. En d'autres termes, un Resolver est chargé de recevoir la demande de recherche d'un nom de domaine, d'effectuer ladite recherche et d'accorder les données qui ont été stockées dans le système. Ainsi, les résolveurs cherchent à diriger le trafic et à nous emmener vers les ressources que nous voulons. Ces ressources associées aux noms de domaine peuvent provenir d'une adresse contractuelle, d'un hachage ou d'adresses IP, entre autres.
Enfin, nous avons les bureaux d'enregistrement, qui sont les contrats intelligents qui possèdent les domaines et délivrent des sous-domaines des domaines aux utilisateurs en suivant un ensemble de règles définies dans lesdits contrats.
Comment utiliser les services de noms Ethereum (ENS) ?
L'utilisation de l'ENS est assez simple, il suffit de configurer un portefeuille MetaMask et d'entrer dans l'ENS DApp.
A partir de là, si vous souhaitez enregistrer un domaine ou une identité, il vous suffit d'indiquer l'identité à enregistrer (ex : bit2meacademy.eth) et il apparaîtra :
Dans ce cas, comme vous pouvez le constater, l'adresse pour s'inscrire est disponible ainsi que le coût d'une inscription. Par exemple, pour 1 an, ce coût est de 16,52 $ et doit être payé en ETH. De là, vous pouvez enregistrer le nom que vous voulez, il vous suffit d'entrer le nom et de cliquer sur "Demander à s'inscrire". Cela commence le début de l'enregistrement du domaine que vous souhaitez enregistrer.
À ce stade, vous n'aurez qu'à effectuer le paiement de la commission et le paiement de l'inscription pour terminer le processus.