Chiave privata e pubblica in Bitcoin (spiegato semplice)

Chiave privata e chiave pubblica in Bitcoin

In questo articolo ti spiego cosa sono la chiave privata e la chiave pubblica in Bitcoin e ti mostro i risvolti pratici.

Andiamo con ordine.

Chiave privata e chiave pubblica in Bitcoin sono argomenti presi in prestito dal mondo della crittografia.

La crittografia comprende l’insieme di tecniche che rendono dei messaggi illegibili ad occhi esterni ma, per chi possiede i giusti elementi o chiavi, è possibile decodificare quei messaggi ed elaborarli.

Fai già ampiamente uso della crittografia in diverse circostanze della vita: con le app di messaggistica, nei servizi bancari, nei siti web e in tante altre situazioni. Tuttavia non te ne accorgi e campi benissimo lo stesso.

I termini chiave privata e chiave pubblica fanno riferimento ad un tipo di crittografia detta ‘asimmetrica’ o anche RSA e, nel mondo del Bitcoin, queste due chiavi vengono utilizzate per garantire che una transazione in bitcoin possa essere effettuata solo dal legittimo titolare.

In termini pratici, chiave privata e pubblica altro non fanno che assicurarti la proprietà e l’utilizzo esclusivo del tuo cripto-denaro (ma c’è un grosso MA che vedrai dopo.)

Scendiamo un po’ nel dettaglio per capire cosa sono queste chiavi e, soprattutto, cosa ti serve sapere da un punto di vista pratico.

Cos’è la chiave privata in Bitcoin e a cosa serve?

La chiave privata è la componente che permette al possessore di bitcoin di spenderli. Per far partire una transazione bitcoin, infatti, c’è bisogno della firma del titolare di quei bitcoin con la corrispettiva chiave privata.

Per fare un paragone, puoi pensare alla chiave privata come il PIN della carta di credito.

Per chiave privata in Bitcoin si intende un numero lungo 256 bit e cioè una serie di 0 e 1 ripetuti 256 volte. Tuttavia, questo numero enorme si può può scrivere in diversi formati.

Ecco un esempio di chiave privata da 256 bit convertita in una chiave privata a 77 cifre.

Chiave privata bitcoin da 256 bit a 77 cifre
Esempio di chiave privata in codice binario da 256 bit convertito in un numero da 77 cifre

Tuttavia, dire che la chiave privata è solo un ‘numero’ è un po’ come dire che la pasta è solo ‘grano’.

Sono affermazioni che non ti fanno capire la magia che ci sta dietro.

Quanto è sicura una private key? Si può indovinare? Si può hackerare?

La risposta è NO.

Chi volesse indovinare una specifica chiave privata di 77 cifre dovrebbe fare innumerevoli tentativi.

Ad essere precisi, il numero di tentativi è 10^77 o, in alternativa, 2^256. E quant’è 2^256?

È circa il numero di atomi presente nell’universo conosciuto.

Se prendi tutto ciò che c’è nell’universo (il parco sottocasa, la tua città, L’Europa, il pianeta intero, poi Marte, Giove, le stelle etc.etc.) e lo dividi in atomi, potrai contare un numero tanto grande quanto il numero di tentativi necessari in media per scoprire una chiave privata in Bitcoin.

Mi segui?

È complesso. Anche per delle macchine o dei computer quantistici.

Come si crea la chiave privata?

La chiave privata è un numero e quindi potresti crearla manualmente con carta e penna. Putroppo, non sarebbe tanto sicura perché non sarebbe davvero casuale.

Nell’atto pratico, quando configuri un wallet non-custodial per bitcoin per la prima volta, sarà il wallet stesso a creare la chiave privata. Il compito è svolto dal wallet per garantire che il numero sia DAVVERO casuale.

Tuttavia, alcuni Bitcoiner duri e puri che non si fidano nemmeno dei wallet, creano da soli la loro chiave privata. I metodi più diffusi comprendono tirare i dadi o usare le carte. Ciò che conta è che tutto sia davvero casuale o – per dirla in termini tecnici – che ci sia una buona entropia.

Creare una chiave privata con i dadi o le carte
Creare una chiave privata con i dadi o le carte

Usando un wallet, invece, ti affidi ad un software che crea la chiave privata.

Il wallet, tuttavia, non ti mostrerà direttamente la chiave privata bensì un gruppo di 12 o 24 parole. Questo gruppo di parole si chiama Seed e ci puoi estrarre la chiave privata.

Com’è possibile estrarre da delle parole un numero? Ne ho parlato in questo articolo sul Seed.

Ok, ora sai cos’è la chiave privata, che funzione svolge e come si crea. C’è un ultimo aspetto da considerare ESTREMAMENTE DELICATO e cioè dove viene conservata la chiave privata.

Dove sono custodite le chiavi private?

Se usi un wallet come la stragrande maggioranza delle persone, allora le chiavi private saranno costudite all’interno del wallet.

Tu ne avrai una copia (sottoforma di Seed) che sarà l’unico elemento con cui puoi recuperare l’accesso ai tuoi fondi qualora il tuo wallet andasse distrutto o rubato.

