Lorsque l'on réalise des transactions via le réseau Ethereum, on doit stipuler l'adresse de celui qui les recevra. Ces adresses ne sont pas vraiment agréables à l'œil humain, mais très adaptées au fonctionnement d'Ethereum. Qui ne souhaiterait pas, plutôt qu'envoyer à une chaîne de caractères peu lisible, simplement indiquer une sorte d'adresse nominative, comme une adresse mail ? C'est ce que fait Ethereum Name Service, un service de nomination open source et décentralisé.

 

Ethereum Name Service

Ethereum Name Service (ENS) est originalement un standard d'adresses Ethereum plus simple à utiliser, sous la forme (par exemple) de guillaume.eth. L'objectif était donc de permettre l'utilisation de ces adresses sur différentes applications d'Ethereum, l'idée étant qu'elles puissent par la suite être acceptées et être lues par l'EVM. Mais les adresses publiques ne sont pas les seuls types de données à pouvoir être rendues plus lisibles. En effet les adresses de smart-contracts, les codes ABI de ces derniers et autres données peuvent également être gérés par ENS.

Ethereum Name Service veut devenir le DNS (Domaine Name Service) de l'Internet 3.0. C'est ce DNS par exemple qui va vous permettre d'accéder à Cryptoast en tapant cryptoast.fr dans votre navigateur au lieu de 192.168.255.276 par exemple.

 

Le fonctionnement d'Ethereum Name Service

ENS fonctionne par domaines, comme les noms de domaines des site Internet actuels. Ces domaines sont liés à un smart-contract Ethereum, et le propriétaire du domaine est le gérant des sous-domaines. Il peut donc les administrer, en créer de nouveaux ou les revendre. Les principaux domaines comme .eth ou encore .test sont des cas particuliers. Ces derniers mettent en place des règles permettant l'achat de sous-domaines. C'est avec ces smart-contracts qu'il faut interagir pour obtenir la propriété du domaine de votre choix.

ENS se repose sur un grand registre pour enregistrer les états de tous les domaines qu'il gère. C'est techniquement un smart-contract central, qui va entretenir la liste de tous les domaines et affiliés. On retrouvera notamment au sein de ce registre trois informations importantes :

  • Le propriétaire du domaine. Il peut être un utilisateur Ethereum, mais également un autre smart-contract qui redistribue les sous-domaines affiliés.
  • Ce sur quoi dirige le domaine (adresse ethereum, smart-contract...)
  • L'enregistrement des états passés et présent du domaine.

Une fois que vous êtes devenu propriétaire d'un domaine, vous avez accès à un certains nombre de droits sur ce domaine. Vous pouvez par exemple spécifier l'adresse sur laquelle le domaine va pointer, une adresse Ethereum par exemple. Vous pouvez également transférer la propriété (vente, don...) à un autre utilisateur ou un smart-contract. Enfin vous pouvez jouir des sous-domaines de votre propriété, et donc spécifier des propriétaires à ces derniers.

 

Namehash

Si l'utilisation d'un domaine comme cryptoast.eth est très simple pour l'œil humain, il l'est beaucoup moins pour les smart-contracts. Pour cette raison et afin d'optimiser la gestion des ressources sur l'EVM, ENS fonctionne uniquement avec des hashs de 256 bits. Cela permet de connaître à l'avance le nombre de caractères que le smart-contract doit gérer. Namehash est un processus récursif permettant de générer un hash unique pour chaque domaine considéré comme valide. Par exemple ENS traitera le nom de domaine alice.eth comme étant 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec.

 

Acheter un domaine Ethereum Name Service

Si vous souhaitez acheter un domaine ENS, il vous faudra participer à une enchère un peu particulière. Je vous explique les différentes étapes de leur fonctionnement :

  • Si un utilisateur souhaite acquérir un domaine et que ce dernier est disponible, il doit démarrer une enchère. Cette dernière dure trois jours, et durant cette période chaque utilisateur est libre de prendre une enchère. Les mises sont confidentielles, et donc à l’aveugle en ce qui concerne vos concurrents potentiels.
  • Une fois la période des trois jours terminée, c’est le début de la révélation des mises. Les participants ont deux jours pour révéler leur mises, où elles seront perdues. Si votre mise n’est pas la plus généreuse, elle vous est remise moins les frais de 0,5 %.
  • À la fin de la seconde période, le vainqueur est celui qui aura dévoilé la mise la plus haute. En revanche il ne devra payer que la valeur de la mise de la deuxième enchère la plus haute. Il devra par la suite effectuer une transaction particulière afin d’obtenir la propriété du domaine, et recevoir la différence entre sa mise et le prix à payer.

EDIT : Cette procédure est désormais beaucoup plus simple et ne nécessite plus que quelques minutes et deux transactions Ethereum.

Une fois propriétaire du nom de domaine, vous pouvez l’utiliser le temps que vous souhaitez. Une fois en possession d’un domaine pendant au moins un an, vous pouvez vous en libérer afin d’obtenir votre mise.

