Um dado padrão de seis lados produz cerca de 2,6 bits de informação imprevisível a cada rolagem. Isso pode não parecer muito, mas, repetido suficientes vezes, essas rolagens podem criar a aleatoriedade bruta necessária para proteger uma carteira de bitcoin sem depender de software ou de um componente eletrônico.
Principais conclusões
- Um lançamento de um dado de seis lados justos fornece cerca de 2,585 bits de entropia, conforme a fórmula de Claude Shannon.
- A documentação da Coinkite afirmou que 50 rolagens de dados atendem ao padrão de 128 bits para uma seed de carteira bitcoin.
- A análise de Kevin Loaec, Wizard Sardine, sinalizou risco nas ferramentas Coldcard além da semente principal.
Por que um lançamento de dado é tão difícil de prever
Claude Shannon, o matemático que estabeleceu a teoria da informação, usou entropia para medir quão incerto é um resultado. Com um dado justo de seis lados, cada face tem a mesma chance de um em seis de aparecer. Isso fornece cada rolagem aproximadamente 2,585 bits de entropia. Um lançamento de moeda produz 1 bit, enquanto um dado de oito lados produz 3 bits.

O recente escândalo da Coldcard impulsionou a geração de sementes baseada em dados de dados nas redes sociais. Alguns usuários agora a consideram essencial, outros dizem que protegeu seus fundos, enquanto operadores experientes apontam que a maioria dos novatos não tolerará um processo de configuração lento e propenso a erros.
A parte importante não é que um dado rolando se comporte aleatoriamente no nível atômico. Ele não se comporta. O resultado é governado pela física, mas muitas variáveis pequenas estão mudando ao mesmo tempo, tornando impossível para qualquer pessoa calcular com confiança o resultado. O dado deixa a mão com uma certa velocidade, ângulo, altura e rotação, depois atinge a mesa e muda de direção em cada salto.
Na prática, mesmo uma pequena variação na liberação pode produzir um resultado completamente diferente. Uma posição ligeiramente diferente do dedo ou um lançamento ligeiramente mais forte altera a trajetória o suficiente para que o número final não possa ser previsto observando o movimento. O resultado pode ser determinístico em teoria, mas para a geração de carteiras, o que importa é que um atacante não consiga reproduzi-lo ou calculá-lo.
Transformando Lançamentos de Dados em Dados Utilizáveis
Um computador não pode usar diretamente uma lista de resultados de dados. Os lançamentos devem primeiro ser convertidos em dados binários, e o método de conversão importa.
Um método básico de ímpar-ou-par é fácil de entender, mas desperdiça grande parte da entropia disponível. Cada rolagem é reduzida a um único bit, mesmo que o dado produza cerca de 2,6 bits de informação. Métodos mais eficientes coletam uma longa sequência de rolagens e processam toda a string, geralmente por meio de uma função de hash criptográfica. Isso preserva muito mais da aleatoriedade.
O mesmo princípio aparece no Diceware, um método de longa data para criar frases-passe seguras, e na geração manual de carteiras de bitcoin. Uma frase de recuperação de carteira típica de 12 palavras é construída a partir de 128 bits de entropia. Com aproximadamente 2,6 bits por lançamento, cerca de 50 lançamentos justos fornecem informações brutas suficientes para ultrapassar esse limiar.
A Coinkite, fabricante da carteira de hardware Coldcard, recomenda 99 ou mais rolos para usuários que buscam quase 256 bits de entropia. Isso não torna a carteira duas vezes mais difícil de usar, mas fornece ao segredo gerado uma margem de segurança matemática muito maior.
Um teste do mundo real de sementes geradas por dados
Essa distinção tornou-se importante após Coinkite divulgar um problema de firmware que remonta a 2021. Em alguns dispositivos Coldcard, o software poderia pular o gerador interno de números aleatórios de hardware e usar em vez disso um processo mais fraco ligado a informações não secretas do dispositivo.
Como partes desse processo poderiam ser reconstruídas, os atacantes conseguiram reduzir as chaves possíveis da carteira em vez de buscar todo o espaço de chaves. A falha foi relacionada ao roubo de aproximadamente 1.128,6633 BTC de cerca de 1100 endereços, conforme registrado às 13h, horário da costa leste.

