Role os dados e acompanhe, passo a passo, cada rolagem virar bits, virar hash e virar as 12 palavras da BIP39. No fim, entenda por que 40 bits de entropia custaram 1.596 BTC a usuários de Coldcard em julho de 2026.
Cada rolagem de um dado de 6 lados carrega log₂(6) = 2,585 bits de entropia. Não precisa ser dado de cassino: dado comum resolve, e algumas rolagens a mais compensam qualquer vício de fabricação.
O caminho exato que Coldcard e Krux percorrem quando você digita rolagens de dado. Repare nas etiquetas: os dois primeiros passos são do método com dados, e só a partir do terceiro começa o BIP39 propriamente dito. Toque (ou passe o mouse) em uma palavra para ver de quais 11 bits ela nasceu — e vice-versa.
Literalmente os dígitos, um após o outro — é isso que o firmware recebe.
O BIP39 exige exatamente 128 ou 256 bits, mas você pode rolar 50, 99 ou 150 vezes. Este hash resolve isso condensando qualquer quantidade de rolagens no tamanho certo — é o que Coldcard e Krux fazem com os dados que você digita. Repare: ele espalha a aleatoriedade que existe, não inventa a que falta. Se você rolou 3 vezes, a saída tem 256 bits e a segurança de 3 rolagens.
Agora sim é o padrão — e atenção à diferença: a entropia entra crua, ela não é hasheada de novo. O que passa por SHA-256 aqui é só o cálculo do checksum, as fatias em verde. Entropia + checksum são cortados em blocos de 11 bits, cada bloco um número de 0 a 2047.
A mesma lista de 2048 palavras em qualquer carteira do mundo. É por isso que uma seed funciona em qualquer aparelho.
Esta é a lição que o hack da Coldcard deixou. Dados → SHA-256 → seed é uma função determinística: você consegue reproduzir o mesmo resultado por fora e conferir se o aparelho fez o que prometeu.
Rode isto num terminal offline e compare com o hash do passo 2:
Bateu? Então o firmware usou exatamente a sua entropia — não sobrou espaço para um gerador interno defeituoso escolher por você. Uma seed que o aparelho gera sozinho, do nada, não tem como ser verificada — e foi precisamente aí que 1.596 BTC evaporaram.
O bug (firmware 4.0.1 a 4.1.9, de março/2021) desviava a geração da seed para um PRNG semeado com o UID do aparelho e o timer no boot — coisas adivinháveis. O que deveria ter 128 bits acabou com cerca de 40 nos aparelhos mais afetados. Veja o que essa diferença faz com o tempo de quebra, a 1 milhão de tentativas por segundo:
Cada bit a mais dobra o trabalho do atacante. É por isso que a diferença entre 40 e 128 bits não é "três vezes melhor" — é a diferença entre alguns dias e mais tempo do que a idade do universo.
Resposta curta: diretamente, só se você tem uma Coldcard. Mas a lição vale para qualquer carteira.
Este bug não te atinge: foi um erro no firmware de um fabricante específico. Mas o problema de fundo é universal — em qualquer carteira, a aleatoriedade nasce dentro de um aparelho que você não consegue auditar. As três defesas que não dependem de confiar no fabricante: entropia própria com dados (50 rolagens ou mais, em privado), uma passphrase forte e única, e multisig com aparelhos de fabricantes diferentes.
Esta página é educativa e o caso evoluiu em ondas. Antes de agir, confira sempre o aviso oficial da Coinkite.