La metafora del wallet



§1- Wallet, passaggi di proprietà e Blockchain, spiegati da favola[1]
D’istinto, lo affermerebbe chiunque: per fare la Blockchain, serve il computer.
Sì?! E chi l’ha detto?
Esiste un Popolo che pur non conoscendo l’elettricità, subito dopo il fuoco, ha scoperto Ethereum.
In realtà i Signori del racconto che segue non hanno scritto il White Paper di Vitalik Buterin[2], ma ci si sono avvicinati concettualmente…

In un’isola ancora vergine, vive tutt’ora una simpatica e bizzarra comunità di indigeni, primitivi ed estremamente pacifici.
Non avendo mai sprecato energie a preparare la guerra, il loro vivere associato ha generato solo buoni frutti.
Così i nostri amici hanno inventato un sistema monetario semplice, creativo ed efficace, che si narra abbia ispirato il Team che ha realizzato Ethereum.

Al centro del Villaggio di Fantàsia si erige una piazza circolare, dove sono disposti degli altari di varie dimensioni: ciascuno di questi rappresenta un certo valore in denaro, come una specie di moneta.
Ogni altare è dotato di un vano, costruito per alloggiarvici delle tavolette di pietra, in modo che queste possano essere sovrapposte una sull’altra in lunghissime colonne.
A ciascun individuo della comunità è attribuito un particolare colore, in una sfumatura lo distingue in modo univoco da tutti gli altri, identificando al contempo anche le tavolette di pietra che gli corrispondono, quale mezzo per contrassegnare la proprietà di ciascun altare/moneta: ogni qualvolta una tavoletta di pietra viene impilata sulla precedente, la proprietà dell’altare si trasferisce al soggetto da essa indicato.
Sebbene gli altari siano inamovibili, sotto gli occhi dell’intera comunità, la loro disponibilità viene continuamente scambiata fra le persone, che li utilizzano come catalizzatore dei negozi, in un’economia sorretta da quel sistema valutario.
Date le circostanze, a nessun indigeno verrebbe in mente di portarsi a casa il proprio denaro: se non altro, sarebbe fatica sprecata!

Bisogna notare che per qualsiasi altare-moneta, il Villaggio può darsi ragione dell’intera sequenza dei passaggi di proprietà, espressi dal progressivo sovrapporsi delle tavolette: in questo modo, ogni unità di misura della ricchezza conserva un proprio curriculum vitae.
Individualmente, gli abitanti dell’isola tengono traccia dell’alternarsi delle tavolette sulle colonne; quando si verifica una transazione, dopo l’approvazione generale, tutti aggiornano i propri appunti: di conseguenza, ogni tentativo di frode è reso vano dal confronto fra i singoli registri. E se qualcuno tentasse di barare, sarebbe esiliato dalla comunità.  

Esattamente in questo modo funziona un token iscritto in un Registro Blockchain, che può cambiare infinite volte il suo proprietario, ma senza mai lasciare il suddetto Registro.
In altre parole, i passaggi di proprietà su Blockchain avvengono senza spostare alcunché, neppure in senso figurato, fra un wallet e l’altro.
I wallet non contengono nulla, se non chiavi crittografiche, che permettono di controllare i token di cui si ha legittima proprietà[3].
Inoltre, in Blockchain come nel Villaggio, agire scorrettamente sarebbe non solo inutile, ma controproducente: la Blockchain è un luogo dove i partecipanti si controllano a vicenda, e tale per cui l’interesse della collettività coincide con quello individuale, ossia del singolo individuo (nodo) a comportarsi onestamente.
Incredibile, vero? L’uomo ha inventato un mondo dove conviene, sempre e comunque, essere onesti!





§2 – Cos’è un wallet
In ambito Blockchain, con la parola wallet si indica il luogo fisico e/o digitale presso cui sono custodite le chiavi crittografiche.

In assenza delle chiavi crittografiche, in particolare della chiave privata, non è possibile disporre dei propri token (NFT, criptovalute ecc.).
Detto altrimenti, solo grazie alle chiavi crittografiche si configura il possesso dei beni in Blockchain, ossia quella situazione di fatto che ne consente l’uso: ad esempio per pagare un servizio in criptovalute, o per donare un collezionabile.
Si tenga a mente che i token Ethereum-based non sono semplici file, come un .pdf o un .jpeg, ma veri e propri mini-software. In quanto tali e a certe condizioni, questi token sono programmati per rispondere a eventi, e generarne di nuovi.

