Introduction à l'ENS

L'Ethereum Name Service (ENS) est un système de nommage distribué, ouvert et évolutif basé sur la blockchain Ethereum. La fonction principale d'ENS est d'analyser les noms lisibles par l'homme (tels que « alice.eth ») en identifiants reconnaissables par ordinateur tels que les adresses Ethereum, d'autres adresses de crypto-monnaie, les hachages de contenu, les métadonnées, etc. De plus, ENS prend également en charge la « résolution inverse », permettant d'associer des métadonnées (telles que des noms canoniques ou des descriptions d'interface) à des adresses Ethereum.

Fonction et architecture de l'ENS

L'objectif de l'ENS est similaire à celui de l'Internet Name Service (DNS), mais en raison des caractéristiques fonctionnelles et des limites de la blockchain Ethereum, l'architecture de l'ENS est très différente de celle du DNS. ENS est un système de dénomination hiérarchique, avec des points comme séparateurs entre les niveaux, et chaque niveau est appelé un domaine. Le propriétaire d'un domaine a un contrôle total sur ses sous-domaines.

Les propriétaires de noms de domaine de premier niveau (tels que « .eth » et « .test ») sont des contrats intelligents appelés « registraires ». Les règles d'attribution des sous-domaines sont définies au sein de ces contrats. N'importe qui peut s'approprier un nom de domaine et le configurer selon ses besoins, en suivant les règles stipulées dans ces contrats. ENS prend également en charge la connexion des noms de domaine DNS existants au système ENS pour étendre ses fonctions.

En raison de la structure hiérarchique d'ENS, toute personne possédant un domaine à un certain niveau peut créer et configurer des sous-domaines pour elle-même ou pour d'autres. Par exemple, si Alice possède « alice.eth », elle peut créer « pay.alice.eth » et le configurer selon ses besoins.

Déploiement et utilisation de l'ENS

ENS est déployé sur le réseau principal Ethereum et sur plusieurs réseaux de test. Si vous utilisez la bibliothèque Javascript ensjs ou une application utilisateur final, ces outils détecteront et interagiront automatiquement avec le réseau approprié.
 

Architecture de l'ENS

ENS comporte deux composants principaux : le registre et l’analyseur.
 

Introduction au registre ENS

Le registre ENS est un contrat intelligent qui maintient une liste de tous les noms et sous-noms et stocke trois informations clés sur chaque nom :

  1. nom du propriétaire

  2. analyseur de nom

  3. La durée de vie du cache (TTL) de tous les enregistrements sous le nom

Le propriétaire du nom peut être un compte externe (utilisateur) ou un contrat intelligent. Le registraire agit comme un contrat intelligent qui détient un nom de niveau supérieur et attribue des sous-noms de ce nom aux utilisateurs conformément aux règles du contrat.

Fonctions du registre ENS

Les propriétaires de noms dans le registre ENS disposent des autorisations suivantes :

  1. Définir le résolveur et la durée de vie : les propriétaires peuvent spécifier un résolveur et définir une durée de vie pour leur nom.

  2. Transférer la propriété : le propriétaire peut transférer la propriété du nom à une autre adresse.

  3. Modifier la propriété des sous-noms : les propriétaires peuvent gérer et modifier la propriété des sous-noms.

L'objectif principal du registre ENS est de mapper les noms aux résolveurs responsables de la résolution de ce nom. Les résolveurs sont des contrats intelligents chargés de convertir les noms en adresses. Tout contrat intelligent qui répond aux normes liées aux analyseurs peut être utilisé comme analyseur dans ENS. Pour les utilisateurs dont les besoins sont simples et qui ne changent pas fréquemment d'adresse, un résolveur universel peut être utilisé.

fonction d'analyseur

Chaque type d'enregistrement (tel que l'adresse Ethereum, le hachage de contenu, etc.) définit un ensemble de méthodes que l'analyseur doit implémenter pour fournir l'enregistrement correspondant. De nouveaux types d'enregistrements peuvent être définis à tout moment via le processus de normalisation EIP, de sorte qu'aucune modification du registre ENS ou des analyseurs existants n'est requise pour prendre en charge de nouveaux types d'enregistrements.

La résolution d'un nom dans l'ENS nécessite deux étapes :

  1. Interrogez le registre : commencez par interroger le registre pour déterminer quel résolveur est responsable de la résolution du nom.

  2. Interrogez l’analyseur : interrogez ensuite l’analyseur pour connaître les résultats de l’analyse.

Avantages et applications de l'ENS

Le registre et le résolveur ENS sont conçus pour simplifier la gestion des adresses complexes, permettant aux utilisateurs de convertir facilement des noms lisibles par l'homme en identifiants lisibles par ordinateur. Cette conception améliore non seulement l'expérience utilisateur, mais offre également une grande flexibilité et évolutivité, faisant d'ENS un outil puissant pour les systèmes de dénomination blockchain.
 

Mécanisme de hachage de noms

Dans les contrats intelligents, interagir directement avec des noms lisibles par l’homme est inefficace en raison de contraintes de ressources. Par conséquent, ENS utilise un hachage cryptographique de 256 bits de longueur fixe pour traiter les noms. Cet algorithme de hachage s'appelle Namehash et est conçu pour générer des valeurs de hachage uniques avec une structure hiérarchique. Par exemple, le Namehash de « alice.eth » est 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec. Dans ENS, Namehash est utilisé pour représenter les noms.

Le processus récursif de Namehash

Namehash est un processus récursif qui génère une valeur de hachage unique pour tout nom valide. En commençant par le nom de hachage d'un nom (comme "alice.eth"), le nom de hachage de n'importe quel sous-nom (comme "iam.alice.eth") peut être dérivé sans avoir à gérer ou à connaître le nom original lisible par l'homme "alice". .eth" . Cette fonctionnalité permet à ENS de gérer efficacement sa hiérarchie sans avoir à gérer en interne des chaînes de texte lisibles par l'homme.

processus de normalisation

Avant de hacher avec Namehash, les noms doivent être canonisés. Ce processus s'appuie sur la norme UTS-46, qui garantit que les lettres des noms ne sont pas sensibles à la casse et interdit les caractères non valides. Tout hachage et analyse de noms doivent d'abord être normalisés pour garantir des résultats cohérents dans l'ensemble du système ENS pour tous les utilisateurs.

Importance de Namehash

La conception de Namehash joue un rôle important dans les aspects suivants :

  1. Efficacité : ENS permet un traitement efficace dans les contrats intelligents en convertissant les noms lisibles en hachages de longueur fixe.

  2. Hiérarchie : Namehash permet la génération récursive de hachages de sous-noms, prenant en charge la gestion hiérarchique de l'ENS.

  3. cohérence: Grâce au processus de normalisation, assurez-vous que tous les utilisateurs obtiennent des résultats cohérents lors du traitement des noms dans ENS.
    Application de Namehash

Dans le système ENS, Namehash est largement utilisé :

  1. Enregistrement du nom : lorsqu'un utilisateur enregistre un nom, ENS utilise Namehash pour convertir le nom en valeur de hachage pour le stockage et la gestion.

  2. Résolution de nom : lors de la résolution de noms, ENS effectue une recherche et une correspondance rapides et efficaces en fonction du Namehash du nom.

  3. Gestion des sous-noms : grâce à la nature récursive de Namehash, les utilisateurs peuvent facilement gérer les sous-noms de leurs noms sans avoir à gérer des chaînes de texte complexes.

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