EIP-0028 di Ergo: ErgoAuth

Tempo di lettura stimato: 3 minuti

Quando si parla di blockchain, è importante ricordare che i portafogli sono completamente anonimi. Su Ergo, non sai chi possiede un particolare portafoglio. Poiché tutte le transazioni sono pubbliche, questo è un aspetto importante dei portafogli blockchain: se sai chi possiede un portafoglio, puoi vedere tutte le loro risorse, transazioni e qualsiasi altro portafoglio con cui interagiscono.

Detto questo, ci sono situazioni in cui potrebbe essere utile, o addirittura necessario, dimostrare chi ha accesso a un determinato portafoglio. Uno scenario possibile è quando si interagisce con i giochi sulla blockchain. Una situazione comune può verificarsi quando i token vengono utilizzati come elementi di gioco e solo i giocatori che possiedono determinati token possono partecipare ad azioni specifiche. Come si può sapere se un giocatore ha effettivamente accesso a un portafoglio che finge di avere?

In questa situazione, i giochi possono fare affidamento solo sul chiedere al giocatore di effettuare una transazione dal portafoglio che possiede il token in questione. Questo approccio presenta alcuni ovvi inconvenienti: il giocatore deve effettuare una transazione e pagare le commissioni di transazione, e la transazione potrebbe richiedere diversi minuti per essere eseguita dai minatori.

Per risolvere questo problema, gli sviluppatori principali di Ergo hanno proposto EIP-0028 ErgoAuth. È già implementato in Appkit, l’SDK di Ergo, e sarà integrato nella prossima release 1.9 dell’App Ergo Wallet.

ErgoAuth bypassa la necessità di effettuare una transazione sulla blockchain definendo un protocollo simile direttamente tra un’applicazione wallet e un server gestito dalla parte che ha bisogno di autenticare un utente.

Funziona come segue:

  • Il gioco (o dApp, sito web, ecc.), Volendo verificare se un utente ha accesso a un determinato portafoglio, mostra un codice QR da scansionare con un’app wallet – o presenta un pulsante per aprire un’applicazione wallet.
  • Ciò farà sì che l’applicazione wallet contatti il server del gioco e richieda informazioni specifiche. Il portafoglio deve sapere quale indirizzo l’utente deve autenticare, in quanto possono esserci più indirizzi.
  • L’applicazione wallet presenterà all’utente una schermata e chiederà se vuole dimostrare l’accesso. Quando l’utente conferma, l’applicazione wallet firmerà il messaggio inviato dal server di gioco con le chiavi private e invierà il messaggio firmato.
  • Il server di gioco può ora verificare (utilizzando Appkit o la propria implementazione) se la prova inviata dall’utente è valida e che l’utente ha accesso al portafoglio.

Gli sviluppatori possono iniziare subito a integrare ErgoAuth nelle loro applicazioni. Per informazioni più dettagliate, fare riferimento a EIP-0028 e ai corrispondenti collegamenti di esempio di codice.

Articoli Correlati

Risposte