Wallet è un termine che semplifica, ma può anche fuorviare.
Si consideri il wallet digitale come metafora del portafogli analogico, quello di pelle o tela che tutti conosciamo. Fra le due fattispecie, il comun denominatore è la funzione di raccogliere in sé una qualche forma di valore: nel caso del wallet, tale valore non è rappresentato –in senso diretto- dai beni solitamente racchiusi nel portafogli fisico, come denaro e documenti; il wallet custodisce piuttosto dei codici, che permettono di controllare l’equivalente digitale del denaro e dei documenti[4], propri invece -questi ultimi- del mondo materiale.

Nel corso della loro vita, i token passano di mano indefinite volte, ma senza mai lasciare il Registro di appartenenza.
Persino quando viene effettuato il c.d. burning ( = la distruzione di un token), nulla viene in realtà cancellato dal Registro Blockchain: tutto ciò che si verifica è spesso un passaggio di stato, ossia l’attribuzione del token a un wallet privo di chiave privata, con il risultato che non sarà mai più possibile disporne[5].

Ogni qualvolta Tizio trasferisce a Caio la proprietà di un token Ethereum-based –mettiamo il Token A– egli invoca una funzione che si chiama Transfer[6]: possedendo la chiave privata a cui il Token A risponde, Tizio dispone che da quel momento in poi, detto token risponderà alla chiave privata di Caio.
Risultato: d’ora in avanti solo Caio (non più Tizio!) possiederà il Token A, ovvero potrà invocarne la funzione Transfer, per esempio allo scopo di cederlo a Sempronio.

Domanda: come fa Tizio a identificare il wallet di Caio?
Risposta: tramite l’indirizzo pubblico, che viene a sua volta derivato dalla chiave pubblica[7], essendo quest’ultima generata a partire dalla chiave privata.
Non è in nessun caso possibile, tramite la chiave pubblica (visibile a chiunque), risalire alla chiave privata corrispondente. Questo perché la chiave pubblica si ricava –come stringa di testo a 512 Bit– applicando a quella privata una funzione ellittica unidirezionale, una via non percorribile a ritroso.
Se vi fosse un modo per invertire l’algoritmo crittografico utilizzato per derivare la chiave pubblica, ECDSA in Ethereum, collasserebbe l’intero impianto della Blockchain corrispondente.

Il sistema crittografico utilizzato in Blockchain è tale da rientrare nella cosiddetta crittografia asimmetrica, ossia un sistema basato su due chiavi per ciascun soggetto: la chiave pubblica viene usata per codificare, è visibile da chiunque, che può avvalersene per inviare messaggi crittografati al proprietario del wallet corrispondente; la chiave privata serve invece per decodificare i messaggi criptati, ed è nota solo al destinatario del messaggio.
In breve, se Mario Rossi vuole inviare un messaggio criptato a Luca Verdi, utilizzerà la chiave pubblica di quest’ultimo per crittografarlo; a questo punto, il messaggio potrà essere decodificato esclusivamente tramite la chiave privata di Luca Verdi, senza che egli abbia mai il bisogno di condividerla con nessuno. Non deve, appunto, perché non ne ricaverebbe alcuna utilità (ma solo problemi).
Al netto di negligenze da parte di Luca Verdi[8], questo sistema esclude il rischio che terzi si approprino della sua chiave privata, decodificando così i messaggi criptati a lui destinati.

La c.d. crittografia simmetrica non esclude invece la tipologia di rischio di cui si è appena detto.
Tale sistema si basa non su due, ma su una sola chiave crittografica per soggetto, che per criptare un messaggio deve necessariamente essere comunicata allo scrivente.
Proprio qui risiede il principale vulnus della crittografia basata su una sola chiave, che la rende inutilizzabile in ambito Blockchain: all’interno del canale comunicativo, fra mittente e (legittimo) ricevente, la chiave crittografica può essere intercettata da terzi non autorizzati.
Non solo. Come si è visto, in Blockchain, la conoscenza della chiave privata permette pieno possesso dei token che a essa rispondono; se le diverse funzioni non venissero ripartite fra una coppia di chiavi crittografiche, caratteristica fondamentale della crittografia asimmetrica, la conoscenza dell’unica chiave da parte di terzi comprometterebbe irreversibilmente la sicurezza del wallet: anche nel caso in cui la chiave venisse comunicata volontariamente, consapevolmente e per ragioni legittime, tale azione equivarrebbe a consegnare ad altri le chiavi di casa propria… e spesso anche un assegno in bianco, l’identità personale e la firma digitale.