Sementes de carteira criadas inteiramente a partir de um número suficiente de rolagens de dados independentes não foram expostas pelo mesmo caminho. Esses usuários forneceram sua própria entropia, portanto, o gerador de hardware defeituoso não foi responsável por criar o segredo principal da carteira.
Essa proteção, no entanto, aplicava-se apenas à semente gerada pelos dados. Ela não protegia automaticamente todos os outros segredos gerados pelo dispositivo.
Wizard Sardine Examina os Detalhes Finais
O pesquisador de segurança Kevin Loaec publicou uma avaliação da exploração do Coldcard no site do Wizard Sardine em 1º de ago. Sua observação mais importante concerniu aos recursos do Coldcard que geravam seus próprios segredos separadamente da semente principal da carteira.
“Eu acredito que é extremamente importante destacar que mesmo usuários que importaram ou geraram uma seed com dados são vulneráveis, se utilizarem os seguintes recursos,” Loaec escreveu no X, antes de apresentar um diagrama do sistema afetado.
O diagrama mostra o gerador de números aleatórios defeituoso alimentando várias funções secundárias do Coldcard. Entre elas, a criação de carteira de papel, clonagem do dispositivo, criptografia de sessão USB, o recurso de transferência Secret Teleport, criação de chaves de co-assinatura, o gerador de senhas integrado e códigos de autenticação do módulo de segurança de hardware.

Uma carteira primária criada com 99 rolagens de dados permaneceu em uma parte separada do sistema. O problema era que as outras ferramentas ainda podiam solicitar aleatoriedade fresca do gerador com falha. Como resultado, uma semente segura não garantia que cada senha, backup, código de autenticação ou chave secundária criada no mesmo dispositivo fosse igualmente segura.
Por que a maioria dos novos usuários não vai jogar dados
A entropia gerada por dados é tecnicamente sólida quando realizada corretamente, mas não é um padrão realista para a maioria dos novos usuários. Jogar um dado 50 ou 99 vezes, inserir cada resultado com precisão e confirmar que nenhum lançamento foi pulado ou duplicado exige paciência e muita concentração. Um único número digitado incorretamente pode alterar completamente a carteira final, e a maioria dos dispositivos não consegue determinar se o erro veio de um lançamento ruim, um erro de entrada ou uma má interpretação das instruções.

O processo também introduz riscos que não existem com um gerador de hardware corretamente funcional. Os usuários podem anotar os rolls em papel, fotografá-los, inseri-los em uma ferramenta online ou deixar a lista em algum lugar onde outra pessoa possa encontrá-la. Algumas pessoas rolam o dado de forma repetitiva ou controlada, usam um dado viciado ou danificado ou param cedo porque o processo parece excessivo. A matemática pode ser sólida, mas o resultado é tão seguro quanto o procedimento do usuário.

É por isso que o lançamento de dados nem sempre é considerado o melhor método para muitas pessoas, mesmo entre usuários experientes de bitcoin. Substitui a confiança em um dispositivo pela confiança em um processo manual. Para um usuário tecnicamente cuidadoso que entende entropia, verifica o método e mantém a sequência de lançamentos em sigilo, esse compromisso pode fazer sentido. Para um comprador médio configurando uma carteira pela primeira vez, ele adiciona várias oportunidades de cometer um erro permanente, além de ser um processo irritante ao mesmo tempo.

Também é difícil imaginar uma adoção ampla do bitcoin dependendo de pessoas sentadas à mesa e registrando 99 resultados de dados antes de poderem receber fundos de forma segura. As práticas de segurança precisam funcionar em lares reais, com agendas movimentadas, distrações e usuários que não querem estudar criptografia. A entropia manual deve permanecer disponível como uma opção avançada, mas o objetivo de longo prazo é ter hardware e software que gerem aleatoriedade forte corretamente, expliquem claramente o que está acontecendo e exijam o mínimo possível de conhecimento especializado.
O que os proprietários de Coldcard devem verificar
Os proprietários dos dispositivos Coldcard afetados devem primeiro verificar a versão do firmware instalada no dispositivo. Em seguida, devem revisar quais recursos utilizaram enquanto executavam firmware mais antigo, em vez de se concentrar apenas em como a semente principal da carteira foi gerada.
Qualquer pessoa que tenha usado o dispositivo afetado para gerar uma carteira de papel, clonar segredos, senhas, chaves de co-assinatura ou códigos de autenticação pode precisar substituir esse material imediatamente. Instalar a atualização impede que o mesmo problema afete novos segredos, mas não conserta nada criado anteriormente.
O incidente também fortalece o caso prático para configurações de carteiras com múltiplos fornecedores. Em um arranjo de assinatura múltipla, dispositivos de hardware separados de fabricantes diferentes podem ser exigidos para aprovar uma transação. Essa estrutura não torna bugs de firmware impossíveis, mas pode impedir que um único gerador de números aleatórios defeituoso exponha toda a carteira por conta própria.