Qui c’è da fare delle distinzioni però.

  • Se usi un hot wallet, le chiavi private sono custodite direttamente nello smartphone o nel computer.
  • Se usi un cold wallet, le chiavi private sono generate e custodite in quello specifico dispositivo.

Leggi l’approfondimento: La differenza tra hot e cold wallet

Tuttavia, c’è un’altra ipotesi. La peggiore.

Usando un wallet online o un exchange la chiave privata che controlla i tuoi fondi è custodita da qualcuno che non sei tu.

Questo è il motivo per cui, se hai fondi in Bitcoin o criptovalute di cui vuoi avere pieno controllo evitando sorprese, dovresti usare un wallet non-custodial. Se poi ci tieni ad avere il massimo della sicurezza, dovresti blindare i tuoi averi con un hardware wallet.

Ok, adesso ne sai abbastanza sulla chiave privata.

Passiamo all’altra chiave. La chiave pubblica.

Cos’è la chiave pubblica in bitcoin e a cosa serve?

La chiave pubblica è un elemento fondamentale nel quotidiano di Bitcoin. Infatti, dalla chiave pubblica vengono generati gli indirizzi che trasmetterai per ricevere transazioni in bitcoin.

Anche la chiave pubblica in Bitcoin è un ‘numero molto grande’ ma, a differenza della chiave privata, non permette di spendere i tuoi bitcoin.

Per dirla tutta, anche la chiave pubblica dovrebbe essere nascosta ad occhi indiscreti. Infatti, chi conosce la tua chiave pubblica potrà conoscere tutti gli indirizzi che ti appartengono e il relativo saldo.

Una grande perdita di privacy.

Purtroppo, questo avviene molto spesso e cioè ogni qualvolta interagisci con il Network di Bitcoin appoggiandoti al nodo di qualcun’altro.

In poche parole, se non hai un nodo ma fai transazioni in cripto, puoi star certo che il gestore del wallet che usi conosce o potrebbe conoscere la tua chiave pubblica e tutti gli indirizzi che ne derivano.

La blockchain è trasparente, sorry. (Nota che invece la chiave privata non viene mai trasmessa.)

Come si crea la chiave pubblica?

La chiave pubblica si crea dalla chiave privata.

Abbiamo visto che la chiave privata è un numero molto grande e, su quello, il wallet implementerà un algoritmo crittografico detto ECDSA Elliptic Curve Digital Signature Algorithm’.

Dall’applicazione di questo processo crittografico salterà fuori la chiave pubblica.

È importante notare che dalla chiave privata si genera la chiave pubblica ma dalla chiave pubblica non si può risalire alla chiave privata. Nemmeno se ti fai santo.

Una volta che si dispone della chiave pubblica, si applicano algoritmi o hash di vario genere per creare i famosi indirizzi bitcoin, e cioè una stringa di numeri che trasmetterai per ricevere bitcoin (pensalo come un IBAN).

Nell’immagine successiva, ti ho messo una visione organizzata del processo di cui ti ho parlato finora. Come vedi, tutto ‘origina’ dalla chiave privata.

Il processo di generazione della chiave privata e chiave pubblica in Bitcoin
Dalla chiave privata agli indirizzi. (Questa è una semplificazione con numeri inventati)

Conclusioni: Dalla matematica alla dura realtà

Tra chiave pubblica e chiave privata c’è un profondo legame matematico che permette all’individuo che ha ricevuto bitcoin sugli indirizzi da lui creati di essere il solo nell’universo a poterli spendere.

In questo modo, il protocollo di Bitcon (e cioè tutto ciò che non vedi ma che succede) è affidabile perchè si garantisce la legittimità e verificabilità di ogni transazione.

Come vedi, ho scritto a livello di protocollo.

Mentre la chiave privata non può essere hackerata o indovinata, nemmeno con i più potenti computer al mondo, nel mondo reale la storia è diversa.

La chiave privata (o il seed) ti può essere sottratta e, con essa, il potere di muovere i tuoi bitcoin.

Tu puoi anche essere il legittimo proprietario di alcuni bitcoin ma, se qualcuno ha la tua chiave privata – a livello di protocollo – avrà la tua stessa legittimità per spendere quei tuoi sudati e preziosissimi bitcoin.

Mi segui?

Il Bitcoin non riconosce proprietari, riconosce dei numeri.

Quello che ne consegue è che la chiave privata devi conoscerla solo tu.

Tutto chiaro?

Spero di averi aiutato nel comprendere cosa sono queste due componenti e come intervengono nel magico mondo del Bitcoin.

Se vuoi, puoi seguire Checkpoint Bitcoin su Facebook – Twitter – Linkedin oppure puoi iscriverti alla newsletter  e ricevere gli aggiornamenti per gli iscritti.

Fabio Arcieri
Fabio Arcieri
Sono laureato in economia e mi occupo di marketing e comunicazione. Per anni ho avuto la sensazione che ci fosse qualcosa di rotto nelle fondamenta della società e, dopo aver scoperto Bitcoin, finalmente sono riuscito a mettere insieme i pezzi. Checkpoint Bitcoin è il mio contributo alla causa del Bitcoin.
Potrebbe interessarti
Continua a navigare per aree tematiche
Segui Checkpoint Bitcoin

Lascia un commento