
"Ho importato il mio seed e il saldo è zero": i percorsi di derivazione spiegati
Inserisci le tue dodici o ventiquattro parole in un nuovo wallet, l'importazione va a buon fine e il saldo segna zero. È un momento che spaventa, ma nella maggior parte dei casi non hai perso nulla. Le parole sono giuste: il nuovo wallet sta semplicemente cercando in un posto diverso.
Questa guida spiega perché succede, come ritrovare le tue monete e perché un seed SSP, da solo, si comporta in modo diverso.
Un seed, molti wallet
Una frase di recupero non contiene indirizzi. Genera una chiave master, e a partire da quella chiave il wallet segue un percorso di derivazione, cioè un tragitto attraverso un albero di chiavi, per arrivare a ciascun indirizzo. Basta cambiare un solo passaggio del tragitto e si arriva a un insieme di indirizzi diverso, perfettamente valido e di solito vuoto. Non compare alcun errore, perché non c'è niente di sbagliato.
Un percorso ha questo aspetto:
m / purpose' / coin_type' / account' / change / index
purpose sceglie lo standard, coin_type sceglie la blockchain, account separa gli account, change distingue gli indirizzi di ricezione (0) da quelli di resto (1), e index numera gli indirizzi a partire da 0. La guida a BIP-48 approfondisce la struttura dell'albero.
I soliti sospetti
Quando un'importazione mostra zero, la causa è quasi sempre una di queste.
Il tipo di indirizzo (Bitcoin). Lo stesso seed genera quattro famiglie diverse di indirizzi Bitcoin:
- BIP-44,
m/44'/0'/0'— indirizzi legacy che iniziano con1 - BIP-49,
m/49'/0'/0'— SegWit incapsulato, che inizia con3 - BIP-84,
m/84'/0'/0'— SegWit nativo, che inizia conbc1q - BIP-86,
m/86'/0'/0'— Taproot, che inizia conbc1p
Se il tuo vecchio wallet usava SegWit nativo e quello nuovo usa legacy come impostazione predefinita, non vedrai nulla. Il prefisso di un vecchio indirizzo di ricezione ti dice quale scegliere.
La variante di Ethereum. La maggior parte dei wallet Ethereum usa m/44'/60'/0'/0/i, incrementando l'ultimo numero per ogni nuovo indirizzo. Ledger Live invece incrementa il livello dell'account: m/44'/60'/i'/0/0. Entrambi coincidono sul primissimo indirizzo, ed è per questo che la differenza spesso passa inosservata finché non cerchi il secondo o il terzo.
Una passphrase. Una passphrase BIP-39 (la "25ª parola") trasforma lo stesso seed in un wallet completamente separato. Se la ometti, o sbagli anche un solo carattere, apri un wallet diverso e vuoto senza alcun avviso. La guida ai compromessi della passphrase spiega perché questo è al tempo stesso il punto di forza e il pericolo di questa funzione.
L'indice dell'account. Se nel vecchio wallet usavi "Account 2", i tuoi fondi si trovano sotto account' = 1, non 0. Molti wallet ripristinano solo il primo account, a meno che tu non ne aggiunga altri.
Il gap limit. Un wallet non può controllare all'infinito ogni indice, quindi scansiona gli indirizzi in ordine e si ferma dopo una serie di indirizzi inutilizzati, per convenzione 20. Se una volta hai comunicato l'indirizzo n. 35 mentre quelli dal n. 15 al n. 34 sono rimasti inutilizzati, una scansione standard si ferma prima di arrivarci. Aumentare il gap limit nelle impostazioni del wallet, dove è possibile, di solito fa ricomparire le monete mancanti.
Come fare la diagnosi con calma
- Niente panico, e non spostare nulla. Un saldo a zero dopo un'importazione è quasi sempre una questione di percorso, non un furto.
- Trova un indirizzo che sai per certo conteneva fondi, da una vecchia ricevuta, dallo storico dei prelievi di un exchange o dai tuoi appunti. Controllalo su un block explorer per verificare che le monete siano ancora lì.
- Annota il suo formato. Il prefisso (
1,3,bc1q,bc1p,0x) ti indica la famiglia di indirizzi; poi seleziona la stessa nel nuovo wallet. - Verifica quale wallet ha creato il seed: la sua documentazione indica quali percorsi usa.
- Prova gli indici degli account, la variante Ledger e il gap limit uno alla volta, confrontando gli indirizzi con quello che conosci.
- Non inserire mai il tuo seed in un sito web che promette di "ritrovare" i tuoi fondi. Usa solo software wallet affidabile e in grado di funzionare offline.
Perché un seed SSP da solo mostra un wallet vuoto
SSP è un wallet multisig 2-di-2, e questo cambia completamente il quadro. SSP Wallet nel browser e SSP Key sul telefono hanno ciascuno il proprio seed. Nel codice, entrambi derivano le chiavi secondo BIP-48, m/48'/coin'/0'/script', e per Bitcoin il tipo di script è multisig SegWit nativo (P2WSH), quindi l'account si trova in m/48'/0'/0'/2'. Ogni indirizzo SSP viene poi costruito a partire da due chiavi pubbliche, una per lato, combinate in uno script 2-di-2. Anche i vault EVM e Solana richiedono entrambe le chiavi.
Quindi, se importi il seed di SSP Wallet in un normale wallet a firma singola, questo deriverà indirizzi a chiave singola che SSP non ha mai usato. Saranno vuoti, ed è del tutto normale. Le tue monete si trovano su indirizzi multisig che nessun seed singolo può ricostruire: il wallet ha bisogno della chiave pubblica dell'altro lato anche solo per conoscere l'indirizzo, e di entrambe le firme per spendere da esso.
Per ripristinare SSP bisogna ripristinare entrambe le metà in SSP. Ripristina SSP Wallet dal suo seed, poi sincronizzalo con SSP Key in modo che il wallet riceva di nuovo i dati pubblici della chiave. Se hai perso solo il browser, SSP Key può ripristinarlo senza il seed: vedi come recuperare SSP quando perdi il browser. Recupero 101 spiega cosa serve in ciascuno scenario.
Un dettaglio specifico di SSP sulla scansione degli indirizzi: SSP Wallet non usa una scansione basata sul gap limit. Ogni blockchain contiene gli indirizzi che hai aggiunto, fino a 20 per blockchain, creati in ordine a partire dall'indice 0. Dopo un ripristino, se manca un indirizzo che usavi prima, aggiungere di nuovo indirizzi rigenera gli stessi indirizzi nello stesso ordine.
In sintesi, con onestà
Un seed è la chiave di un albero, non di un singolo elenco di indirizzi. Tipo di indirizzo, percorso della moneta, passphrase, indice dell'account e gap limit decidono insieme quale ramo il wallet esamina, e un saldo a zero dopo un'importazione di solito indica il ramo sbagliato, non monete sparite.
Con SSP, un singolo seed non è mai l'intero wallet. I tuoi fondi si trovano su indirizzi 2-di-2 costruiti a partire sia da SSP Wallet sia da SSP Key, quindi ripristinare significa ripristinare entrambe le metà all'interno di SSP, non importare un solo seed altrove.


