Menu
Home » Progetti su Ethereum » Universal Login: utilizzare una dApp diventa un gioco da ragazzi

Universal Login: utilizzare una dApp diventa un gioco da ragazzi

23 Febbraio 2019 14:09
Tempo di lettura: 7 min.
23 Febbraio 2019 14:09
Giuseppe Brogna

Universal Login, senza mezzi termini, vuole far arrivare Ethereum tra le mani di ogni genere di utente. È uno schema di semplificazione dell’esperienza di utilizzo di una dApp.

Ethereum, al momento, si caratterizza per un uso limitato a una ristretta nicchia. Quasi sempre, il problema della mancata diffusione su larga scala è imputato al limite di scalabilità. Ma non è solo questione di scalabilità, bensì anche di “utilizzabilità”.

Anche se Ethereum potesse già processare migliaia di transazioni al secondo, è improbabile che qualche dApp possa divenire talmente virale da riuscire a coinvolgere l’utente medio per eccellenza.

Il limite risiede proprio nell’incapacità di un utente medio di acquisire dimestichezza con la nuova generazione di applicazioni decentralizzate.

Il “computer mondiale” è troppo complicato

Affinché il fenomeno delle dApps possa ottenere successo, è il design che deve preoccuparsi delle persone. È in tale direzione che opera Universal Login, ossia nell’eliminare tutte quelle complicate procedure con funzione propedeutica all’utilizzo di una dApp.

Le persone devono essere poste nelle condizioni di dover solo scegliere un nome utente, loggarsi e godersi la dApp.

Perché è così difficile utilizzare le applicazioni della blockchain? Perché l’utente medio non è abituato ad avere a che fare con il concetto di back-up.

Nel corso della vita di utilizzo di migliaia di applicazioni centralizzate, l’utente smarrisce innumerevoli volte le credenziali. Tuttavia, è sufficiente una banale richiesta di recupero per attivare la procedura di ripristino dell’accesso.

Ma non è solo questione di back-up. L’utilizzo di dApps richiede ulteriori complicati adempimenti.

Se un utente è incuriosito e vuole provare una dApp, deve innanzitutto crearsi un wallet. Di solito, per interagire con gli smart contract di una dApp, si utilizza l’estensione per browser MetaMask.

Pertanto, l’utente dovrebbe installare MetaMask. Durante la fase di creazione del wallet, dovrebbe comprendere il concetto di frase mnemonica, da salvare con cura per backuppare il wallet. È, inoltre, necessario comprendere limportanza del settaggio di una password forte, per cifrare e decifrare le chiavi private salvate nel browser.

Non finisce qui. Per chiamare le funzioni degli smart contract alla base della dApp, è necessario pagare il gas (in ether).

L’utente dovrebbe quindi iscriversi a un exchange, eventualmente adempiere gli articolati obblighi di KYC e comprare degli ether. Dovrebbe poi eseguire una transazione dal wallet dell’exchange a quello di MetaMask, ma non prima di aver compreso i concetti di gas limit e gas price.

Le procedure appena indicate, servono solo per preparare il terreno all’utilizzo della dApp. L’utente dovrebbe poi imparare a interagirvi.

Il tradizionale meccanismo di interazione con una dApp, peraltro, consente di utilizzare l’account solo sul dispositivo sul quale sono state generate le chiavi private. È un aspetto a dir poco disagevole per chi vuole spostarsi da un dispositivo a un altro.

È vero che, ad esempio, MetaMask consente di importare un seed generato altrove, ma resta una procedura scomoda e anche rischiosa per un utente non in grado di proteggerlo da rischi legati al phishing, ai keylogger e ad altre minacce.

Gli step appena descritti sono alquanto artificiosi per chi, per la prima volta, ha scoperto una dApp e vorrebbe provarla. Semplicemente, l’utente ci rinuncia e continua comodamente a utilizzare Facebook et similia, per i quali è sufficiente un’e-mail e una password.

Universal Login

Quello che intende fare Universal Login, è rendere l’approccio simile a quello del web2.

Bisogna solo scegliere un nome utente (facilmente memorizzabile) e loggarsi all’interno dell’applicazione. La stesso nome utente deve poter essere utilizzato su diversi dispositivi. Niente più artificiose operazioni preliminari, almeno nella fase di primo approccio.

Per mostrarti senza troppi giri di parole come opera Universal Login, non c’è miglior cosa di utilizzare l’applicazione dimostrativa messa a disposizione dal team di sviluppo. Per accedere direttamente alla demo app, clicca qui:

Quella che visualizzi, è la schermata iniziale di un’app esemplificativa che si basa sullo schema di Universal Login.

È sufficiente inserire un nome utente nel campo “Type an username”. Ho digitato “etherevolution”.

Poiché non ci sono altri utenti che hanno già scelto questo nome, l’applicazione mi consente solo di creare (“create”) il nome utente, utilizzando diversi domini. Se il nome fosse già stato registrato, mi avrebbe proposto la funzione “connect” oppure quella di recupero dell’account (“recover”).

Clicco su “create”, in corrispondenza di etherevolution.my-id.test, e giungo alla seguente schermata:

Il mio account “etherevolution.my-id.test” è già stato creato. Ho ricevuto 20 kliks (un esempio di token supportato da questa applicazione demo).

Nota: l’indirizzo mostrato al di sotto del nome utente, non è di un account EOA. È quello di uno smart contract (vedi sotto per maggiori dettagli tecnici).

