Vai al contenuto
buybitcoinsmart

Glossario / Indirizzi e chiavi

Chiave padre

Noto anche come Parent key, Chiave pubblica padre, Parent public key.

Che cos'è la chiave padre?
La chiave padre si trova un livello direttamente sopra un'altra chiave nell'albero di un wallet HD, e ogni chiave estesa porta quattro byte che identificano con un'impronta la propria chiave padre.

Specificato nel BIP-32.

La relazione genitore-figlio nel BIP-32 è un rapporto, non un grado. La chiave master è l'unica chiave senza genitore, e registra questo fatto con un'impronta del genitore di quattro byte a zero e una profondità di 0. Ogni altra chiave nomina il proprio genitore nei byte iniziali della propria serializzazione, ed è così che il software stabilisce dove appartiene una chiave isolata.

Come funziona

Una chiave padre si identifica tramite un'impronta, non tramite la chiave stessa. Prendi la chiave pubblica compressa del genitore, calcolane l'hash con SHA-256 e poi con RIPEMD-160, e conserva i primi quattro byte del risultato. Quei quattro byte occupano una posizione fissa nella chiave estesa da 78 byte del figlio, subito dopo il byte di profondità e prima dell'indice del figlio.

Quattro byte sono 4.294.967.296 valori possibili, il che rende un'impronta un'etichetta e non una prova. Il BIP-32 afferma esplicitamente che le impronte possono entrare in collisione e che le implementazioni non devono dipendervi per la sicurezza. Esistono perché un wallet possa ordinare rapidamente le chiavi nell'albero corretto, e qualsiasi verifica reale comporta la derivazione della chiave e il confronto del risultato.

Il genitore fornisce anche entrambi gli ingredienti necessari a una derivazione: il suo chain code e il suo materiale di chiave. È per questo che le chiavi estese viaggiano in coppia. Se consegni a qualcuno una chiave pubblica del genitore senza il chain code, da essa non si può calcolare alcun figlio.

Dove la vedi

L'impronta della chiave master è l'identificatore che incontri più spesso, perché sia i descrittori sia i dispositivi di firma la citano.

Un descrittore di script di output la scrive tra parentesi quadre davanti alla chiave estesa, come in wpkh([1a2b3c4d/84h/0h/0h]xpub.../0/*). La parte tra parentesi indica da quale wallet proviene la chiave e attraverso quale percorso, così un firmatario che legge il descrittore può capire se gli viene chiesto di firmare con una chiave che possiede davvero. Le transazioni bitcoin parzialmente firmate secondo il BIP-174 portano la stessa associazione per ogni input e ogni output, ed è ciò che permette a un wallet hardware di stabilire offline che un output è il proprio resto e non l'indirizzo di un estraneo.

Il multisig è il punto in cui questo smette di essere una curiosità. Una configurazione due di tre in Sparrow mostra un'impronta della chiave master per ogni cofirmatario, e ricostruire quel wallet in seguito richiede tutte e tre le chiavi pubbliche estese oltre alle frasi di recupero. Scrivere l'impronta di ogni dispositivo sulla sua scheda di backup è il modo più economico per distinguere anni dopo tre schede della frase di recupero per il resto identiche, e chi lo ha omesso ha passato dei fine settimana a derivare chiavi per capire quale scheda appartiene a quale dispositivo.

Un'ultima nota pratica. Un wallet ripristinato che mostra un'impronta sconosciuta di solito non è un backup corrotto, è una passphrase digitata male. Una passphrase del BIP-39 produce una chiave master diversa e quindi un'impronta diversa, quindi confrontare quel valore breve è un modo rapido e sicuro per confermare di aver inserito correttamente la passphrase prima di mettersi a guardare un saldo.

Da non confondere con

Domande frequenti

Che cos'è un'impronta della chiave master e perché il mio wallet ne mostra una?

Sono i primi quattro byte di un hash della tua chiave pubblica master, usati per indicare da quale wallet proviene una chiave. Le configurazioni multisig e i firmatari hardware la citano perché ogni dispositivo possa riconoscere le proprie chiavi in un descrittore o in una transazione parzialmente firmata.

La mia impronta è cambiata dopo che ho ripristinato la frase di recupero. Il mio backup è danneggiato?

Di solito no. Una passphrase del BIP-39 produce una chiave master diversa e quindi un'impronta diversa, perciò la causa comune è una passphrase digitata male o omessa. Controlla la passphrase prima di supporre che le parole siano sbagliate.

Termini correlati

Altro in Indirizzi e chiavi

Leggi questa pagina in inglese