As doze palavras não são uma senha, e ninguém as escolheu por significarem alguma coisa. Elas são um número — o mesmo número que a trilha anterior descreveu — escrito de um jeito que uma pessoa consegue copiar à mão sem errar. Trocar dígitos por palavras não enfraquece nada: é só uma forma de escrita.
O começo de tudo é um sorteio. A carteira pede ao sistema operacional, ou a um chip dedicado à tarefa, 128 bits imprevisíveis. Esse punhado de bits é a entropia, e é a única coisa dessa aula inteira que precisa ser secreta. Todo o resto é receita pública.
Esses 128 bits são então cortados em pedaços de onze. Onze bits contam de zero a 2047, e é exatamente por isso que a lista do BIP-39 tem 2048 palavras: cada palavra é o nome de um número de onze bits, nada mais. Doze palavras carregam 132 bits ao todo — os 128 sorteados mais quatro que ainda vamos explicar.

A lista foi montada com cuidado que se nota. Ela é ordenada alfabeticamente, não tem duas palavras que se pareçam, e as quatro primeiras letras de cada uma já a distinguem de todas as outras — quem anota só quatro letras anotou a palavra inteira. O padrão foi proposto em 2013 por Marek Palatinus, Pavol Rusnák, Aaron Voisine e Sean Bowe, e desde então virou o formato que quase toda carteira do mundo entende.
Os quatro bits que sobram são o checksum, e é aqui que a última palavra deixa de ser livre. Calcula-se o SHA-256 da entropia, tomam-se os quatro primeiros bits do resultado e eles são grudados no fim antes do corte em onzes. Por isso a décima segunda palavra não pode ser qualquer uma: ela carrega, dentro de si, a conferência das onze anteriores. Uma frase com uma palavra errada é recusada em quinze de dezesseis casos, e é essa a mensagem que a carteira mostra quando diz que a semente é inválida.

Daí sai o motivo pelo qual a ordem importa tanto quanto as palavras. A frase não é um conjunto, é uma sequência. Duas palavras trocadas de posição formam outro número, que gera outra carteira, com outro saldo — quase sempre zero. Anotar as doze fora de ordem é o mesmo que anotar um telefone com os dígitos embaralhados.
O último passo transforma a frase em semente, e ele é deliberadamente lento. As palavras, escritas em texto, entram numa função chamada PBKDF2, que aplica HMAC-SHA-512 duas mil e quarenta e oito vezes seguidas sobre elas. O resultado é um número de 512 bits: a semente. A repetição existe para encarecer o trabalho de quem tenta adivinhar frases — cada tentativa custa duas mil vezes mais do que custaria com uma passagem só.

Repare numa consequência estranha e importante desse último passo. O cálculo usa o texto das palavras, não a posição delas na lista. A lista serve para você escrever e conferir; a semente sai das letras. É por isso que uma frase válida em italiano ou em japonês, que o BIP-39 também prevê, produz uma semente diferente de qualquer coisa em inglês, e por isso que um espaço a mais ou um acento diferente estragam o resultado inteiro.
E o que acontece se faltar uma palavra? O caso não é perdido, embora seja trabalhoso: são 2048 possibilidades para aquela posição, e o checksum descarta quase todas. Ferramentas de recuperação fazem isso em segundos. Faltando duas ou três, o número de combinações cresce e a conta começa a ficar séria; faltando metade da frase, não existe recuperação. É a diferença entre uma anotação incompleta e uma anotação perdida — e é o argumento a favor de conferir o papel antes de precisar dele.
Essa semente de 512 bits ainda não é uma chave. Ela é a raiz de onde saem milhares delas, organizadas numa árvore com endereços que parecem feitiço, do tipo m/84'/0'/0'/0/0. Na próxima aula, o que cada símbolo desse caminho quer dizer.