Cos'è un wallet Ethereum?

Un wallet Ethereum è un software o un hardware che consente agli utenti di interagire con la blockchain di Ethereum. I wallet consentono agli utenti di gestire i propri conti sulla rete Ethereum. Un conto Ethereum è una sorta di “account” che può tenere traccia del proprio saldo, inviare e ricevere transazioni da altri indirizzi Ethereum, creare smart contract, interagire con applicazioni decentralizzate e altro ancora.

Un indirizzo Ethereum è una stringa pubblica di lettere e numeri che inizia con "0x". Il saldo di ogni indirizzo Ethereum è visibile sulla blockchain, anche se non si sa chi controlla quale indirizzo in quanto, appunto, un indirizzo sulla rete è rappresentato solo da una stringa alfanumerica.

I wallet Ethereum sono controllati attraverso una chiave privata, una sorta di "password", che consente agli utenti di spostare i fondi presenti all’interno del wallet. Queste chiavi private dovrebbero essere note solo al creatore del wallet, poiché chiunque le conosca può accedere ai suoi fondi.

Esistono diversi tipi di wallet Ethereum tra cui scegliere: è possibile semplicemente appuntare la chiave pubblica e privata su un foglio di carta, utilizzare un wallet software su PC o smartphone, oppure fare uso di un dispositivo hardware dedicato.

Ecco tutto quello che c'è da sapere su come scegliere un wallet Ethereum e su quale sia il modo migliore per conservare ETH.

Comprendere i wallet Ethereum

I wallet Ethereum sono disponibili in tutte le forme e dimensioni, ma non tutti hanno le stesse caratteristiche. Alcuni wallet consentono solo di inviare Ether (ETH) tra gli indirizzi, mentre altri hanno più funzionalità e permettono persino di creare smart contract, ossia accordi auto-eseguibili scritti in linguaggio di programmazione.

La configurazione di un wallet Ethereum spesso comporta il download o la memorizzazione di una chiave privata o di una seed phrase. Le chiavi private consentono agli utenti di inviare o spendere le proprie criptovalute, mentre la seed phrase dà accesso al proprio wallet e a tutte le chiavi private presenti. Le chiavi private e la seed phrase sono fondamentali per garantire la sicurezza dei fondi custoditi all'interno di un wallet. Finché gli utenti sono a conoscenza della loro password principale (la seed phrase), possono accedere ai loro fondi.

La memorizzazione delle chiavi private tramite programmi di terze parti, come le app, può sembrare un'alternativa semplice, ma eventuali utenti malintenzionati possono accedere a questi servizi se il dispositivo dell'utente viene compromesso. Ricordiamo che l'accesso alle chiavi private significa accesso ai fondi!

Esistono due tipi principali di account Ethereum: Externally Owned Account (EOA) e Contract Account. I primi sono costituiti da coppie di chiavi crittografiche pubbliche e private, le quali impediscono le falsificazioni dimostrando che il mittente ha realmente firmato una transazione. Poiché gli utenti usano la loro chiave privata per firmare le transazioni, hanno il controllo sui fondi del loro conto. 

Tecnicamente gli utenti non possiedono in maniera diretta i fondi – i quali si trovano sul libro mastro di Ethereum, ovvero la blockchain – bensì le chiavi private per accedere ad essi. Il libro mastro di Ethereum è un sistema di registrazione che tiene traccia in modo pseudo-anonimo delle identità degli individui, dei saldi di ETH e di tutte le transazioni valide tra i partecipanti alla rete.

Nei Contract Account, uno smart contract viene implementato nella rete. Ogni smart contract possiede un indirizzo Ethereum unico controllato dal suo codice.

