Capire Bitcoin – che cos’è una xpub?

Xpub è un acronimo che significa Extended Public Key, cioè Chiave Pubblica Estesa. Insieme alla xprv (Extended Private Key, cioè Chiave Privata Estesa) permette di generare un numero quasi infinito di indirizzi bitcoin, senza dover per forza memorizzare e proteggere le singole chiavi private per ciascun indirizzo creato.

Cosa significa e come si mette in pratica quanto appena descritto? Facciamo un passo indietro nella storia dei bitcoin tornando fino al febbraio 2012. Si è sempre detto che per proteggere la propria privacy è buona norma utilizzare un nuovo indirizzo bitcoin per ogni transazione. Ma ogni nuovo indirizzo richiede la propria chiave privata. I primi wallet (portafogli) bitcoin funzionavano proprio così: generavano e memorizzavano una nuova chiave privata per ogni nuovo indirizzo generato.

Ora provate ad immaginare di gestire migliaia di wallet come ad esempio fanno gli exchanges. Si tratta di una cosa veramente complicata.

BIP32

L’11 febbraio del 2012 Pieter Wuille presentò alla comunità di sviluppatori bitcoin il BIP32. BIP sta per Bitcoin Improvement Proposal, che significa Proposta di miglioramento di bitcoin. Il BIP32 descriveva il funzionamento degli HD Wallets, Hierarchical Deterministic Wallets.

Funzionamento di un HD Wallet

Questo tipo di portafoglio consentiva di generare una quantità quasi infinita di indirizzi utilizzando un solo seme. Quel singolo seme è chiamato xprv (“chiave privata estesa”)

Ricapitolando: la xprv e la xpub permettono di generare un numero infinito di indirizzi. In particolare, la xprv consente di “firmare” le transazioni e quindi di spostare i bitcoin da un indirizzo ad un altro. La xpub funziona solo “in visualizzazione”. Non è in grado, quindi, di firmare le transazioni e trasferire i bitcoin, ma solo di visualizzare il saldo di ciascun indirizzo. Infine, da una chiave privata vengono generati sempre gli stessi indirizzi.

Comprendiamo, pertanto, l’importanza e l’utilità del BIP32. Possiamo in qualsiasi momento rigenerare tutta la sequenza di indirizzi. Questo è fondamentale nel caso in cui il nostro PC o il nostro smartphone si rompa.

Finché siamo in possesso del nostro seme originale (xprv), chiamato anche seed, saremo in grado di rigenerare tutti gli indirizzi seguendo uno schema standard e potremo così recuperare l’intero portafoglio!

Con questo è tutto. Se avete domande o curiosità non pensateci su e scrivetemi.


Vai al capitolo precedente: Capire Bitcoin – Che cos’è una transazione

Vai al prossimo articolo: Capire Bitcoin: che cos’è il seed