Per riassumere, la logica della crittografia asimmetrica è la seguente: chiunque può vedere “la serratura” (ossia la chiave pubblica) della porta di un appartamento, senza che ciò comporti il minimo rischio in termini di sicurezza (infatti in Blockchain, a differenza di quanto accade nel mondo materiale, non esiste la possibilità di forzare “una serratura”, ossia di aprirla senza la chiave privata); solo il legittimo proprietario possiede la chiave privata che apre “la serratura” dell’appartamento/wallet.




§3 – Tipi di wallet
Abbiamo visto che il wallet è un costrutto informatico, talvolta anche fisico, deputato alla custodia delle chiavi crittografiche.
Esistono diversi tipi di wallet, classificabili secondo molteplici prospettive.

Iniziamo ragionando proprio sulla custodia delle chiavi crittografiche, di cui si è appena detto, da parte di chi e con quali conseguenze.
Non-custodial sono i wallet nella piena disponibilità del singolo utente, che ne è anche l’unico vero proprietario: ciò implica il controllo esclusivo delle chiavi crittografiche, in particolare di quella privata.
Per quanto attiene i custodial wallet, si tratta di portafogli che non appartengono realmente all’individuo che ne fa uso; essi vengono prestati da un provider, che ne concede l’utilizzo a terzi, senza conferire la chiave privata.
È il caso dei wallet che gli Exchanger mettono a disposizione dei propri clienti, per la detenzione delle criptovalute.
In generale, è buona regola gestire i propri token tramite non-custodial wallet. Soprattutto se essi hanno valore pecuniario, in modo da scongiurare il rischio che possano andare perduti, ad esempio se fallisce l’Exchanger presso cui si è titolari di un conto criptovalutario.

Un’altra distinzione riguarda, per dirla con leggerezza (anche se l’argomento è tutt’altro che leggero), “la temperatura”: da un lato i cold wallet, dall’altro le controparti più “calde”, gli hot wallet.
“Freddi” sono i wallet le cui chiavi crittografiche sono detenute offline, il che li rende molto più sicuri rispetto agli hot wallet; questi ultimi comportano invece la registrazione online della chiave privata, ne consegue una maggiore vulnerabilità degli stessi.
La linea di confine fra le due tipologie non è sempre netta, talvolta è sfumata e dipende dall’utilizzo che si fa del wallet, piuttosto che dalla sua natura specifica.
È per esempio il caso di MEW (MyEtherWallet), che può funzionare in entrambi i sensi, a seconda che si decida di sbloccarlo inserendo le credenziali direttamente su Sito Web, oppure vi si acceda sfruttando un dispositivo hardware, evitando di esporne online la chiave privata.

Una cosa è certa: tutti i wallet fisici sono anche cold wallet, almeno finché l’utente (scriteriato)[9] non si arrischi a digitarne online la chiave privata.
A essere rigorosi, nel momento in cui la chiave privata compare online anche una sola volta, qualunque wallet -per quanto “freddo”- si converte per sempre in un hot wallet.

Rispetto alla fisicità, si distinguono i wallet digitali e gli hardware wallet.
L’uso di un hardware wallet implica sempre la presenza di un wallet digitale, sia esso costituito dal software proprietario del dispositivo fisico, piuttosto che da un portafoglio rilasciato da terze parti e associato al device su decisione dell’utente.
In ogni caso, gli hardware wallet nascono per portare ai massimi livelli la sicurezza -già molto elevata, se l’uso è corretto- dei corrispettivi digitali.
La forza degli hardware wallet risiede nell’impedire che la chiave privata venga esposta sul PC/Notebook/Tablet/Smartphone attraverso cui si sta operando: la chiave privata non lascia mai il dispositivo fisico, che consente di firmare le transazioni senza renderla nota.

In caso di rottura o smarrimento del dispositivo, gli hardware wallet prevedono un sistema per ripristinarne un clone su un nuovo supporto fisico.
Normalmente il recupero dell’account si basa su combinazione sequenziale di 12/24 parole, detta seed phrase, che l’utente deve conservare in un luogo sicuro. Per esempio incidendola su lastra metallica (va molto di moda), da riporre in cassaforte; mai salvare seed phrase e/o chiavi private su PC.

Di regola gli hardware wallet sono dotati di credenziali di accesso, da digitare all’accensione, come un PIN o una password.
In alcuni casi, dopo un numero di tentativi di immissione falliti, i dati sul dispositivo vengono cancellati e possono essere ripristinati solo tramite seed phrase.