Nonostante le differenze di cui sopra, entrambi i tipi di account Ethereum hanno quattro caratteristiche in comune: un nonce, un saldo, un codeHash e una storageRoot, come elencato di seguito.

  • Nonce: Per gli Externally Owned Account, questo numero rappresenta il numero di transazioni inviate dall'indirizzo del conto. Per i Contract Account, il nonce è il numero di smart contract creati dall'account.
  • Saldo: Questo indirizzo ETH possiede un certo numero di wei (un'unità di denominazione ETH), con 1e+18 wei (notazione esponenziale) per ETH. 1e+18 wei significa che 1 ETH equivale a 1x1018 wei.
  • codeHash: Questo hash rappresenta il codice di un account sulla Ethereum Virtual Machine (EVM). Il computer virtuale di Ethereum, noto come EVM, è la parte del protocollo che esegue effettivamente l'elaborazione delle transazioni. Il campo codeHash per gli EOA è l'hash del testo vuoto. Per i conti dei Contract Account, il codice viene sottoposto a hash e memorizzato come codeHash.
  • storageRoot: Questo hash è il root node di un Merkle Patricia tree (un "albero" di hash). Questo albero, vuoto di default, codifica l'hash del contenuto del deposito del conto ETH.

Full node e light node

Analogamente ai wallet Bitcoin, i wallet Ethereum possono essere definiti full node o light node: il primo richiede all'utente di scaricare l'intera blockchain sul proprio dispositivo, mentre il secondo è soltanto una piccola applicazione. L'esecuzione di un full node consente agli utenti di verificare le transazioni sulla rete invece di reperire da altri i dati di ciò che accade nella blockchain, ma consuma più risorse computazionali – come spazio di archiviazione e RAM – a causa delle dimensioni della blockchain.

I full node consentono alla rete di rimanere decentralizzata e possono essere eseguiti attraverso i principali client Ethereum, ossia i software che consentono ai nodi di eseguire la blockchain. I full node sono spesso utilizzati dagli utenti più esperti e più dediti alla rete.

Per gli utenti meno esperti, un light node – che non richiede una significativa allocazione di risorse computazionali – può avere più senso. I light node richiedono meno spazio e possono essere facilmente eseguiti su dispositivi con minore potenza di calcolo, come gli smartphone. Poiché i light node non possiedono una copia completa della blockchain, hanno bisogno di fare affidamento sui full node per ottenere tali informazioni e verificare l'intero stato del sistema nei block header.

I block header sono sezioni dei blocchi estratti sulla blockchain che contengono informazioni sul blocco stesso. Questa operazione avviene in background, migliorando in modo significativo l'esperienza dell'utente.

Hot e cold wallet

Nel settore delle criptovalute esistono principalmente due tipi di wallet: gli hot wallet e i cold wallet. Gli hot wallet sono quelli installati su dispositivi connessi a Internet, come un PC o un dispositivo mobile.

I cold wallet, invece, conservano le chiavi private dell'utente offline: questo elimina diversi punti di attacco che gli hacker potrebbero sfruttare, ad esempio infiltrando malware nei dispositivi degli utenti per accedere alle loro chiavi. Il malware è un software progettato per danneggiare o ottenere un accesso non autorizzato.

Gli hot wallet sono spesso più facili da usare e consentono agli utenti di accedere ai propri fondi in qualsiasi momento e da qualsiasi luogo. D'altro canto, i cold wallet sono in genere meno intuitivi e possono rendere un po' più difficile spostare i propri fondi.

Per motivi di sicurezza, gli utenti dovrebbero conservare la maggior parte delle criptovalute offline in cold wallet, spostando in hot wallet solo ciò che serve per svolgere determinate attività di breve durata.

Conservare le proprie criptovalute all'interno di cold wallet offline è comparabile a conti bancari e cassette di sicurezza, ovvero metodi più sicuri di conservare il denaro fiat. E proprio come per i conti correnti, le criptovalute che le persone portano con sé per le transazioni quotidiane dovrebbero essere conservate in hot wallet.

Tipologie di wallet Ethereum

Alcuni utilizzano gli exchange di criptovalute e altri servizi, tra cui i marketplace e i servizi di prestito offerti dai wallet, per conservare le proprie disponibilità di Ether. Si tratta dei cosiddetti wallet custodial, ossia wallet che custodiscono le chiavi private degli utenti. Il servizio controlla le chiavi private del wallet e consente all'utente di accedere ai fondi in esso contenuti; non è tuttavia l'utente stesso ad avere controllo diretto dei fondi.

Conservare i fondi presso terzi attraverso i wallet custodial aumenta il rischio di controparte, ossia il rischio che la controparte non adempia ai propri obblighi. Il servizio che detiene le chiavi private, ad esempio, potrebbe essere hackerato o diventare disonesto, impedendo di fatto all’utente di poter accedere ai propri fondi.

Per sfruttare appieno le applicazioni decentralizzate (DApp) costruite su Ethereum, gli utenti devono avere accesso alle proprie chiavi private. Le applicazioni decentralizzate sono applicazioni digitali che si basano su blockchain.

Wallet differenti possono essere utili per tipologie diverse di utenti. La maggior parte dei wallet consente agli utenti soltanto di inviare e ricevere Ether o token ERC-20. Lo standard ERC-20 definisce una serie di regole per l'emissione di token sulla rete Ethereum. Tuttavia, non tutti i wallet condividono le stesse caratteristiche. 

Alcuni wallet possono essere collegati a una carta di credito o di debito per consentire agli utenti di acquistare criptovalute direttamente nel loro wallet. Altri includono la possibilità per gli utenti di detenere token non fungibili (NFT), ovvero crypto-asset sulla blockchain con dati di identificazione unici. Ether è ad esempio un asset fungibile: un ETH avrà sempre il medesimo valore di qualsiasi altro ETH, ma non possono esistere due NFT uguali.

Con i wallet Ethereum è possibile utilizzare anche le DApp, ovvero i programmi digitali sulla blockchain. Piattaforme di social media, giochi, marketplace e servizi finanziari sono stati costruiti su Ethereum e altre blockchain. I wallet con browser integrati compatibili con le DApp consentono agli utenti di accedervi direttamente.

I wallet possono anche agevolare l'acquisto diretto di criptovalute, consentendo agli utenti di collegare il proprio conto bancario. I trasferimenti da un conto bancario spesso applicano commissioni più basse e rendono più facile acquistare e vendere criptovalute attraverso pagamenti ricorrenti.

Per rafforzare la sicurezza, i wallet Ethereum possono consentire agli utenti di scegliere gli indirizzi a cui trasferire i propri fondi. Se qualcuno tenta di trasferire fondi a un indirizzo non presente nell'elenco, la transazione viene bloccata. Gli account Ethereum possono anche offrire conti con più firme (multisig), che richiedono più di una firma per spostare i fondi. I conti multisig sono comuni in diverse piattaforme blockchain e anche nel sistema finanziario tradizionale.

Alcuni wallet possiedono molte delle caratteristiche descritte sopra.

Va comunque sottolineato che non è necessario scegliere un unico wallet Ethereum: sono le chiavi private che ci permettono di accedere al nostro conto sulla blockchain. Questo può essere consultato in vari modi, da smartphone, desktop o browser.

L'interfaccia utilizzata per connettersi alla blockchain di Ethereum cambia, ma gli indirizzi, le transazioni e gli altri dati rimangono gli stessi, in modo simile al modo in cui browser diversi possono essere utilizzati per accedere allo stesso sito web. Detto ciò, limitare il numero di wallet utilizzati è consigliabile per garantire una maggiore sicurezza dei fondi.

Mobile wallet

I mobile wallet sono light node che non richiedono agli utenti di scaricare l'intera blockchain. I mobile wallet sono applicazioni che possono essere installate sui dispositivi mobile con la stessa facilità di qualsiasi altra applicazione dell'App Store o di Google Play, e possono essere utilizzate per accedere ai propri fondi utilizzando una connessione cellulare.

Si affidano ai validatori per trasmettere informazioni precise sullo stato attuale della rete. Uno degli svantaggi di un mobile wallet è che è facile da hackerare e, in caso di smarrimento del dispositivo mobile, si può perdere l'accesso ai propri fondi Ethereum. Tuttavia, avere dei backup può mettervi al sicuro da eventuali perdite derivanti da hack o dalla perdita involontaria delle chiavi.

I mobile wallet più diffusi supportano Ethereum e i token ERC-20 e sono dotati di browser integrati pronti a interagire con le applicazioni decentralizzate e con il settore della finanza decentralizzata (DeFi), costituito da DApp che offrono servizi finanziari.

Desktop wallet

I desktop wallet sono eseguibili su sistemi operativi (OS) come Windows, Linux e MacOS. I desktop wallet sono ideali per coloro che preferiscono gestire le proprie finanze su computer. Poiché la maggior parte dei desktop wallet conserva le chiavi in locale, e gli utenti dovranno utilizzare il proprio computer per accedere al wallet Ethereum.

Questi wallet permettono agli utenti sia di utilizzare dei light clienti, che di scaricare un full client con l'intera blockchain di Ethereum. Il download di un full client è considerato un'alternativa preferibile perché elimina la necessità di ottenere dati accurati dai validatori: un full client permette di convalidare autonomamente le transazioni, aumentando così la sicurezza.

I desktop wallet non solo permettono agli utenti di inviare e ricevere Ethereum, ma possono fornire una serie di funzioni avanzate che consentono agli utenti di creare smart contract o di eseguire un full node, offrendo di fatto agli utenti più funzionalità all'interno dei loro wallet.

Poiché i desktop wallet sono connessi a Internet, sono considerati hot wallet. Le chiavi private di questi portafogli sono memorizzate sui computer degli utenti e non su server esterni, il che li rende comunque vulnerabili agli hacker.

Wallet con interfaccia web

I wallet con interfaccia web sono un'alternativa popolare ai mobile wallet e ai desktop wallet, in quanto sono essenzialmente siti web che permettono agli utenti di interagire con la blockchain di Ethereum dopo aver collegato i loro wallet alle interfacce.

I web wallet consentono agli utenti di utilizzare un browser web per connettersi ai propri account. Questi wallet sfruttano il cloud storage e possono essere accessibili da qualsiasi parte del mondo. Il cloud storage si avvale di enormi server informatici ospitati in centri dati che immagazzinano fisicamente i dati e li rendono accessibili ai clienti via internet. I dati memorizzati vengono forniti on-demand, eliminando la necessità di acquistare e gestire apparecchiature di archiviazione dati.

L'utilizzo diretto dei wallet su interfaccia web può essere rischioso, in quanto gli utenti devono affidare le proprie chiavi private a un sito web. Sebbene alcune interfacce web siano considerate affidabili, gli utenti possono comunque essere vulnerabili a una serie di attacchi non correlati ai wallet stessi.

Degli hacker potrebbero ad esempio creare un sito web in tutto e per tutto identico al sito legittimo, rubando i dati della vittima non appena questa esegue l'accesso. Analogamente, possono verificarsi attacchi al Domain Name System (DNS) in cui l'attività internet degli utenti viene reindirizzata a un server maligno che utilizza i dati raccolti, come le credenziali di accesso, per accedere alle loro informazioni.

Estensioni per browser

Le estensioni del browser vengono utilizzate sui browser desktop per interagire con le applicazioni decentralizzate e possono memorizzare sia i token ETH che ERC-20, supportando un numero quasi infinito di indirizzi. Per gli utenti più avanzati, i wallet per browser sono utili anche perché possono essere utilizzati per interagire con altre blockchain.

Le estensioni del browser sono considerate un'alternativa più sicura alle interfacce web, in quanto memorizzano le chiavi private degli utenti sui loro browser in modo criptato. Per accedere ai loro wallet, gli utenti dovranno proteggerli con una password che ne rafforza la sicurezza. 

L'installazione è semplice, e avviene nello stesso modo in cui gli utenti installano qualsiasi altra estensione. Alcuni browser sono già dotati di wallet Ethereum integrati che rendono ancora più facile l'interazione con le DApp.

Hardware wallet

Gli hardware wallet sono dispositivi fisici che conservano le chiavi private degli utenti offline; sono pertanto dei cold wallet. I wallet hardware devono essere collegati a un computer per poter spostare i fondi, e sono protetti da password o PIN.

Per accedere ai fondi, un malintenzionato dovrebbe avere accesso fisico all'hardware e conoscere la password di protezione dei fondi. Questi dispositivi fisici vanno tuttavia acquistati: il loro utilizzo è poco conveniente se si conserva una quantità limitata di fondi.

È importante non acquistare mai un hardware wallet usato o venduto da un fornitore di terze parti. Se il wallet non proviene dall'azienda madre, potrebbe essere stato compromesso.

Paper wallet

I paper wallet sono una tipologia molto elementare di cold wallet: prevedono essenzialmente la stampa delle chiavi private che controllano i fondi su un foglio di carta. Per accedere ai fondi, i malintenzionati devono avere accesso a quel foglio. Il vantaggio principale di questo tipo di wallet è la sua accessibilità, in quanto sono sufficienti una penna e un pezzo di carta.

A causa della fragilità del materiale su cui sono stampati, questi wallet potrebbero non essere adatti per essere conservati a lungo termine: si sono verificati casi in cui la carta è stata distrutta o gettata per errore. Tra le alternative ci sono le targhe in titanio, più costose ma decisamente più resistenti.

Aggiungere fondi al tuo wallet Ethereum

Dopo aver scelto un wallet Ethereum da utilizzare, è necessario aggiungervi dei fondi. Per interagire con le applicazioni decentralizzate su Ethereum, gli utenti avranno bisogno di Ether, la criptovaluta nativa del network che viene utilizzata per pagare le transazioni.

L'Ether può essere acquistato su exchange centralizzati e depositato successivamente nel wallet dell'utente. A tal fine è necessario inviare i fondi a un indirizzo pubblico di un wallet, che può essere visto come l'equivalente di un IBAN utilizzato nel sistema finanziario tradizionale.

Ogni transazione su Ethereum comporta una commissione che viene pagata ai validatori della rete che contribuiscono a mantenerne l'integrità. L'importo delle commissioni può variare in base alla domanda di spazio di blocco sulla blockchain. Per spazio di blocco si intende la quantità di spazio disponibile in ogni blocco di dati aggiunto alla rete. I software wallet forniscono stime delle commissioni per aiutare gli utenti a non pagare troppo.

Vale la pena notare che gli Externally Owned Account (EOA) comunicano tra loro e con gli smart contract attraverso messaggi. Il termine transazione si riferisce a un pacchetto di dati firmato che memorizza un messaggio, che può essere inviato tra gli account. Queste comunicazioni sono "avvolte" in transazioni finanziate con Ether.

Gli smart contract possono anche inviare messaggi ad altri smart contract. Affinché ciò avvenga, è necessario che si verifichi una transazione che crei un nuovo contratto, in modo che quest'ultimo possa essere attivato.

Tenere al sicuro i tuoi ETH

Spesso gli utenti non si preoccupano della sicurezza dei loro fondi quando sono depositati in un conto bancario, né si preoccupano del fatto che una terza persona possa accedervi e svuotarlo senza autorizzazione.

Quando si tratta di wallet Ethereum e di altri wallet di criptovalute in generale, i suddetti scenari sono possibili ed evitarli è fondamentale per la protezione dei fondi. La community di Ethereum raccomanda agli utenti di controllare più volte i dati per assicurarsi di inviare sempre i fondi all'indirizzo giusto, di interagire sempre con le applicazioni che intendono utilizzare e di annotare la chiave privata come si deve.

Anche aggiungere alla barra dei preferiti il proprio web wallet e i siti web delle applicazioni decentralizzate che si utilizzano regolarmente è una best practice nota per evitare schemi di phishing. Alcuni wallet con estensione del browser hanno un elenco di schemi di phishing noti e bloccano automaticamente i siti web indesiderati per proteggere gli utenti.

Quando si ha a che fare con i protocolli DeFi, è sempre importante verificare se il servizio sia legittimo e sottoposto a revisione da parte di esperti di sicurezza. Per scoprirlo, basta cercare sul web il nome del servizio e la parola "audit" o "review".

Infine, tenete presente che se sembra troppo bello per essere vero, probabilmente non lo è. I truffatori spesso hackerano gli account dei VIP sui social per promuovere finte truffe con giveaway e e altre strategie per ingannare gli utenti e spingerli a inviare loro ETH. Per evitare questi schemi è sufficiente ignorare ciò che sembra troppo bello per essere vero e compiere le proprie ricerche sui progetti più recenti.

È una buona idea detenere ETH?

Se volete diversificare il vostro portafoglio utilizzando asset diversi da BTC, dovreste prendere in considerazione Ether. Tuttavia, poiché il mercato delle criptovalute è altamente volatile e non regolamentato, è necessario investire con cautela. 

Di conseguenza, investire in Ethereum è una decisione saggia solo se lo si fa in maniera attenta, seguendo rigorose regole per la gestione del rischio. Ma come per qualsiasi altra criptovaluta – tutti asset estremamente volatili – la regola fondamentale è sempre la stessa: mai investire più di quanto siete disposti a perdere.

Traduzione a cura di Giorgio Libutti