Smart contract, protocollo, proof of work, wallet: i termini che indicano gli strumenti propri della tecnologia blockchain sono sempre più parte del nostro quotidiano.
Basta pensare che nel corso degli ultimi mesi, l’utilizzo dell’acronimo NFT è cresciuto di oltre l’11.000%, guadagnando il titolo di parola dell’anno 2021 secondo il dizionario Collins.
È sempre più importante conoscere e comprendere il loro significato e le loro funzionalità.
NFT, ad esempio, sta per Non Fungible Token, espressione che indica il certificato digitale che garantisce proprietà, paternità e tracciabilità su blockchain di un asset unico, quale può essere un’opera d’arte, un contenuto creativo o un oggetto da collezione.
Dove si trova questo certificato?
Naturalmente sul nostro archivio distribuito, decentralizzato e immutabile: la blockchain! (Se stai muovendo i primi passi nell’universo blockchain ti consigliamo di leggere il post introduttivo del nostro blog Blockchain in parole semplici)
Come posso detenerlo e custodirlo?
Con il possesso di un wallet blockchain. Ma cos’è un wallet e come funziona?
Eccoci approdati all’argomento di questo post.
Prima di tutto, back to basics.
Partiamo da una definizione più appropriata e completa di wallet blockchain.
Cos’è un wallet?
Il wallet è il portafoglio digitale reso sicuro dall’impiego della tecnologia blockchain, indispensabile per possedere, custodire e gestire criptovalute e NFT e per operare nell’ecosistema blockchain, cioè effettuare transazioni e utilizzare DApp (applicazioni decentralizzate).
Potremmo paragonarlo ad un conto in banca.
Proprio come avviene per il conto bancario, infatti, hai le tue personali credenziali di accesso e puoi utilizzarlo per ricevere ed inviare denaro, in questo caso digitalmente.
Quale è la grande differenza?
Per aprire un conto, devi obbligatoriamente ricevere l’approvazione della banca, che resterà sempre l’intermediario per ogni singola operazione che riguarda i tuoi risparmi.
Per creare un wallet blockchain, invece, come vedremo in questo articolo, non hai necessariamente bisogno di un intermediario, ma puoi scegliere di effettuare operazioni nell’ecosistema blockchain in totale autonomia, senza che nessuno abbia la possibilità di requisire o bloccare il tuo saldo.
Inoltre, non sei tenuto a fornire i tuoi dati personali o alcuna informazione riservata: la tecnologia blockchain ti consente di aprire e possedere un wallet ed effettuare operazioni anche in totale anonimato o pseudonimato.
Cosa si trova all’interno di un wallet blockchain?
Facile, dirai!
Appurato che il wallet è un portafoglio digitale, basta seguire la logica.
Se il portafoglio fisico, tradizionale contiene monete, il wallet digitale conterrà valute digitali, ossia criptovalute.
In realtà, non è proprio così.
Il wallet crypto, infatti, custodisce valori digitali in senso ampio: criptovalute, quindi, come Bitcoin, Ether o stablecoin, ma anche qualsiasi tipologia di token, di standard fungibile o non fungibile.
Come li custodisce?
Ecco un primo importante nodo da sciogliere.
Se vogliamo essere precisi, in effetti, dire che un wallet contiene token e criptovalute non è esatto, perché valori e beni digitali unici non sono archiviati all’interno del wallet, ma sulla rete blockchain.
Potremmo dire piuttosto che li protegge e li salvaguarda, poiché genera e detiene al suo interno le informazioni crittografiche che permettono di identificare il singolo wallet e di accedervi per interagire con la blockchain.
A voler essere precisi, potremmo dire che più che un portafogli…è un portachiavi!
La proprietà e la gestione di ogni wallet blockchain è regolata dalla crittografia asimmetrica, cioè dal possesso da parte dell’utente di un set di codici crittografici, tra i quali la celeberrima (😉) coppia chiave pubblica e chiave privata.
Per approfondire caratteristiche e meccanismo di funzionamento di questi due elementi, puoi leggere il post dedicato sul nostro blog.
Qui intanto cerchiamo di fare una prima sintesi e darti una panoramica di quali sono i codici custoditi nel wallet.
Per poter gestire correttamente e in modo sicuro il wallet è necessaria prima di tutto la seed o recovery phrase, una sequenza di 12-24 parole che funziona come una chiave root.
La seed phrase genera e dà accesso a tutte le chiavi e indirizzi del wallet e può anche rigenerarli, in caso di necessità.
È un codice che devi custodire con la massima cura, poiché chiunque ne entra in possesso ha a disposizione tutte le informazioni necessarie per accedere al tuo portafoglio digitale.
La chiave privata funziona esattamente come una password per il login.
Puoi immaginarla come il PIN della tua carta di credito.
Ti permette di accedere al wallet e firmare le transazioni che effettui su blockchain.
È un numero lungo 256 bit.
Cosa significa?
Vuol dire che, in linguaggio macchina, si presenta come una sequenza di 0 e 1, talmente lunga che è pressoché impossibile trovare al mondo due persone con la stessa identica chiave privata.
Per capire meglio, immagina di poterla creare tu stesso.
In effetti, potresti.
Ti serve soltanto una monetina, un foglio dove segnare i risultati e…la pazienza di lanciare la moneta per 256 volte di fila e appuntare ogni volta sul foglio 0 se esce testa e 1 se esce croce.
Alla fine, ti troveresti a leggere un lungo codice binario che, tradotto nel sistema numerico esadecimale, corrisponde ad un numero casuale intero compreso tra 0 e 2256 (-1).
Ecco, questa è la tua possibile chiave privata, un’informazione che, come la seed phrase, devi tenere assolutamente lontano da sguardi indiscreti per non esporre il tuo portafoglio al pericolo di furti e manomissioni.
La chiave pubblica viene generata dalla chiave privata attraverso l’algoritmo ECDSA-512 ed è fondamentale per poter poi generare l’indirizzo del wallet.
Chi la conosce, ha accesso a tutti i tuoi indirizzi e può vedere il saldo del tuo portafoglio.
Applicando l’algoritmo RipeMD 160 alla chiave pubblica, si ottiene infine l’indirizzo pubblico, che indica la “posizione” del singolo wallet sul registro della blockchain ed è fondamentale per poter archiviare e scambiare valore.
Può essere descritto come una sorta di IBAN, che ha nuovamente l’aspetto di un numero intero, questa volta compreso tra 0 e 2160 (-1).
Identifica il tuo wallet, senza però permetterne l’accesso ad altri utenti, e può essere condiviso per indicare ad altri su quale indirizzo vuoi ricevere criptovalute e asset digitali.
Ecco un altro nodo molto importante.
Per comprendere bene come funziona un wallet, è necessario introdurre una distinzione fondamentale: quella tra chi detiene la proprietà del wallet e chi ha la possibilità di accedervi, due entità che non necessariamente coincidono.
Proprio sulla base di questa distinzione tra accesso e proprietà, i wallet si distinguono, infatti, in due grandi categorie: custodial e non custodial.
Partiamo da una domanda.
Chi ha il controllo sulle tue valute digitali e sugli NFT che hai creato, acquistato o ricevuto?
Forse ti sorprenderà, ma la risposta è: puoi scegliere.
Sei tu, infatti, a decidere se avere la piena gestione dei tuoi asset o se, invece, affidarla a qualcun altro, magari più esperto di te nell’holding e nel trading di beni digitali su blockchain, e delegare a lui la responsabilità di una corretta amministrazione del tuo portafoglio.
La differenza tra servizio non custodial e custodial è tutta qui.
Con un servizio non custodial hai il massimo controllo del tuo wallet.
A prima vista, questa è sicuramente la soluzione migliore perché significa che puoi accedere ad un ecosistema sostanzialmente privo di intermediari e compiere trasferimenti di valore operando direttamente dal tuo portafoglio personale.
Ecco però che arriva il “se”.
Con questo tipo di portafoglio virtuale, devi avere la massima cura nell’eseguire regolarmente un backup dei file che contiene e della cifratura tramite chiavi e mantenere assolutamente al sicuro chiavi di accesso e seed phrase.
Se, infatti, hai la sfortuna o la leggerezza di smarrirle, perdi non solo ogni possibilità di accesso al tuo wallet, ma anche tutti i fondi che sono custoditi al suo interno.
Meglio allora un wallet custodial?
Vediamolo insieme.
Poniamo il caso che, per tua tranquillità, decidi di non basarti solo sulle tue forze, ma di rinunciare in parte al principio di decentralizzazione proprio della blockchain e affidare la tua chiave privata ad un ente terzo, un exchange o un fornitore di servizi custodial.
E’ un sollievo, vero?
Sai che se perdi la password, puoi contare sul supporto di un intermediario e della sua assistenza clienti per recuperarla ed accedere di nuovo in tutta tranquillità al tuo account.
Anche in questo caso però c’è un “se”.
L’intermediario che scegli possederà la chiave privata del tuo wallet e potrà quindi disporre pienamente e liberamente dei tuoi fondi.
Che significa? Che dovrà essere assolutamente affidabile!
Il tuo portafoglio, infatti, sarà al sicuro, se e soltanto se questa terza parte saprà e vorrà custodirlo in modo corretto.
Dovrai sceglierla con cura…altrimenti rischierai di veder violato non soltanto l’accesso al tuo wallet, ma anche quello ai dati personali che gli hai affidato e sono archiviati nel suo database.
…Conosci la storia di Mount Gox?
Era un celeberrimo exchange per lo scambio di criptovalute, molto simile a Coinbase, e primo sito autorevole al mondo per la conversione di dollari statunitensi in Bitcoin.
Nel 2014 aveva raggiunto un tale trust e livello di affidabilità che era arrivato a gestire il 70% di tutte le transazioni Bitcoin del mondo.
Perché ne parliamo?
Perché oggi la fama di Mt. Gox si deve soprattutto ad un fatto: essersi reso protagonista del più famoso hack di tutti i tempi.
Nello stesso 2014, ha infatti dovuto dichiarare bancarotta, a seguito di una violazione dei suoi sistemi che ha mandato in fumo e fatto evaporare nel nulla circa 850.000 Bitcoin dei suoi clienti.
La lezione di Mt. Gox naturalmente è stata recepita e oggi è estremamente difficile che una situazione del genere si ripeta.
In ogni caso, ci insegna quanto possa essere importante e cruciale tenere in mani assolutamente sicure la chiave privata di accesso al wallet ed evitare in tutti i modi che possa essere compromessa.
Abbiamo detto che la chiave privata è custodita all’interno del tuo wallet.
Ma in che modo puoi accedervi?
Dipende dal tipo di wallet blockchain che hai deciso di possedere.
Esistono fondamentalmente 3 possibilità e cioè la chiave può essere:
L’hardware wallet rappresenta l’opzione in assoluto più sicura per custodire criptovalute.
È la soluzione ideale in particolare per investitori a lungo termine e HODler, cioè coloro che tendono ad utilizzare il wallet come un deposito di asset, senza investire.
Perché è così sicuro?
Perché le chiavi di accesso pubblica e privata non vengono create e archiviate su un server connesso ad Internet, ma in un dispositivo elettronico ad inserimento che puoi immaginare come una chiavetta USB.
Questo dispositivo genera i codici crittografici, in forma di sequenze di numeri casuali (RNG), e li custodisce offline, in modo da mantenerli in salvo da ogni possibile minaccia informatica e inaccessibili se non a chi detiene fisicamente il device.
È il meccanismo di funzionamento che viene definito anche “cold storage” e ti permette di validare e firmare le transazioni con le tue chiavi attraverso il dispositivo fisico, senza essere connesso alla rete.
Per una maggior praticità e rapidità d’uso, alcune piattaforme decentralizzate hanno individuato una soluzione che combina la sicurezza dell’hardware wallet con la possibilità per l’utente di essere comunque in rete, una sorta di gestione ibrida, con una piccola parte dei fondi del wallet non archiviata in cold storage, ma mantenuta online nei cosiddetti “hot wallet”.
Al contrario della tipologia hardware, i software o hot wallet si basano proprio sulla connessione al web.
Hanno un meccanismo di funzionamento agile, che permette di accedere ai fondi e gestirli in modo immediato e intuitivo. Questo ne ha fatto l’opzione preferita dalla maggior parte dei servizi che forniscono crypto wallet e dai trader ed utenti che effettuano con frequenza transazioni in criptovalute.
Come sempre, c’è un ma.
Le password, infatti, sono memorizzate su un server online.
Questo significa sì una grande semplicità di utilizzo, ma al tempo stesso una maggiore vulnerabilità agli attacchi informatici e la rinuncia ad una parte dei vantaggi di decentralizzazione della blockchain.
In base alla modalità di accesso e fruizione, esistono tre tipi distinti di software wallet: web, desktop e mobile.
Il web wallet permette di accedere alla rete blockchain attraverso un’interfaccia browser, computer o smartphone, senza necessità di installare o scaricare niente.
Può essere di tipo custodial o non custodial.
In generale, comunque, anche nella versione custodial, i fornitori del servizio puntano a preservare quanto più possibile la decentralizzazione del sistema, permettendo agli utenti di disporre della propria chiave privata in modo esclusivo o tutt’al più condiviso, attraverso sistemi come l’opzione multi-firma.
Il desktop wallet richiede l’installazione di un software sul tuo pc e la sua esecuzione ogni volta che vuoi accedere ai tuoi asset.
Nel momento in cui lo crei, il tuo computer archivia in automatico il file “wallet.dat”, che contiene le informazioni crittografiche della chiave privata ed entrerà in esecuzione ad ogni accesso, dietro tua autorizzazione tramite password.
Grazie a questo meccanismo, il desktop wallet è in generale più sicuro delle versioni web poiché subisce il rischio di attacchi informatici solo nella misura in cui il pc stesso è esposto a malware e virus.
È tipicamente non custodial e richiede quindi da parte tua la massima cura nel conservare password e chiave privata e l’esecuzione periodica di un backup del file wallet.dat, in modo da permetterti di accedere al portafoglio senza problemi e da qualsiasi dispositivo.
Il mobile wallet altro non è che l’adattamento del desktop wallet ai sistemi operativi degli smartphone, iOS o Android, e ne condivide meccanismi di funzionamento e criticità, come la vulnerabilità ai virus.
Molti crypto wallet, uno su tutti il celebre Metamask, sono disponibili sia in versione mobile che come estensione del browser.
Consente un uso del wallet estremamente pratico ed efficiente, poiché basta la scansione di QR Code per effettuare transazioni e pagamenti su base quotidiana, in modo semplice e immediato.
Come suggerisce il nome, i paper wallet prevedono un approccio decisamente tradizionale e una modalità di custodia degli asset considerata da molti ormai obsoleta.
Niente a che fare con device elettronici, software o web: la chiave e l’indirizzo del wallet sono semplicemente stampati su un foglio di carta in forma di QR Code.
Scansionandoli, puoi accedere al tuo wallet ed eseguire transazioni su blockchain.
Per sua natura, il paper wallet è un’ottima alternativa al cold storage: essendo gestito offline, garantisce la piena sicurezza dei tuoi asset da attacchi informatici.
Ha però due evidenti limiti intrinseci:
Se, infatti, perdi il foglio su cui sono stampate le chiavi, perdi anche ogni possibilità di accedere al tuo wallet.
Alcuni siti web di paper wallet hanno cercato di arginare questo problema, dando la possibilità di generare nuovi indirizzi e chiavi offline.
Ogni transazione riguarda infatti obbligatoriamente l’intero saldo presente nel wallet e, una volta effettuata, lascerà il wallet vuoto e inutilizzabile.
A questo, certo, si può ovviare migrando chiave privata e valute in un desktop wallet ed effettuando poi da questo singole transazioni…ma allora perchè, dirai giustamente, non creare direttamente un software wallet?!
In apertura al post, dando la definizione di wallet, abbiamo anche introdotto le sue funzionalità principali.
Abbiamo detto che il wallet è uno strumento indispensabile per poter operare nell’ecosistema blockchain, in particolare per possedere e gestire NFT, token e criptovalute.
È giunto il momento di vedere più in dettaglio cosa significa.
A cosa serve e come funziona un wallet blockchain?
Il wallet custodisce le criptovalute ed è lo strumento attraverso cui passa necessariamente la loro gestione su blockchain.
Inviarle o riceverle è un’operazione piuttosto semplice. È sufficiente accedere al wallet del mittente, selezionare l’importo ed inviarlo all’indirizzo del wallet del destinatario.
È invece più articolata la gestione degli NFT.
Il possesso di un wallet blockchain dà la possibilità di creare, collezionare e scambiare, attraverso la compravendita, token non fungibili, secondo modalità legate alla tipologia di servizio scelto, custodial o non custodial.
Il marketplace svolgerà il ruolo di garante e intermediario nella creazione di Non Fungible Token e in ogni transazione che li riguarda e fornirà il necessario supporto in caso di errori.
È fondamentale scegliere la piattaforma con cura e in modo mirato, in modo che sia compatibile con il token e, una volta coniati, ne consenta la compravendita.
Come in tutti i casi di servizi custodial, anche in questo al pregio di un sistema estremamente flessibile, agile e “protetto” fa da contraltare lo svantaggio di un ritorno alla centralizzazione, che comporta da un lato la rinuncia da parte dell’utente al controllo completo dei propri asset e dall’altro il rischio di hackeraggio.
Per creare un NFT, dovrai avere nel tuo portafoglio le criptovalute necessarie a coprire i costi del processo di minting su blockchain. Potrai poi conservarlo nel tuo wallet o inviarlo ad altri indirizzi.
Per la vendita o l’acquisto di un NFT, il venditore dovrà caricare e mettere in vendita il suo asset sulla piattaforma e questa, in automatico, si occuperà di effettuare la transazione, trasferendone il possesso al nuovo proprietario e inviando l’importo del ricavato in criptovalute al venditore.
La piattaforma ti consentirà di mantenere il pieno controllo dei tuoi asset e di operare su blockchain direttamente dal tuo wallet anche in forma anonima o pseudonima, a tutela completa della tua privacy.
La piena decentralizzazione è naturalmente un vantaggio che può tramutarsi in difficoltà per chi non abbia familiarità con i meccanismi della tecnologia e in particolare con il funzionamento dei wallet.
Per creare un NFT, in questo caso, ti basterà collegare il tuo wallet alla piattaforma e caricarvi il file (audio, video o immagine che sia) con i metadati che lo descrivono, tenendo presente che una volta depositato on-chain non avrai più il potere di modificarlo.
Per la vendita o l’acquisto di un NFT, invece, potrai effettuare un trasferimento diretto, senza il ricorso ad intermediari, tra il tuo wallet e quello della controparte, secondo specifiche regole fissate da uno smart contract (per approfondire post blog).
Come abbiamo visto, ciascuno dei due servizi presenta vantaggi e limiti.
L’evoluzione tecnologica, per fortuna, non si ferma e si va verso lo sviluppo di soluzioni in grado di coniugare le migliori caratteristiche di sistema custodial e non custodial e offrire marketplace non custodial multi-piattaforma (cross-platform).
Ci siamo.
Ti sei appassionato al tema e hai deciso di creare il tuo personale wallet blockchain.
Cosa devi fare?
Cerchiamo di capire in modo semplice e immediato qual è la procedura da seguire, attraverso un esempio pratico.
Prendiamo come riferimento uno dei wallet più popolari e diffusi per l’acquisto di NFT e criptoarte: Metamask, l’estensione gratuita di Ethereum compatibile con browser Chrome, Firefox, Opera e Brave e nella sua versione beta anche con sistemi operativi iOS e Android.
Metamask permette di creare un portafoglio molto versatile per la custodia di ETH e token, sia di standard fungibile che non fungibile, e per l’utilizzo di DApp della blockchain Ethereum, come OpenSea, uno dei principali marketplace per la vendita di digital collectibles.
Ecco quali passaggi prevede (li trovi spiegati in modo semplice anche in questo video):
a) Aprire la pagina di download ufficiale Metamask.io
b) Selezionare il proprio browser e aggiungere l’estensione
c) Accettare l’informativa sulla privacy. A questo punto, Metamask crea in automatico un nuovo indirizzo di Ethereum
d) Scegliere una password per proteggere il proprio account, inserirla e custodirla con cura perché non può essere in alcun modo recuperata
e) Scegliere tra le due opzioni proposte:
– aggiungere wallet esistente e in questo caso dovrai solo inserire la seed phrase, cioè la sequenza esatta di 12-24 parole di recupero generate al momento della creazione del portafoglio
– creare un nuovo wallet e dovrai allora scegliere una password d’accesso e salvare la seed phrase che verrà generata, con tutte le parole in ordine esatto
f) Fare clic sui 3 punti sul lato destro dell’account e scegliere “Copia indirizzo negli appunti” per avere l’indirizzo del tuo wallet
g) Et voilà: Il tuo wallet è pronto!
Troppo articolato?
Vorresti prima sperimentare e metterti alla prova?
Hai bisogno prima di appassionarti hands-on senza troppe implicazioni?
E allora pronto, attento, via!
Ecco lo strumento gratuito e a tua disposizione creato da KNOBS, che ti consente di sperimentare sulla rete di test Ropsten o creare il tuo primo wallet sulla Mainnet di Ethereum, in modo semplice e veloce:
⇒ https://knobs-wallet.web.app/wallet/create
Buon divertimento!
Il web wallet permette di accedere alla rete blockchain attraverso un’interfaccia browser, computer o smartphone, senza necessità di installare o scaricare niente.
Può essere di tipo custodial o non custodial.
In generale, comunque, anche nella versione custodial, i fornitori del servizio puntano a preservare quanto più possibile la decentralizzazione del sistema, permettendo agli utenti di disporre della propria chiave privata in modo esclusivo o tutt’al più condiviso, attraverso sistemi come l’opzione multi-firma.