Vai al contenuto
buybitcoinsmart

Glossario / Indirizzi e chiavi

Chiave privata

Che cos'è una chiave privata?
Una chiave privata è il numero segreto di 256 bit che autorizza la spesa di un output bitcoin; chiunque la scopra può spostare i bitcoin, e nessuno può emetterla di nuovo.

La proprietà di bitcoin è il possesso delle chiavi, non una voce nel registro di qualcun altro. Una chiave è un numero casuale inferiore a circa 1,16 per 10 elevato alla 77ª, ed è per questo che indovinarne una non è una minaccia, mentre generarla male lo è. I wallet moderni non ti mostrano mai le chiavi: le derivano tutte da una frase di recupero di 12 o 24 parole, e quella frase è ciò che proteggi.

Come funziona

Una chiave privata è di 32 byte, normalmente scritta come 64 caratteri esadecimali, scelta a caso nell'intervallo da 1 fino a poco sotto l'ordine della curva secp256k1. Quell'ordine è 115.792.089.237.316.195.423.570.985.008.687.907.852.837.564.279.074.904.382.605.163.141.518.161.494.337, un numero di 78 cifre. Praticamente ogni valore di 32 byte è una chiave valida, ed è questo che rende la generazione così semplice e il furto con la forza bruta così senza speranza.

Firmare è l'unica cosa che la chiave fa. Per spendere un output, il tuo wallet produce con la chiave una firma sulla transazione, e ogni nodo verifica quella firma con la chiave pubblica che l'output richiede. La firma dimostra che la chiave esiste senza esporla, quindi una spesa confermata pubblica una firma e mai il segreto che vi sta dietro. Bitcoin ha usato solo ECDSA fino a Taproot; le firme Schnorr, specificate nel BIP-340, svolgono la stessa funzione per le spese Taproot.

La casualità è il punto in cui si annida la vera vulnerabilità. Lo spazio delle chiavi non si può scandagliare, ma un software scadente può ridurlo. Ad agosto 2013 il progetto Bitcoin ha emesso un avviso di sicurezza per un difetto nel generatore di numeri casuali di Android che rendeva prevedibili le chiavi sui telefoni interessati, e come conseguenza diretta furono rubati dei bitcoin. I brain wallet, in cui la chiave veniva da una frase inventata da una persona, sono stati svuotati sistematicamente quando gli attaccanti hanno iniziato a precalcolare dizionari. Entrambi i guasti riguardano l'entropia, non una crittografia violata.

Perché questo conta quando compri bitcoin

Comprare su un exchange non ti dà una chiave. Ti dà un saldo nel database dell'exchange, coperto dai bitcoin che l'exchange detiene con chiavi sotto il controllo del suo personale. È un assetto del tutto normale mentre fai trading, e uno pessimo per i risparmi. Mt. Gox ha congelato i prelievi e ha avviato la procedura fallimentare a febbraio 2014, e i suoi creditori hanno aspettato fino a luglio 2024 perché arrivassero i primi rimborsi.

Il prelievo è il momento in cui la custodia passa davvero. Il tuo wallet deriva una chiave dalla tua frase di recupero, fornisce l'indirizzo corrispondente e, una volta confermata la transazione dell'exchange, nessuna azienda si frappone tra te e i bitcoin. Da quel momento le modalità di errore sono a tuo carico: un backup smarrito, una frase di recupero fotografata, un sito di phishing che ti chiede di «convalidare» il wallet.

Tre abitudini coprono gran parte del rischio. Genera le chiavi su un dispositivo fatto per questo, così il segreto viene creato e usato dentro un hardware che non lo esporta mai. Fai il backup della frase di recupero su qualcosa che resista all'acqua e al fuoco, e mai come foto o nota nel cloud. E tratta qualsiasi richiesta di una chiave o di una frase di recupero come un attacco, senza eccezioni, perché nessun exchange, nessun fornitore di wallet e nessun addetto all'assistenza ne ha alcun uso.

Dove si trova la chiave in ogni passo di un primo acquisto

Segui un singolo acquisto dall'inizio alla fine e una chiave privata si muove in una sequenza molto precisa. Invii denaro a un exchange e compri: per te non esiste ancora nessuna chiave, solo una riga in un registro. Incolli un indirizzo di prelievo: il tuo wallet ha generato quell'indirizzo da una chiave derivata dalla tua frase di recupero, e la chiave non ha mai lasciato il dispositivo. L'exchange trasmette una transazione che blocca i bitcoin sul tuo indirizzo: la chiave non ha ancora fatto nulla. Mesi dopo decidi di spendere, e solo allora la chiave produce la sua prima firma, che la rete verifica e registra per sempre.

Da questa sequenza derivano due cose. Una chiave può avere il controllo di bitcoin per anni prima di essere mai usata, quindi un wallet che «non ha fatto nulla» non è inattivo né scaduto. E il passaggio di proprietà è avvenuto al prelievo, non all'acquisto, ed è per questo che il passo del prelievo è quello che vale la pena ricontrollare.

Chiave privata vs frase di recupero

Una chiave privata ha il controllo su un solo insieme di bitcoin; una frase di recupero genera un intero wallet pieno di chiavi. La frase è una codifica leggibile dall'uomo dell'entropia dietro una gerarchia BIP-32: 12 parole portano 128 bit, 24 parole portano 256 bit, e da quella radice il wallet deriva miliardi di chiavi lungo un percorso di derivazione. Ripristinare la frase ricostruisce ognuna di esse. Ripristinare una singola chiave ricostruisce una singola chiave, e i bitcoin che il wallet deteneva altrove restano persi.

Chiave privata vs Wallet Import Format

Una chiave privata è un numero e il Wallet Import Format è un modo di scriverlo. WIF avvolge gli stessi 32 byte in un byte di rete, un flag di compressione opzionale e un checksum, poi codifica il tutto in Base58. Nulla cambia nel segreto sottostante, quindi una stringa WIF merita esattamente la protezione del numero grezzo: chi la legge può spendere i bitcoin subito.

Da non confondere con

Domande frequenti

Qualcuno potrebbe indovinare la mia chiave privata?

Non cercandola. Esistono circa 1,16 volte 10 alla 77ª chiavi possibili, quindi la forza bruta è fuori portata per qualsiasi computer che si possa mai costruire. Le chiavi vengono rubate perché sono state generate con una casualità debole o copiate da un dispositivo, mai perché qualcuno le abbia trovate per fortuna.

Il mio exchange detiene le mie chiavi private?

Sì, a meno che tu non abbia prelevato. Il saldo su un exchange è un diritto sui bitcoin che l'exchange gestisce con le proprie chiavi, ed è per questo che un fallimento o un blocco dell'exchange incide sui tuoi bitcoin. Prelevare verso un wallet che gestisci tu è ciò che trasferisce le chiavi a te.

Cosa succede se perdo la mia chiave privata?

I bitcoin restano visibili sulla blockchain per sempre e diventano definitivamente non spendibili. Non c'è alcun ripristino, nessun servizio di recupero e nessuna autorità che possa riassegnarli, ed è per questo che il backup della tua frase di recupero è la cosa più importante che possiedi.

Dovrei mai digitare la mia chiave privata su un sito web?

No, in nessuna circostanza. I wallet, gli exchange e il personale di assistenza legittimi non ne hanno mai bisogno, e ogni sito che ne chiede una sta rubando bitcoin. Importa o svuota una chiave solo dentro un wallet software in esecuzione su un dispositivo che gestisci tu.

Leggi anche

Termini correlati

Altro in Indirizzi e chiavi

Leggi questa pagina in inglese