Attention ce système concerne les noms de domaines supérieurs à 7 caractères. Les noms de domaines plus courts sont plus rares et plus demandés, et bénéficient donc d’un traitement particulier. Ces noms de domaines sont soumis à des enchères particulières, plus longues et fixes. Prenez le temps de vous renseigner sur les dates des enchères des domaines en fonction de leur taille. Par exemple les domaines de trois à six caractères ont été mis en vente en septembre.

Voilà le fonctionnement des enchères, mais comment concrètement prendre possession d’un domaine Ethereum ? Voici une liste de différentes méthodes pour participer à ces enchères.

 

Registrar domain

L’application décentralisée dédiée, registrar-domain vous permet de facilement gérer vos enchères et d’accéder aux catalogues des domaines disponibles. Vous aurez simplement à vous connecter par le biais d’un provider tel que Metamask par exemple.

 

L'application ENS domains

Ce site web permet de rechercher le domaine de votre choix pour en devenir propriétaire. Si votre domaine est disponible, le site vous affichera le prix de la location pour la durée souhaitée. Par exemple j'ai recherché de mon côté le nom de domaine guillaume-chanut.eth. Il était disponible moyennant 0,031 ETH par an, soit environ 5 dollars. Cet explorateur de domaines permet également de retrouver les informations disponibles sur les domaines ayant déjà un propriétaire. Par exemple le domaine Bitcoin.eth est indisponible jusqu'à mai 2025.

 

Fonctionnalités à venir

ENS compte continuer son développement et proposer toujours plus de services à ses utilisateurs, tout d'abord en élargissant le panel de wallets compatibles avec leur système de noms d'adresses, qui contient une vingtaine de partenaires actuellement, mais également en proposant plus de domaines différents. Ils souhaitent aussi développer leurs fonctionnalités de « text record » actuellement disponibles, qui vous permet de vous faire un profil lié à une adresse de smart-contract Ethereum. Vous pouvez ainsi déployer une sorte de carte de visite virtuelle sur le réseau Ethereum. Cette fonctionalité existait depuis quelques mois mais un outil de gestion de votre profil plus simple a été récemment dévoilé. À terme, ENS veut mettre en place le Gravatar de l'Internet 3.0.

 

FAQ

Voici l'adaptation de quelques unes des questions les plus posées et pertinentes sur Ethereum Name Service.

 

Quels wallets et applications décentralisées supportent ENS ?

Les wallets disponibles sont :

Les applications disponibles sont :

 

Est-ce que je peux modifier la redirection d'un nom de domaine ?

Oui, après avoir acheté un nom de domaine vous pouvez tout à fait modifier vers ce que votre domaine va rediriger. Et cela à votre guise tant que vous êtes propriétaire du domaine en question.

 

Si je possède mon propre nom de domaine, est ce que je peux créer des sous-domaines à ce dernier ?

Oui, vous pouvez tout à fait créer des sous domaines aux domaines que vous possédez. Vous pouvez même transférer la propriété de ces sous-domaines à d'autres utilisateurs. Si vous souhaitez aller plus loin, vous pouvez même mettre en place votre propre registre lié à votre domaine.

 

Qui possède les smart-contracts régissant Ethereum Name Service ?

Aujourd'hui ces smart-contracts sont possédés par différents acteurs majeur de la communauté Ethereum. Mais à terme l'équipe d'ENS souhaite mettre en place une gouvernance pour réaliser des modifications administratives.

 

Y a-t-il moyen de savoir quels sont les noms de domaines achetés ?

Oui l'équipe d'ENS a développé un algorithme qui, à partir d'un dictionnaire de noms communs, va vérifier la disponibilité des noms de domaines. Vous pouvez utiliser l'application décentralisée ou vous rendre sur le compte du robot Twitter pour vous tenir informé.

 

Voilà pour cet article sur Ethereum Name Service qui vous permet de donner un nom à votre wallet Ethereum et de posséder des noms de domaines Ethereum. Un pas en avant vers l'Internet 3.0 ou un gadget pour vous ? En tout cas cela peut améliorer l'expérience utilisateur lors des transactions. D'autres alternatives à ENS proposent ce genre de services, et feront peut être l'objet d'autres articles. N'hésitez pas à réagir à ce sujet et à poser vos questions en commentaire ou sur Twitter !

A propos de l'auteur : Guillaume Chanut

twitter-soothsayerdatatwitter-soothsayerdata

Passionné par les crypto-monnaies, j’ai rapidement appris à développer des outils dans le domaine des technologies blockchain. J’aime partager mes connaissances sur le sujet et je participe activement au rayonnement des aspects techniques de la blockchain au sein de la communauté crypto. Je suis principalement intéressé par Ethereum et par son code Solidity.
Tous les articles de Guillaume Chanut.

guest
1 Commentaire
Inline Feedbacks
View all comments
Cryptocat

Super article, je test le service du coup et c'est plutôt cool de constater que cela fonctionne bien ! Je trouve dommage que beaucoup de domaines soient qualifiés de "premium" et donc plus de 10 fois plus chers. Idem pour les noms plus courts.