ETHEREVOLUTION: INSIEME NEL FUTURO

Menu
Home » Blockchain » Uno sguardo al futuro di ENS – parte 2

Uno sguardo al futuro di ENS – parte 2

08 Dicembre 2017 04:26
Tempo di lettura: 8 min.
Devcon3 ENS parte 2
08 Dicembre 2017 04:26
Mirko Da Corte

Con questo articolo concludiamo l’esplorazione sullo stato dell’arte di ENS, la proposta di Ethereum per decentralizzare la gestione dei domini su Internet. Nel primo articolo (Cos’è ENS? Come evolvono i domini su Internet) ci siamo occupati di introdurne la filosofia e i concetti base, mentre nel secondo articolo (Uno sguardo al futuro di ENS – parte 1) abbiamo iniziato l’esplorazione delle novità presentate al Devcon3 di Cancun. Con questo terzo capitolo completeremo quindi il percorso.

Rolling Auctions

Sino a d’ora ENS ha sofferto di un problema abbastanza fastidioso relativo al sistema di gestione delle aste. Prima di poter fare delle offerte per un dominio, era necessario dichiararne l’apertura dell’asta. Essa veniva aperta pubblicando on-chain l’hash del nome del dominio per il quale si voleva competere.

Se il nome del dominio non era un nome comune da dizionario non c’era nessun problema, nessuno poteva infatti conoscere il dominio sul quale si stava puntando, a meno di non indovinarne il nome. Se però invece il nome era prevedibile da dizionario, chiunque avrebbe potuto ricondursi al nome da un dizionario inverso di hash, e scoprire così su quale dominio si era aperta l’asta.

Per non permettere che i pochi in grado di fare queste operazioni avessero vantaggi sui molti, il team di ENS assieme ad altri decise di svolgere questo reverse hashing per tutti, e di pubblicare in chiaro sul loro sito i domini riconosciuti per i quali attualmente si stava puntando. Questo però ha creato uno strumento utile per i semplici speculatori, i quali vedevano comparire dei nomi interessanti, ma ai quali non avevano mai pensato prima, e con un click erano in grado di partecipare ed interferire con il naturale interesse per il dominio.

Ad aggravare la situazione, il fatto che si potesse legare la prima offerta all’apertura dell’asta. Questo fu introdotto per ridurre le transazioni di apertura da due ad una, ma l’effetto secondario è che rendeva di fatto associabile il valore massimo puntato dal primo offerente con il nome del dominio corrispondente. Superare la puntata del primo a questo punto diventava facile.

Osserviamo il processo con cui sino ad ora si sono acquistati i domini su ENS. Il percorso è composto di tre fasi, dove appunto le prime due possono eventualmente essere accomunabili, al costo di rivelare la propria offerta massima:

  • Open auction
    Fase in cui viene aperta l’asta sul dominio, rivelandone l’hash interessato. Si passa immediatamente alla successiva
  • Bid
    Fase della durata di tre giorni, in cui è possibile puntare liberamente, ed in maniera segreta, sul dominio. Allo scadere dei tre giorni inizia la fase successiva
  • Reveal
    Fase della durata di due giorni, dove chiunque abbia effettuato un’offerta deve rivelarla. Questo sia per riuscire ad aggiudicarsi il dominio, sia per riavere semplicemente i soldi indietro nel caso in cui l’offerta sia stata superata. I soldi puntati che non vengono rivelati in questa fase sono persi irrimediabilmente

Si è deciso di provare a semplificare questo processo, e tentare di risolvere i problemi sopra descritti. Si è quindi scelto di rivoluzionare il sistema di gestione di aste, vediamone il funzionamento.

Rolling auctions

La chiave in questo caso, per comprendere il funzionamento di questo modello, è capire che non vi sarà più un’azione di apertura dell’asta, la quale faceva partire prima i 3 giorni di bid e poi i 2 giorni di reveal, ma ogni fase verrà portata alla durata di due giorni, e sarà scandita universalmente da un timer che chiuderà ed aprirà una nuova fase per tutti allo stesso momento.

Abbiamo quindi un sistema per cui, per ciascun dominio, potrebbe esserci un’offerta in qualsiasi momento, e sarà impossibile conoscere a priori i domini sulla quale si sta scommettendo, questa volta, anche conoscendone il nome. Scaduto il timer universale, che suddivide i cicli in periodi di due giorni, sarà possibile passare alla fase di Reveal nel caso in cui si sia fatta un’offerta. Anche qui, il reveal è necessario ad aggiudicarsi o a recuperare i soldi puntati.

Questo, al lato pratico, rende impossibile interferire nelle aste degli altri, a meno che non si sia già in partenza interessati personalmente a quel dominio. Ed anche questo è un altro tassello per combattere la speculazione su ENS.

DNS integration via DNSSEC

Grande attesa per una notizia come questa! In molti si chiedevano come si sarebbero potuti integrare due sistemi così differenti come DNS ed ENS, con questo annuncio abbiamo una prima risposta.

ENS ha infatti deciso di integrare la possibilità di registrare, all’interno di se, anche i domini gestiti da ICANN, e che comprendono quindi i vari .com, .net, .org, .it, .io, ecc… Ciascun dominio sarà quindi trattato come un normale dominio ENS, e potrà essere quindi associato ad un risolvitore, il quale potrà svolgere i compiti più disparati come abbiamo già visto nel primo articolo. Tali domini potranno quindi, tra le altre cose, risolvere anche indirizzi Ethereum e Swarm. Ma come riconoscere on-chain la registrazione di un dominio, quando questi vengono gestiti da un ente esterno centralizzato? La chiave sta in DNSSEC.