Tutte le Blockchain del Gruppo UniLedger prevedono l’uso, non obbligatorio ma vivamente consigliato, dei migliori hardware wallet oggi disponibili sul mercato.
Se ne possono acquistare di molto validi per poco più di 50,00 €. I modelli più semplici assomigliano a una pen drive, da connettere con un cavetto a PC e smartphone; altri ricordano un cellulare dei primi anni Duemila, anche per dimensioni, e sono dotati di un display più grande rispetto ai loro fratelli minori.
Il prezzo di vendita è influenzato dalla capienza del dispositivo, che (repetita iuvant) non serve a memorizzare token, ma applicazioni installate.
In fase di acquisto, è buona regola servirsi dei Siti ufficiali dei produttori, mai di canali di vendita secondari[10]: ciò per evitare di ricevere dispositivi manomessi, contingenza da non trascurare assolutamente. Le case madri conoscono bene il problema e si avvalgono di corrieri di fiducia.
E’ importante mantenere sempre aggiornati i software e i firmware, le cui versioni successive vengono sistematicamente rilasciate dai produttori.

Un ultimo suggerimento.
Si presti religiosa attenzione alla correttezza di indirizzi Web e link utilizzati per scaricare e/o interagire con i wallet; più in generale, prima di collegarvisi, si controllino attentamente gli indirizzi relativi a qualunque applicazione per operare su Blockchain.
È sempre necessario assicurarsi di non digitare o cliccare su indirizzi simili a quelli desiderati, perché potrebbero portare a Siti Web creati da hacker, al fine di sottrarre i token ai malcapitati.
Per evitare attacchi di phishing, è sufficiente adoperare indirizzi Web forniti da canali sicuri, come le Piattaforme del Gruppo UniLedger.
Gli antivirus tendono a offrire un servizio di verifica dell’originalità dei Siti Web, di norma contrassegnandoli con un segno di spunta, apposto accanto ai risultati dei motori di ricerca.


§4 – Ethereum wallet
Sono i wallet progettati per interagire con Ethereum e le Blockchain che fanno parte del suo ecosistema, essendo Ethereum una Blockchain pubblica, permissionless e open source, il cui codice sorgente è liberamente consultabile, modificabile e utilizzabile da chiunque.
Esistono diversi wallet compatibili con gli standard di Ethereum, disponibili come estensioni dei principali Browser e/o come applicazioni per Android e iOS, le cui chiavi crittografiche possono essere create e salvate istantaneamente, con vari sistemi; sono generalmente gratuiti e associabili a dispositivi fisici.
In altri casi, i wallet Ethereum possono presentarsi come applicazioni proprietarie di hardware wallet, da scaricare e installare senza costi aggiuntivi.