Prima di procedere nell’utilizzo, l’app mi suggerisce di aggiungere un altro dispositivo oppure di salvare un codice di backup (vedi in seguito).

Clicco su “GO TO APP”. Si apre la seguente pagina:

Ora sono all’interno di questa applicazione dimostrativa.

Si tratta di un app con pochissime righe di codice, una sola funzione e un singolo evento. Quando si clicca il pulsante centrale (“CLICK HERE”), viene registrata l’ora corrente e la lista degli ultimi utenti che hanno cliccato:

Come puoi notare, è stato registrato il click di etherevolution.my-id.test. Ho pagato 1 token “clik” per eseguire questa funzione.

Per gestire l’account, bisogna cliccare in alto a destra su “ACCOUNT”. Si visualizza questa schermata:

Da qui è possibile innanzitutto aggiungere nuovi dispositivi. Vuol dire che altri device saranno autorizzati a loggarsi con lo stesso nome utente.

La funzione è utile sia per utilizzare lo stesso account su diversi dispositivi, ma anche per l’ipotesi di smarrimento o guasto di uno dei dispositivi autorizzati.

È poi possibile creare dei codici di backup. I codici di backup servono per recuperare l’account in caso di smarrimento di tutti i dispositivi autorizzati:

Quello appena mostrato è un esempio – minimale – di applicazione che funziona secondo lo schema di Universal Login.

Come hai potuto notare, è estremamente semplice loggarsi all’interno dell’app e iniziare a utilizzarla. Come utente, non ho dovuto creare alcun wallet personale. Inoltre, l’autorizzazione di più dispositivi consente di accedere da svariati device digitando un semplice nome utente.

Dietro le quinte

L’obiettivo di Universal Login è quello di coinvolgere un maggior numero di utenti, grazie a un approccio elementare. Come visto, dopo aver scelto un nome utente, viene creato un account al quale è possibile accedere comodamente da diversi dispositivi.

Ma come è possibile? Cosa accade al più basso livello?

Quando l’utente sceglie di creare un nuovo account, sta generando una (invisibile) coppia di chiavi archiviata nel browser, chiedendo al server di deployare uno smart contract che accetta messaggi dalla chiave pubblica appena creata. La dApp, inoltre, registra un nome ENS per quel contratto.

Tecnicamente, questo schema di design si basa su quattro elementi principali:

  • Wallet multi-sig personale: è un wallet-contratto utilizzato per la conservazione dei fondi. Viene creato al momento della registrazione del nome utente, senza che la persona se ne accorga.
  • Meta-transazioni: attribuiscono all’utente la possibilità di interagire con il suo wallet da diversi dispositivi, senza il bisogno di conservare ether su ogni dispositivo.
  • Nomi ENS: per attribuire al wallet un nome semplice, facile da ricordare per una persona.
  • Universal login: possibilità di utilizzare il wallet come layer di autorizzazione per numerose dApps.

Le chiavi private, archiviate su uno o più dispositivi dell’utente, non controllano ether o token. Gli ether o i token sono conservati sul wallet-contratto. Questa circostanza rende non dolente l’eventuale smarrimento di una tra le diverse chiavi private.

Le chiavi servono solo per firmare messaggi. In altri termini, l’utente non invia direttamente delle transazioni, bensì dei messaggi firmati con i quali manifesta un’intenzione (ad esempio di voler trasferire dei token).

Il deploy dei messaggi viene effettuato da terze parti (“relayer”), le quali provvedono a chiamare la specifica funzione del contratto. I relayer sono rimborsati dal wallet-contratto dell’utente (in ether o altri token).

Di tutto quello che accade dietro le quinte, l’utente resterà totalmente ignaro. Deve solo sapere che è necessario scegliere un nome utente per provare la dApp.

Negli ultimi due anni si è parlato tanto di scalabilità su Ethereum.

La possibilità di processare migliaia di transazioni al secondo, è una condizione necessaria ma non sufficiente per la diffusione su larga scala del “computer mondiale”. Serve anche l’utilizzabilità mediante un design gradevole.

L’utente medio non guarda al design che non si preoccupa della persona e delle sue esigenze di semplificazione.

I complessi step di configurazione, e la grafica astrusa, non distoglieranno mai l’attenzione dell’utente da Facebook. Per l'”onboarding” di molte persone verso una nuova killer app del web3, è necessario evolvere in direzione della praticità.



3 VIDEO GRATUITI DALLA DM CRIPTO












Ti invieremo i
VIDEO GRATUITI
e in più, n
elle email successive, il frutto delle nostre ricerche più avanzate sulle criptovalute e i nostri servizi legati ad esse.

Tratteremo i tuoi
dati personali
con la massima cura e in conformità della normativa privacy GDPR UE2016/679. E potrai disiscriverti in qualsiasi momento con un semplice click.


Condividi
  • 20
    Shares

CATEGORIE:

Progetti su EthereumSmart contractWallet


Giuseppe Brogna

Giuseppe è laureato in giurisprudenza, da sempre appassionato di tecnologia e studioso di tematiche economiche. Stimolato dal potenziale impatto economico e sociale, si approccia al mondo delle DLT; matura particolari interessi nella nuova finanza hitech legata alle tecnologie del ledger distribuito.


Lascia un commento

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

Condividi questo articolo

Invia questo articolo ad un amico