https://bitcointalksearch.org/topic/electrum-a-brainwallet-in-twelve-words-51397
In particolare c'è la lunghezza del dizionario, la scelta casuale delle parole e il numero delle combinazioni. La discussione è del 2012.
Da noate che Electrum dice:
The seed is represented as a sequence of words in order to facilitate memorization and storage, but it can as well be represented as a hexadecimal string, or as a number.
Il numero del seed in un esempio del 3ad dice:
e590e7dcd80a54737e49d4f95db4fd
$ mnemonic.py e590e7dcd80a54737e49d4f95db4fd
perhaps ever trade eye creator feather tight bloom step
In pratica c'è una corrispondenza biunivoca tra il numero esadecimale e la sequenza di parole. A questo fine il dizionario è invariabile come numero e come ordine. Ovviamente il dizionario è in inglese ma nulla toglie che si crei un dizionario di sempre 1626 parole in italiano dove a ogni parola in inglese ne corrisponde una in italiano anche non come traduzione. Quel che è importante è la sequenza.
Si spera che os.urandom() da cui dipende tutta la baracca sia implementato bene e dal nome sembrerebbe una chiamata a una funzione del sistema operativo, si spera che l'entropia ci sia quando sputa fuori il suo numero casuale.
Il punto debole di questo sistema è che occorre avere sempre l'algoritmo di Electrum per convertire il numeretto e590e7dcd80a54737e49d4f95db4fd nella private key. Con le parole chiavi occorre anche avere il dizionario. In un eventuale aggiornamento dell'algoritmo è indispensabile tenersi aggiornati perché con i brainwallet non si ha la private key come nel caso di Multibit classic.