Ecco alcuni fra i più noti wallet compatibili con Ethereum: MyEtherWallet (www.myetherwallet.com), Metamask (www.metamask.io), Eidoo (www.eidoo.io), Opera Crypto Wallet (https://help.opera.com/en/touch/crypto-wallet/).

I wallet Ethereum prevedono tutti la generazione casuale della chiave privata; a partire da quest’ultima, attraverso un algoritmo di crittografia ellittica detto ECDSA, viene generata una chiave pubblica con codice a 512 bit; dalla chiave pubblica cifrata tramite algoritmo di hashing, si deriva l’indirizzo del wallet.


§5 – Metamask
Per certi versi si può considerare un normale Ethereum (hot) wallet digitale, ma è molto di più.
Per diffusione, utilità e stabilità, Metamask merita una breve trattazione a parte. Esso si presenta come un’estensione per i principali Browser oggi in circolazione, si installa in pochi istanti ed è completamente gratuito.
L’associazione più gettonata è senza dubbio con Google Chrome, con il quale Metamask offre le migliori prestazioni; funziona discretamente anche con Modzilla Firefox, oltre che con il Browser 3.0 Brave, particolarmente amato dagli utenti Blockchain.

Metamask consente di interagire con diverse Blockchain, prima fra tutte quella di Ethereum: fra gli altri, supporta quindi i token ERC-20 ed ERC-721, che sono rispettivamente gli standard fungibile e non-fungibile di Ethereum.
Metamask è probabilmente il plug-in per Browser più largamente utilizzato per interagire con le dAPP, ovvero le applicazioni decentralizzate.

Consente sia di generare degli account nativi con relative chiavi crittografiche, sia di importare wallet di terze parti, compresi quelli legati a dispositivi fisici.
Come per qualsiasi altro wallet digitale, il miglior modo per utilizzare Metamask è in associazione a un hardware wallet.

Metamask è uno strumento affidabile anche se utilizzato su smartphone, soprattutto se accoppiato con wallet fisico. Particolarmente valida in tal senso, è la combinazione Metamask-Ledger Nano S o Plus.

Poiché le Blockchain del Gruppo UniLedger prevedono tutte l’uso di Metamask, le relative Piattaforme integrano video-tutorial per sfruttarne appieno le potenzialità.


§6 – Wallet come identità di persone fisiche
Sempre più frequentemente, il wallet sarà chiamato a gestire (anche ma non solo) quei token che raccontano chi siamo, testimoniando le nostre identità e i traguardi che abbiamo raggiunto nel corso della vita: ne sono un esempio i certificati di laurea in NFT (Non Fungible Token), come gli attestati di competenze professionali, o i corsi di formazione obbligatoria previsti dagli Ordini professionali, piuttosto che PoAP (Proof of Attendance Protocol) che dimostrino la nostra presenza a determinati eventi.
In un mondo che si sta evolvendo verso il Paradigma 3.0 del Web, sarà sempre più frequente accedere a determinati servizi grazie al possesso di un NFT, assicurato dal proprio wallet, fino al giorno in cui questo modus operandi diventerà la regola.
Allora, in forza dell’inoppugnabilità e dell’impossibilità di falsificare informazioni e documenti registrati in Blockchain, diventerà normale utilizzare il proprio wallet per firmare un contratto, o iscriversi a un corso universitario di secondo livello, che presupporrà il possesso di un NFT attestante il conseguimento della laurea del livello precedente.
Il wallet diventerà il mezzo per gestire e/o dimostrare la propria storia clinica, le lettere di presentazione rilasciate dal precedente datore di lavoro, i contratti fideiussori di cui si è contraenti o beneficiari, la carta d’identità, il passaporto e la propria fedina penale: il tutto nell’assoluta assenza di falsi documentali, perché in Blockchain non ne esistono.





Approfondimenti/vedi anche: UniLedger ed Ethereum; Dietro le quinte di UniGreen – il wallet proprietario di UniLedger.



[1] Il presente articolo ha lo scopo di offrire alcuni spunti per comprendere, a grandi linee, cosa sia un wallet Blockchain.
Non s’intende fornire una trattazione esaustiva in materia, perché ciò richiederebbe la scrittura di interi volumi, alcuni destinati a un pubblico altamente specializzato.
In questa sede non si impartiscono linee guida per scegliere e/o utilizzare un wallet: ciò è oggetto dei corsi di formazione che Gruppo UniLedger eroga per i propri Clienti, come dei tutorial disponibili sulle nostre Piattaforme.

[2] Vitalik Buterin è il creatore di Ethereum.

[3] Come vedremo più avanti, in Ethereum possiamo considerare i token come dei mini-software: essi rispondono unicamente a chi detiene le chiavi crittografiche in grado di controllarli, ossia di attivarne le funzioni previste dai programmatori.

[4] In realtà il wallet digitale permette di possedere molto più che gli equivalenti digitali di denaro e documenti, rappresentati da criptovalute e NFT: praticamente non esistono limiti ai beni, siano essi materiali o nativamente digitali, che possono essere tokenizzati.

[5] Il burning di un token può essere previsto o meno in fase di programmazione, al verificarsi di certe condizioni, per diverse ragioni. In altri casi può avvenire in modo accidentale, per errore o negligenza da parte di chi possiede un token.
L’argomento burning è molto ampio e non viene affrontato in questa sede.
Ai fini del presente articolo, non sono necessari ulteriori approfondimenti.

[6] La funzione Transfer è solo un esempio fra le molteplici funzioni invocabili in un token, le quali vengono previste in fase di programmazione.

[7] Sull’argomento si fa spesso confusione. In molti confondono l’indirizzo e la chiave pubblica di un wallet, che non sono esattamente la stessa cosa: dalla chiave pubblica si ricava l’indirizzo.

[8] Ovvero se il proprietario del wallet custodisce correttamente la propria chiave privata, che mai -in nessun caso- deve essere resa nota a terzi: su tale presupposto si fonda la sicurezza della crittografia asimmetrica.

[9] La condizione qui descritta, per fini puramente didattici, rappresenta un paradosso: non avrebbe alcun senso digitare online la chiave privata custodita in un hardware wallet, semplicemente perché già disponibile all’attivazione del dispositivo.

[10] Si evitino ad esempio gli store online: Amazon, Ebay e simili, anche se il rivenditore porta il nome del produttore.


© Copyright 2023 Gruppo Uniledger - All Rights Reserved
Uniledger Srl, P.Iva 02159850664 - info@uniledger.it