Formata da una lista di parole, generalmente 12 o 24, la seed phrase è tutto ciò che serve per conservare il backup del proprio wallet e, in caso di necessità, ripristinarlo: com’è ottenuta?
Dodici o ventiquattro parole. Nella maggior parte dei casi è tutto ciò che serve per poter conservare in sicurezza i propri bitcoin. Ma non è sempre stato così.
Nei primi anni di Bitcoin, i wallet più diffusi erano quelli non deterministici: consistevano in una serie di chiavi generate in modo indipendente l’una dall’altra. Per questo motivo erano anche chiamati con l’acronimo JBOK: Just a Bunch of Keys. In questi wallet, per ogni chiave pubblica generata era necessario annotare e conservare la rispettiva chiave privata per poter recuperare i propri fondi.
Nel 2012 sono stati introdotti i wallet deterministici che risultano ad oggi i più diffusi. In questa tipologia di wallet, le chiavi private derivano tutte da un unico numero esadecimale chiamato seed (seme), ad esempio:
1d3d932b2f450a7746e9eca0d24d3ab98b210cdb7c14fdfbc59d34f4b16948b202f2ac70f003d6458cb735cfda2b5eed607a3f62664715fb0dc0c76bca4bac43
A differenza dei wallet non deterministici, quelli deterministici sono in grado di rigenerare l’intero wallet partendo unicamente dal seed. È sufficiente salvare e conservare il seed per poter ricostruire il wallet in qualsiasi momento. Non è neanche obbligatorio annotare questa lunga stringa di caratteri per avere un backup del proprio wallet: bastano 12 parole.
La comunità Bitcoin ha compreso la difficoltà di doversi ricordare o salvare un numero così complesso come il seed. La soluzione è giunta nel 2013 con BIP-39: uno standard in grado di convertire il seed in una sequenza di parole facilmente trascrivibili e memorizzabili, definita come mnemonic seed phrase.
Nell’esempio seguente, partendo da un codice di entropia esadecimale, viene generata la mnemonic seed phrase, dalla quale si ottiene il seed.
- Entropia (numero esadecimale): 4fca135d8f40accc85d01bb77f4667c4
- Mnemonic seed phrase: exist explain student burden approve green blanket address resist when okay maximum
- Seed: adf32eb08e21808ef677d0989c8bc6eee80842adaab2c0b773e8204220f389349066a6b5468282e2a021fcbd64d0c9e92a19954af9d791cf9380fba6fea325c2
Per provare altri esempi simili, è possibile utilizzare questo sito.
Più lunga è la mnemonic seed phrase, maggiore è la protezione del wallet da attacchi di brute force.
Questo perché una seed phrase da 12 parole è generata usando 128 bit di entropia, mentre una seed phrase da 24 parole usa 256 bit. L’entropia è una misura della quantità di incertezza o casualità in un sistema. In termini di sicurezza, maggiore è l’entropia, più difficile è prevedere o indovinare il risultato.
Oggi la maggior parte dei wallet genera mnemonic seed phrase da 12 o 24 parole, ma è possibile generarne anche con 15, 18 e 21.