Vai al contenuto
buybitcoinsmart

Glossario / Indirizzi e chiavi

Coppia di chiavi

Che cos'è una coppia di chiavi?
Una coppia di chiavi è una chiave privata insieme all'unica chiave pubblica che genera, l'unità di proprietà in cui si conta ogni firma bitcoin e ogni quorum multisig.

L'abbinamento conta perché le due metà svolgono compiti opposti: una crea una firma, l'altra permette a estranei di verificarla. Il legame va in un solo senso, quindi pubblicare la metà pubblica non mette mai in pericolo la metà segreta. Contare le coppie è il modo per dimensionare una configurazione, dato che una cassaforte multisig 2 su 3 è formata da tre coppie di chiavi conservate in tre luoghi, e due qualsiasi di esse possono spendere.

Come funziona

Una chiave privata produce esattamente una chiave pubblica, e questa corrispondenza non cambia mai. Inserisci lo stesso segreto di 32 byte nella stessa aritmetica sulla curva su qualsiasi dispositivo, in qualsiasi wallet, a dieci anni di distanza, e otterrai la stessa identica chiave pubblica. È questo determinismo che rende possibile ripristinare un wallet da un backup, e che fa sì che nessuno debba conservare le chiavi pubbliche: vengono ricalcolate quando servono.

La coppia divide il lavoro di ogni spesa. Il tuo dispositivo usa la metà privata per produrre una firma che vincola esattamente la transazione che si sta firmando, e migliaia di nodi usano la metà pubblica per confermare che la firma corrisponda sia alla chiave sia a quella transazione. Cambia un output di un solo satoshi e la firma non si verifica più. La dimensione della firma varia secondo lo schema: una firma Schnorr ai sensi del BIP-340 è di 64 byte fissi, mentre le vecchie firme ECDSA con codifica DER arrivano a 71 o 72 byte, una delle ragioni per cui le spese Taproot costano meno.

I wallet deterministici gerarchici trasformano un solo segreto in una scorta illimitata di coppie. La derivazione BIP-32 offre 2.147.483.648 indici ordinari di figlio a ogni livello dell'albero, più altrettanti indici hardened, tutti riproducibili da un solo seed. Il tuo wallet emette una coppia nuova per ogni pagamento da quella scorta, ed è ciò che rende la rotazione degli indirizzi pratica invece che un incubo di contabilità.

Dove la vedi

La coppia diventa visibile ogni volta che un wallet deve dimostrare qualcosa invece di limitarsi a spendere. La firma dei messaggi è il caso più semplice: scegli un indirizzo, il wallet firma una sfida di testo con la metà privata e chiunque può verificarla con la metà pubblica. Gli exchange usano esattamente questo per confermare che un indirizzo di prelievo è tuo, e non muove alcun bitcoin.

Con il multisig contare le coppie inizia a contare davvero. Una cassaforte 2 su 3 è costruita con tre coppie indipendenti, di solito generate su tre dispositivi separati, e il redeem script nomina tutte e tre le metà pubbliche mentre due metà private qualsiasi bastano per spendere. Perdere un dispositivo non ti costa nulla; perderne due ti costa tutto. È quell'aritmetica, non la marca dell'hardware, a determinare come una cassaforte fallisce.

La firma collaborativa mostra la stessa struttura. Una transazione bitcoin parzialmente firmata, definita nel BIP-174, viaggia tra dispositivi raccogliendo una firma per coppia fino a raggiungere il quorum. Ogni firmatario tocca solo la propria metà privata e vede la metà pubblica degli altri, che è precisamente la separazione per cui la coppia è progettata.

Coppia di chiavi vs chiave estesa

Una coppia di chiavi è una foglia e una chiave estesa è un ramo. Una chiave estesa, scritta come xprv o xpub, è una chiave unita a un chain code di 32 byte, ed è quel materiale in più che le permette di derivare figli. Una coppia di chiavi nuda non deriva nulla: gestisce i bitcoin che le sono stati bloccati e si ferma lì. La distinzione ha un risvolto pratico netto. Far trapelare una chiave pubblica espone un indirizzo, mentre far trapelare una xpub espone ogni indirizzo che il ramo sottostante produrrà mai.

Da non confondere con

Domande frequenti

Quante coppie di chiavi ha il mio wallet?

In pratica un numero illimitato. Un wallet moderno deriva una coppia nuova per ogni indirizzo da un solo seed, usando l'albero BIP-32, e serve fare il backup solo del seed perché ogni coppia al di sotto può essere rigenerata quando serve.

Due persone possono condividere una coppia di chiavi?

Possono copiare la chiave privata su due dispositivi, ma è custodia congiunta nel senso peggiore: ciascuna parte può spendere da sola e nessuna può provare chi l'ha fatto. Il multisig esiste per questo: assegna a ogni partecipante una coppia separata e richiede un quorum concordato per spostare i fondi.

Leggi anche

Termini correlati

Altro in Indirizzi e chiavi

Leggi questa pagina in inglese