24 parole = 256 bit di entropia. 24 parole × 11 bit = 264 bit totali, di cui 256 entropia e 8 checksum.
La differenza pratica: 128 bit offrono 2128 = 340 miliardi di miliardi di miliardi di miliardi di possibilità — già impossibile da violare. 256 bit elevano questo a 2256, lo stesso spazio delle chiavi private Bitcoin. Chi usa 24 parole lo fa per massima paranoia futura (resistenza ai computer quantistici).
Un dado fisico genera casualità vera ed fisica — la traiettoria del dado dipende da migliaia di variabili fisiche impossibili da misurare simultaneamente (turbolenza aria, attrito superficie, forza impresso, elasticità del dado). Nessun hardware o software al mondo può riprodurre o prevedere il risultato.
log2(6) ≈ 2.585 bit per lancio. Ogni faccia del dado porta circa 2.585 bit di entropia. Per 128 bit servono ⌈128 / 2.585⌉ = 50 lanci; per 256 bit servono ⌈256 / 2.585⌉ = 99 lanci.
I dadi vanno da 1 a 6, ma per la matematica in base-6 servono cifre da 0 a 5. Basta sottrarre 1 da ogni lancio. Questo non riduce la casualità, cambia solo la rappresentazione.
La sequenza di cifre 0-5 viene letta come un numero in base 6 (come il sistema decimale usa 10 cifre, il sistema esadecimale 16, questo usa 6). Il risultato è un numero intero enorme che rappresenta tutta la casualità dei lanci.
Dal numero in esadecimale, estraiamo esattamente i bit necessari (128 o 256). Ogni bit viene colorato: █ = 1, █ = 0.
Per creare il checksum, calcoliamo SHA256 dei byte di entropia. SHA256 è una funzione crittografica che trasforma qualsiasi input in un hash di 256 bit — deterministica (stesso input = stesso output) ma non invertibile. Anche un solo bit cambiato nell'input produce un hash completamente diverso.
Prendiamo i primi 4 bit dell'hash SHA256. Questi bit di checksum permettono ai wallet di verificare che la seed phrase sia stata trascritta correttamente: se anche una sola parola è sbagliata, il checksum non corrisponde.
Concateniamo i bit di entropia (oro) con i bit di checksum (rosso). Il risultato è la stringa di bit completa che verrà divisa in gruppi da 11 per generare le parole.
La wordlist BIP39 inglese è stata progettata con criteri precisi: nessuna parola simile a un'altra (per evitare errori di trascrizione), lunghezza minima 3 caratteri, massima 8, parole comuni nella lingua inglese e riconoscibili internazionalmente. Per ogni parola bastano le prime 4 lettere per identificarla univocamente.
| # | 11 Bit | Decimale (0-2047) | Parola BIP39 |
|---|
Il protocollo BIP39 prevede una passphrase opzionale (chiamata anche "25ª parola" o "extension word"). Si tratta di una parola o frase libera scelta dall'utente che viene aggiunta matematicamente al processo di derivazione del seed.
La passphrase non fa parte della seed phrase in sé, e nessun wallet la memorizza: deve essere ricordata separatamente. Se usata, il wallet senza passphrase e quello con passphrase derivano wallet completamente diversi dallo stesso set di 12/24 parole. Alcune persone usano un wallet "esca" senza passphrase (con pochi fondi) e un wallet reale con passphrase.
Attenzione: se perdi la passphrase, perdi l'accesso ai fondi nel wallet con passphrase. È una protezione aggiuntiva che aumenta anche il rischio di perdita irreversibile.