DNSSEC è un’implementazione sicura di DNS, la quale aggiunge per ogni step di risoluzione una firma digitale, riconducibile salendo sino al certificatore radice, fornito dall’ICANN. Si tratta a tutti gli effetti di una catena di certificati, applicata alla risoluzione dei domini. Questo, normalmente, impedisce attacchi di tipo DNS spoofing, per cui un server DNS disonesto, o infetto, potrebbe reindirizzarci su pagine non corrette gestite da malintenzionati.

DNSSEC chain

In questo caso, dobbiamo registrare sui record DNSSEC del dominio da riconoscere (qui ethlab.xyz) del testo contenente l’indirizzo Ethereum che vogliamo sia il proprietario su ENS.

Creiamo quindi il record di testo, e lo registriamo su DNSSEC per il dominio di terzo livello “_ens.ethlab.xyz.”. Questo record, risalendo, viene firmato dalla chiave RSA del dominio di secondo livello “ethlab.xyz.”. L’hash della chiave pubblica di “ethlab.xyz.” viene quindi firmata dalla chiave del dominio di primo livello “xyz.”, la quale è garantita a sua volta nello stesso modo dal certificato radice “.”, gestito dall’ICANN.

Abbiamo così ottenuto una catena di certificati, la quale dato un record è in grado di garantire che esso sia valido, ed impedisce di alterarne il contenuto. Questo record contiene il nostro indirizzo Ethereum.

DNSSEC oracle

A questo punto, dobbiamo trovare il modo di comunicare a blockchain quanto abbiamo realizzato, e quanto DNSSEC ci aiuta inequivocabilmente a certificare. Ci viene in aiuto il flow sopra mostrato, per cui l’utente è colui che possiede il dominio, il Registrar è un contratto on-chain con il quale interagiamo, e del quale ENS si fida, l’oracolo è un’infrastruttura off-chain incapace di mentire, ed ENS è il nostro archivio di domini on-chain.

L’utente crea il record di testo come sopra descritto, firmando su DNSSEC il proprio indirizzo Ethereum. A questo punto, dal suo indirizzo esegue una chiamata verso il Registrar, reclamando la proprietà del dominio. Il Registrar interroga l’oracolo, il quale andrà a cercare il record off-chain, ne verificherà la validità, e risponderà il contenuto del testo al Registrar. Il Registrar, ricevuta la risposta, verificherà che la richiesta sia pervenuta dallo stesso indirizzo registrato su DNSSEC, ed in caso affermativo invocherà ENS per assegnare il proprietario al corretto dominio. A questo punto, il proprietario sarà owner a tutti gli effetti su ENS, e potrà fare ciò che desidera sul dominio.

DNSSEC resolution

La parte forse migliore è che questo sistema è già funzionante ed utilizzabile su Ropsten con i domini .xyz. Sul palco del Devcon3 è stato mostrato in live l’utilizzo di questo sistema all’interno del wallet MyEtherWallet, in cui l’indirizzo ethlab.xyz veniva risolto su di un indirizzo Ethereum. Nonostante ora sia ristretto ai domini .xyz, nel prossimo futuro sarà esteso anche agli altri, prevedendo di coprire all’incirca il 96% dei tipi di domini oggi disponibili. Ed un passo verso l’integrazione è stato fatto!

Registrazione semplificata dei sottodomini

Su questo non c’è molto da dire, se non che è stato mostrato il Proof of Concept di un’interfaccia funzionante per la ricerca e registrazione di sottodomini disponibili.

Registrazione sottodomini

Si tratta di un metodo di utilizzo che semplifica le operazioni e si riduce ad una semplice ricerca per nome, un controllo di disponibilità, e l’acquisto tramite una semplice transazione con MetaMask. Più che una vera innovazione, questo rappresenta la volontà del team di ENS di migliorare l’accessibilità verso tutti, semplificando il servizio il più possibile. Il tutto si è svolto live, sul palco, con un’azione della durata di circa 20 secondi.

Ethereum Name Service Foundation

In conclusione, il grande annuncio! Il team di ENS diventa indipendente, e si avvia verso una fase di crescita e di ufficializzazione tramite la creazione di una fondazione dedicata. La Ethereum Name Service Foundation sarà di tipo no-profit, e sarà un’entità legale orientata allo sviluppo e alla promozione del sistema ENS. Non vi sarà alcuna ICO associata.

Questa scelta permetterà di aver maggior voce in capitolo all’interno dei tavoli di discussione, e maggior indipendenza di finanziamenti. È quindi stata annunciato anche che vi saranno rappresentanti della fondazione direttamente dentro ICANN, e ci si aspetta quindi in futuro nuove opportunità di integrazione e collaborazione con essa.

Conclusione

Per ora il capitolo con gli aggiornamenti su ENS si chiude. Riporto qui i link alle slide ufficiali dell’evento (https://arachnid.github.io/sotens), e alla registrazione live dal palco del Devcon3 (https://youtu.be/aMs0wAFIu7I?t=4h5m33s). L’intervento su ENS inizia al momento 4:05:33.

Ai prossimi aggiornamenti!

Clicca qui per accedere alla guida gratuita su come comprare, vendere, trasferire e conservare in sicurezza gli Ether.

Clicca qui per accedere alla guida gratuita su come comprare, vendere, trasferire e conservare in sicurezza gli Ether.

Condividi
  • 8
    Shares

CATEGORIE:

BlockchainProgetti su EthereumSmart contract


Mirko Da Corte

Appassionato di tecnologia da sempre, incontrai per caso blockchain in un pomeriggio di sole. Fu amore a prima vista. Founder e CTO di Digicando Srl, collaboro alla moderazione del gruppo Ethereum Italia


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Condividi questo articolo

Invia questo articolo ad un amico