Immagina di voler chiedere a qualcuno dall’altra parte del mondo di spedirti una lettera con del denaro. Potresti inviargli un lucchetto aperto: quella persona mette il denaro in una scatola, chiude il lucchetto con uno scatto e te la rispedisce. Solo tu hai la chiave per aprirlo. Puoi distribuire liberamente i lucchetti, ma custodisci la chiave come la tua stessa vita. È quasi esattamente così che funziona ogni transazione in criptovaluta.
In parole semplici
Le criptovalute usano un sistema chiamato crittografia asimmetrica: si dice «asimmetrica» perché due chiavi collegate matematicamente svolgono funzioni diverse. La tua chiave pubblica (e l’indirizzo del wallet che ne deriva) è il lucchetto che condividi con chiunque voglia inviarti fondi. La tua chiave privata è l’unica chiave che lo apre. Tra le due c’è una funzione unidirezionale: puoi ricavare la chiave pubblica da quella privata, ma non puoi risalire dalla chiave pubblica a quella privata. È proprio questa strada a senso unico, garantita dalla matematica, a mantenere sicuro il sistema.
Condividere il tuo indirizzo wallet permette a qualcuno di inviarti criptovalute, e nient’altro. Non gli dà alcuna possibilità di spostare o usare i tuoi fondi.
Come si generano le chiavi private e pubbliche
Una chiave privata è un numero casuale di 256 bit. Immaginala come un intero casuale astronomicamente grande, estratto da un insieme così vasto che la probabilità che due persone ne generino uno uguale è trascurabile. Questa casualità è talvolta chiamata entropia ed è alla base della sicurezza.
A partire dalla chiave privata, il wallet calcola una chiave pubblica usando un ramo della matematica chiamato moltiplicazione su curve ellittiche. La curva specifica usata dalla maggior parte delle blockchain si chiama secp256k1. L’algoritmo si chiama ECDSA (Elliptic Curve Digital Signature Algorithm, algoritmo di firma digitale a curve ellittiche). La chiave pubblica si ottiene moltiplicando il punto generatore della curva secp256k1 per la chiave privata: un’operazione unidirezionale, impossibile da invertire con le capacità di calcolo disponibili.
Non ti serve capire la matematica. Conta il principio: si inserisce la chiave privata e si ottiene quella pubblica, senza scorciatoie per fare il percorso inverso.
Dalla chiave pubblica all’indirizzo wallet
L’indirizzo del wallet non è la chiave pubblica così com’è: è una sua versione compressa e sottoposta a hash. Una funzione hash è un algoritmo unidirezionale che converte qualsiasi dato in un risultato di lunghezza fissa. Basta cambiare un solo carattere del dato iniziale perché il risultato cambi completamente.
Gli indirizzi Bitcoin, per esempio, si ottengono applicando SHA-256 e poi RIPEMD-160 alla chiave pubblica, anteponendo un byte di versione, calcolando un checksum di quattro byte tramite doppio SHA-256 e codificando infine tutto in Base58Check, un formato compatto e resistente agli errori di battitura. Il risultato è la stringa familiare che inizia con 1, 3 o bc1.
Ethereum segue un percorso diverso: un indirizzo Ethereum è composto dagli ultimi 20 byte dell’hash Keccak-256 della chiave pubblica, preceduti da 0x. Si ottiene così la riconoscibile stringa di 42 caratteri.
Il passaggio aggiuntivo dell’hash è importante per la sicurezza. Anche nell’ipotetico scenario futuro in cui la matematica delle curve ellittiche venisse compromessa, un malintenzionato dovrebbe comunque superare il problema distinto della preimmagine dell’hash prima di poter accedere ai fondi. Questa protezione a più livelli spiega perché gli indirizzi non assomigliano affatto alle chiavi private, pur derivando matematicamente da esse.
Che cosa controlla davvero la tua chiave privata
Chi possiede la chiave privata controlla i fondi, punto. Non esistono email per reimpostare la password, linee di assistenza clienti o banche da chiamare. Se qualcuno ottiene la tua chiave privata, può svuotare immediatamente e in modo permanente il tuo wallet di criptovalute.
In pratica, la chiave privata serve a creare una firma digitale. Quando autorizzi una transazione, il wallet usa la chiave privata per produrre una firma univoca che dimostra la tua approvazione di quel trasferimento specifico, senza mai rivelare la chiave. Chiunque può verificare la firma usando la chiave pubblica, ma solo la chiave privata avrebbe potuto crearla. Ecco come funziona una transazione blockchain: la tua istruzione firmata viene inviata alla rete, i validatori verificano la firma e la transazione viene registrata.
La tua frase seed (detta anche mnemonica) è la copia di backup leggibile da una persona, con cui puoi rigenerare la chiave privata. Se la perdi, perdi per sempre l’accesso ai fondi. Le frasi seed meritano un approfondimento a parte; in breve, custodisci la tua frase seed con la stessa riservatezza della chiave privata.
Gli hardware wallet portano la sicurezza delle chiavi a un livello superiore. Conservano la chiave privata in un chip sicuro dedicato, che non la espone mai al dispositivo connesso a Internet che stai usando. La firma avviene all’interno dell’hardware wallet: la chiave non lascia mai il dispositivo.
Che cosa puoi condividere in sicurezza e che cosa no
Questa è la regola più importante:
- Puoi condividere: l’indirizzo del wallet (la chiave pubblica sottoposta a hash). È così che le persone ti inviano criptovalute. Condividerlo non permette a nessuno di accedere ai tuoi fondi.
- Non condividere mai: la chiave privata o la frase seed, con nessuno, in nessun caso.
Una truffa comune consiste nel fingersi addetti all’assistenza e sostenere di aver bisogno della tua chiave privata o della frase seed per «verificare» il wallet o elaborare un rimborso. I servizi legittimi, Zelcore compreso, non ti chiederanno mai queste informazioni. Nessuno che voglia davvero aiutarti avrà bisogno della tua chiave privata.
Un altro fatto utile: dal punto di vista matematico, una singola chiave privata può corrispondere a più indirizzi su blockchain diverse. Per questo i wallet HD (deterministici gerarchici) basati sugli standard BIP-32 e BIP-44 possono gestire centinaia di indirizzi su molte chain a partire da un’unica frase seed: un solo backup copre tutto.
Come il wallet gestisce le chiavi al posto tuo
I wallet moderni si occupano di tutto questo, così non devi mai mettere mano a una chiave privata in formato grezzo. Il wallet genera la coppia di chiavi, ricava gli indirizzi e conserva in sicurezza la chiave privata. Quando invii fondi, crea e allega automaticamente la firma digitale necessaria.
La distinzione importante è tra non custodial e custodial. Un wallet non custodial (come Zelcore) significa che solo tu possiedi le chiavi: il software del wallet non può accedere ai tuoi fondi, e nemmeno l’azienda che lo gestisce. Un exchange custodial detiene le chiavi private per conto tuo. È comodo, ma significa che ti affidi a una terza parte: la community usa a ragione l’espressione «non sono le tue chiavi, non sono le tue monete».
Capire il rapporto tra le chiavi aiuta a comprendere il vero valore della frase seed. La frase seed non sblocca un solo account: tramite la derivazione BIP-32/BIP-44 rigenera l’intero albero delle chiavi private per ogni account del wallet. Farne correttamente una copia di backup è la misura di sicurezza più importante che tu possa adottare.
Punti chiave
- La tua chiave pubblica (e l’indirizzo wallet che ne deriva) è come un lucchetto: puoi condividerla liberamente per permettere agli altri di inviarti fondi.
- La tua chiave privata è l’unica chiave di quel lucchetto: non condividerla mai con nessuno, in nessuna circostanza.
- Gli indirizzi wallet non sono chiavi pubbliche non elaborate: sono versioni abbreviate e sottoposte a hashing, che aggiungono un ulteriore livello di sicurezza.
- Chi possiede la chiave privata controlla i fondi: se viene persa o rubata, non esiste un modo per recuperarli.
- Una frase seed è la copia di backup principale della tua chiave privata: perderla equivale a perdere la chiave stessa.
- I wallet non custodial ti lasciano il controllo; i servizi custodial custodiscono le chiavi per conto tuo.



