Introducere în ENS

Ethereum Name Service (ENS) este un sistem de denumire distribuit, deschis și scalabil, bazat pe blockchain-ul Ethereum. Funcția de bază a ENS este de a analiza nume care pot fi citite de om (cum ar fi „alice.eth”) în identificatori recunoscuți de computer, cum ar fi adrese Ethereum, alte adrese de criptomonedă, hashuri de conținut, metadate etc. În plus, ENS acceptă și „rezoluția inversă”, făcând posibilă asocierea metadatelor (cum ar fi numele canonice sau descrierile interfeței) cu adresele Ethereum.

Funcția și arhitectura ENS

Scopul ENS este similar cu Internet Name Service (DNS), dar datorită caracteristicilor funcționale și limitărilor blockchain-ului Ethereum, arhitectura ENS este foarte diferită de DNS. ENS este un sistem de denumire ierarhic, cu puncte ca separatori între niveluri, iar fiecare nivel este numit domeniu. Proprietarul unui domeniu are control deplin asupra subdomeniilor acestuia.

Proprietarii de nume de domenii de nivel superior (cum ar fi „.eth” și „.test”) sunt contracte inteligente numite „registrari”. Regulile de alocare a subdomeniilor sunt definite în cadrul acestor contracte. Oricine poate prelua un nume de domeniu și îl poate configura după cum este necesar, urmând regulile stipulate în aceste contracte. ENS acceptă, de asemenea, conectarea numelor de domenii DNS existente la sistemul ENS pentru a-și extinde funcțiile.

Datorită structurii ierarhice a ENS, oricine deține un domeniu la un anumit nivel poate crea și configura subdomenii pentru sine sau pentru alții. De exemplu, dacă Alice deține „alice.eth”, ea poate crea „pay.alice.eth” și îl poate configura după cum este necesar.

Implementarea și utilizarea ENS

ENS este implementat în rețeaua principală Ethereum și în mai multe rețele de testare. Dacă utilizați biblioteca ensjs Javascript sau o aplicație pentru utilizatorul final, aceste instrumente vor detecta și interacționa automat cu rețeaua corespunzătoare.
 

Arhitectura ENS

ENS are două componente principale: registry și parser.
 

Introducere în registrul ENS

Registrul ENS este un contract inteligent care menține o listă cu toate numele și subnumele și stochează trei informații cheie despre fiecare nume:

  1. nume proprietar

  2. parser de nume

  3. Durata de viață a memoriei cache (TTL) a tuturor înregistrărilor sub nume

Proprietarul numelui poate fi un cont extern (utilizator) sau un contract inteligent. Registratorul acționează ca un contract inteligent care deține un nume de nivel superior și atribuie subnume ale acelui nume utilizatorilor conform regulilor din contract.

Funcții de registru ENS

Proprietarii numelor din registrul ENS au următoarele permisiuni:

  1. Setați rezolutor și TTL: proprietarii pot specifica un resolver și pot seta un TTL pentru numele lor.

  2. Transferați dreptul de proprietate: proprietarul poate transfera dreptul de proprietate asupra numelui la o altă adresă.

  3. Modificați proprietatea subnumelor: proprietarii pot gestiona și modifica proprietatea subnumelor.

Scopul principal al registrului ENS este acela de a mapa numele la rezolutorii responsabili pentru rezolvarea numelui respectiv. Resolvetorii sunt contracte inteligente responsabile pentru conversia numelor în adrese. Orice contract inteligent care îndeplinește standardele legate de parser poate fi folosit ca parser în ENS. Pentru utilizatorii ale căror nevoi sunt simple și nu schimbă frecvent adresele, poate fi utilizat un resolver universal.

funcția parser

Fiecare tip de înregistrare (cum ar fi adresa Ethereum, hash de conținut etc.) definește un set de metode pe care analizatorul trebuie să le implementeze pentru a furniza înregistrarea corespunzătoare. Noile tipuri de înregistrări pot fi definite în orice moment prin procesul de standardizare EIP, astfel încât nu sunt necesare modificări ale registrului ENS sau ale analizatorilor existenți pentru a accepta noi tipuri de înregistrări.

Rezolvarea unui nume în ENS necesită doi pași:

  1. Interogați registry: mai întâi, interogați registry pentru a determina care soluție este responsabilă pentru rezolvarea numelui.

  2. Interogați analizatorul: apoi, interogați analizatorul pentru rezultatele analizei.

Avantajele și aplicațiile ENS

Registrul și rezolutorul ENS sunt concepute pentru a simplifica gestionarea adreselor complexe, permițând utilizatorilor să convertească cu ușurință nume care pot fi citite de om în identificatori care pot fi cititi de computer. Acest design nu numai că îmbunătățește experiența utilizatorului, dar oferă și o mare flexibilitate și scalabilitate, făcând din ENS un instrument puternic pentru sistemele de denumire blockchain.
 

Mecanismul Namehash

În contractele inteligente, interacțiunea directă cu numele care pot fi citite de om este ineficientă din cauza constrângerilor de resurse. Prin urmare, ENS folosește un hash criptografic de 256 de biți cu lungime fixă ​​pentru a procesa numele. Acest algoritm de hash se numește Namehash și este conceput pentru a genera valori hash unice cu o structură ierarhică. De exemplu, Namehash-ul „alice.eth” este 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec. În ENS, Namehash este folosit pentru a reprezenta nume.

Procesul recursiv al lui Namehash

Namehash este un proces recursiv care generează o valoare hash unică pentru orice nume valid. Începând cu namehash-ul unui nume (cum ar fi „alice.eth”), namehash-ul oricărui subnume (cum ar fi „iam.alice.eth”) poate fi derivat fără a fi nevoie să se ocupe sau să cunoască numele original care poate fi citit de om „alice”. .eth” . Această caracteristică permite ENS să-și gestioneze eficient ierarhia fără a fi nevoit să gestioneze șiruri de text care pot fi citite de om în interior.

proces de normalizare

Înainte de hashing cu Namehash, numele trebuie să fie normalizate. Acest proces se bazează pe standardul UTS-46, care asigură că literele din nume nu sunt sensibile la majuscule și nu permit caracterele nevalide. Orice hashing și analizare a numelor trebuie mai întâi normalizate pentru a asigura rezultate consecvente în sistemul ENS pentru toți utilizatorii.

Importanța lui Namehash

Designul Namehash joacă un rol important în următoarele aspecte:

  1. Eficiență: ENS permite procesarea eficientă în contractele inteligente prin conversia numelor care pot fi citite în hash-uri cu lungime fixă.

  2. Ierarhie: Namehash permite generarea recursivă de hash-uri ale subnumelor, susținând gestionarea ierarhică a ENS.

  3. consistenta: Prin procesul de normalizare, asigurați-vă că toți utilizatorii obțin rezultate consecvente atunci când procesează nume în ENS.
    Aplicația Namehash

În sistemul ENS, Namehash este utilizat pe scară largă:

  1. Înregistrarea numelui: când un utilizator înregistrează un nume, ENS folosește Namehash pentru a converti numele într-o valoare hash pentru stocare și gestionare.

  2. Rezoluția numelor: atunci când rezolvă numele, ENS efectuează o căutare și potrivire rapidă și eficientă pe baza Namehash-ului numelui.

  3. Administrarea subnumelor: Prin natura recursivă a Namehash, utilizatorii pot gestiona cu ușurință subnumele numelor lor fără a fi nevoiți să se ocupe de șiruri de text complexe.

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