«I soldi sono arrivati?»
La vista delle transazioni è la casa del portafoglio: ogni pagamento in entrata e in
uscita, il numero di conferme e l'etichetta che gli hai dato. Poiché Sparrow è un client
leggero, questa storia arriva da un server con protocollo Electrum invece che dalla
validazione della catena, quindi un portafoglio nuovo si popola in pochi secondi. Clicca
una voce qualsiasi e ti ritrovi nell'editor delle transazioni, che funziona anche da
explorer della blockchain: puoi risalire agli input di una transazione che non è nemmeno
tua.
«Dammi un indirizzo, ma non due volte lo stesso»
La vista di ricezione ti consegna il prossimo indirizzo non utilizzato e ti permette di
attaccargli un'etichetta prima che qualcuno ti paghi. Gli indirizzi vengono derivati
dalle tue chiavi in sequenza, e Sparrow osserva una finestra di indirizzi chiamata gap
limit, 20 per impostazione predefinita. Quel numero conta nel ripristino: se sei andato
molto avanti generando indirizzi oltre la finestra, un portafoglio ripristinato può
sembrare vuoto finché non alzi il limite.
Due opzioni più recenti evitano del tutto il riutilizzo degli indirizzi. I Silent
Payments (BIP352) ti danno un unico indirizzo riutilizzabile che non collega on-chain chi
lo paga; l'invio è arrivato con la 2.3.0 e i portafogli in ricezione con la 2.5.0. I
codici di pagamento PayNym (BIP47) fanno qualcosa di simile fra due persone che si sono
scambiate i codici, al prezzo di una transazione di notifica una tantum da 546 satoshi
per ogni contatto. Il supporto pay-to-DNS (BIP353) ti permette di inviare a un nome
leggibile risolto via DNS invece che a una stringa incollata.
«Voglio scegliere io quali monete si muovono»
La vista UTXO elenca i tuoi output non spesi uno per uno, con etichette e importi, e ti
permette di congelarne o selezionarne alcuni prima di costruire una transazione. Lasciato
a sé, Sparrow sceglie gli input con gli algoritmi Branch and Bound e Knapsack; se lo
scavalchi, decidi tu. Questa è la base meccanica di ogni pratica di privacy descritta su
questo sito, perché sono le monete che unisci in una stessa transazione a dire a un
osservatore che appartengono alla stessa persona. Gli
strumenti di privacy spiegano le regole
da applicare sopra lo strumento.
«Cosa sto firmando, esattamente?»
L'editor delle transazioni è la funzione per cui questo software è conosciuto. Input e
output compaiono come un diagramma modificabile, con l'output di resto identificato, la
dimensione virtuale in byte, la commissione e la tariffa che ne risulta, più
l'indicazione se il replace-by-fee è segnalato. Accanto stanno i grafici di stima delle
commissioni, così la tariffa diventa una decisione invece di una scommessa. Un output
sbagliato o una commissione enorme per errore sono visibili qui, quando la transazione è
ancora non firmata e del tutto innocua.
Ogni transazione non firmata è una PSBT, il formato standard parzialmente firmato, e
Sparrow tratta le PSBT come cittadini di prima classe anziché come un'opzione di
esportazione. È questo che rende possibile la collaborazione: una macchina costruisce,
un'altra firma, una terza trasmette.
«Le mie chiavi non dovrebbero stare su questo computer»
I keystore si configurano per singolo portafoglio. Un keystore software tiene una chiave
cifrata nel file del portafoglio. Un portafoglio hardware collegato firma via USB. Un
dispositivo air-gapped non tocca mai la macchina: la PSBT non firmata attraversa lo
spazio come una sequenza di codici QR, con i fountain code UR per le transazioni troppo
grandi per un solo codice, oppure su una scheda SD, e il risultato firmato torna per la
stessa strada. Un portafoglio watch-only costruito da una xpub (la chiave pubblica
estesa che genera tutti i tuoi indirizzi senza poterci spendere) ti permette di
monitorare i fondi su una macchina che non contiene alcun segreto.