O caso Stone Man
Dentro do problema de backup de carteira Bitcoin que perdeu 8.999 BTC
Stone Man fez o que usuários cuidadosos foram instruídos: backup do wallet.dat. Depois, um pagamento de 1 BTC e um reboot expuseram a falha. O backup existia. A chave para os 8.999 BTC de troco não.
A blockchain nunca perdeu as moedas.
A carteira perdeu a capacidade de gastá-los.
Essa distinção transforma a história de um pen drive ruim em uma sobre arquitetura de carteira. O Bitcoin inicial não derivava todas as chaves futuras de uma semente recuperável. Um backup era só uma foto das chaves existentes na cópia.
Sumário
A noite da perda
Um backup cuidadoso, um auto-pagamento de 1 BTC e uma reinicialização com consequências duradouras
Stone Man acumulou 9.000 BTC e os transferiu para um cliente Bitcoin rodando em um Debian live CD. O sistema ativo vivia na memória, então desligá-lo apagaria a carteira ativa. Ele copiou o wallet.dat para um pen drive primeiro.
- 01
Proteger
A carteira está com backup
O wallet.dat com 9.000 BTC é copiado do sistema ativo para um pen drive.
- 02
Auto-pagamento
Stone Man envia cerca de 1 BTC para si mesmo
Enquanto verificava quando outro pagamento seria confirmado, Stone Man enviou cerca de 1 BTC para si mesmo. A carteira gastou todo o valor de 9.000 BTC e silenciosamente criou uma nova chave de troco para o restante.
- 03
Apagar
O sistema ativo é desligado
A carteira na memória contendo a nova chave de troco desaparece antes do backup ser atualizado.
- 04
Restaurar
O backup antigo retorna
A blockchain mostra a transação, mas a carteira restaurada não pode gastar a saída de troco de 8.999 BTC.
“Nunca imaginei que poderia comprometer todo meu saldo.”
O que sabemos sobre Stone Man
Quem era Stone Man?
A verdadeira identidade de Stone Man é desconhecida. Seu perfil no BitcoinTalk era a conta 288. No fórum, ele disse ter comprado 9.000 BTC ao longo do tempo, usado Bitcoin em um Debian live CD e salvo uma cópia do wallet.dat antes de desligar o computador.
Não sabemos seu nome verdadeiro, onde morava, sua profissão ou o que aconteceu após o tópico. Alegações posteriores sobre sua identidade não foram comprovadas.
Procurando a chave perdida
A busca pela chave começou em 2010
Minutos após Stone Man pedir ajuda, outro usuário se ofereceu para verificar a carteira antiga. Insti então refez a transação usando ferramentas iniciais do Bitcoin de Gavin Andresen. Para recuperar com sucesso, o arquivo wallet.dat salvo precisava conter a chave privada do endereço de troco. A análise de 2010 indicou que provavelmente não continha. Sem essa chave, o blockchain mostrava onde estavam as moedas, mas ninguém podia movê-las.
A primeira tentativa de recuperar a chave
Usuários do fórum acompanharam ambas as saídas da transação, pediram que Stone Man listasse as chaves em sua carteira e encontraram o endereço de troco perdido. Eles conseguiram explicar a perda, mas não recuperaram a chave.
Uma nova busca em 2026
Em 2026, um usuário anônimo do fórum afirmou ter testado mais de 6,5 milhões de chaves possíveis com uma GPU. Nenhuma correspondeu ao endereço perdido. Ele disse que precisaria de detalhes de Stone Man e de sua carteira antiga para reduzir a busca.
A autópsia da transação
Por que enviar 1 BTC moveu todos os 9.000 BTC
Bitcoin gasta saídas de transação como unidades inteiras. A carteira do Stone Man consumiu uma saída de 9.000 BTC, devolveu 1 BTC para o endereço escolhido e criou uma segunda saída com os 8.999 BTC restantes. Essa segunda saída era troco, não pagamento de roubo.
eb5b761c7380ed4c6adf688f9e5ab94953dcabeda47d9eeabd77261902fccccf167ZWTT8n6s4ya8cGjqNNQjDwDGY31vmHgA falha oculta
wallet.dat era uma foto, não uma promessa sobre chaves futuras
A carteira original do Bitcoin armazenava chaves privadas geradas independentemente. Quando precisava de um novo endereço de troco, podia gerar uma nova chave após o backup. Restaurar o arquivo antigo restaurava as chaves antigas, mas não podia recriar uma chave aleatória posterior.
Uma nova varredura da blockchain pode redescobrir a transação e mostrar para onde foram os 8.999 BTC. Ainda assim, não cria a chave privada perdida. Visibilidade não é controle.
O aviso veio primeiro
Stone Man não foi o primeiro pego pelo troco
Em 14 de julho de 2010, quase um mês antes do post do Stone Man, outro usuário descreveu a mesma falha em menor escala. Ele fez backup de uma carteira com 1,21 BTC, doou 0,01 BTC, restaurou o arquivo antigo e viu o saldo zerar.
Em 21 de julho, usuários alertavam que um backup antigo poderia conter a chave gasta, mas não a nova chave de troco. O risco era conhecido antes dos 8.999 BTC.
Como o Bitcoin mudou
De chaves soltas a keypool, depois para carteiras determinísticas
A resposta não veio como uma solução perfeita. O Bitcoin criou primeiro um buffer de segurança de chaves futuras. Designs posteriores de carteiras tornaram famílias inteiras de chaves recuperáveis de uma semente raiz.
-
Falha observada
Aviso de 1,20 BTC
Um usuário restaurou uma carteira antiga após doar 0,01 BTC e perdeu acesso à saída de troco recém-criada.
-
Design proposto
Satoshi descreve uma fila de chaves futuras
Endereços pré-gerados permitiriam que um backup contivesse chaves que a carteira ainda não usou.
-
Falha ampliada
Stone Man perde a chave de troco dos 8.999 BTC
A mesma fraqueza arquitetural torna-se impossível para a comunidade ignorar.
-
Buffer de segurança implementado
Bitcoin 0.3.13.3 ganha um keypool
Um pool padrão de 100 chaves pré-geradas oferece uma janela limitada de cobertura futura para backups.
-
Padrão determinístico
BIP 32 define uma árvore de chaves a partir de uma semente
Carteiras podem derivar chaves futuras de recebimento e troco de uma raiz recuperável, em vez de armazenar apenas chaves aleatórias não relacionadas.
-
HD por padrão
Bitcoin Core adota derivação determinística de chaves
Para carteiras HD recém-criadas, um backup correto baseado na semente pode regenerar as chaves derivadas da carteira.
103849419a9c014a69c76b6f96e48b66cbc838ca
O commit mudou a criação de transações para reservar chaves de troco de um pool padrão de 100 chaves pré-geradas, em vez de gerar a chave só quando a transação era criada.
O que isso significa hoje
Sementes modernas mudaram a recuperação, mas não tornaram backups opcionais
Carteiras determinísticas hierárquicas derivam muitas chaves de uma semente, então a falha exata do Stone Man não deve ocorrer com a semente e derivação corretas. Bitcoin Core introduziu carteiras HD na versão 0.13. Mas chaves importadas, carteiras antigas não-HD, caminhos de derivação desconhecidos, senhas perdidas, backups danificados e procedimentos de recuperação não testados ainda podem deixar fundos inacessíveis.
Saiba qual tipo de backup você tem
Frase-semente, exportação de descritor, arquivo wallet.dat, backup de hardware-wallet e chave privada importada não restauram da mesma forma.
Teste a recuperação sem mover fundos reais
Verifique se a carteira restaurada deriva os endereços de recebimento e troco esperados antes que uma emergência force você a adivinhar.
Trate chaves importadas como risco separado
Chaves importadas após a semente original ou backup podem precisar de exportação própria e nem sempre podem ser regeneradas pela frase de recuperação.
Migre carteiras legadas valiosas com cuidado
Crie uma carteira atual a partir do material de recuperação, verifique o backup, envie um valor de teste e só então mova o saldo restante.
A lição duradoura
Um backup é tão completo quanto o modelo de chaves que o suporta
A perda do Stone Man não foi uma falha na criptografia do Bitcoin nem um atacante desconhecido drenando a carteira. Foi uma falha no design de recuperação, visível por uma transação comum. A rede preservou o livro-razão perfeitamente; o backup antigo preservou o momento errado.
Fontes primárias e verificação
Acompanhe o registro do fórum, transação e código
As alegações históricas acima foram verificadas com posts contemporâneos do BitcoinTalk, registro público de transações, commit original do keypool, BIP 32 e documentação atual da carteira Bitcoin Core.
Perguntas frequentes
Stone Man realmente perdeu 8.999 BTC?
A transação pública gastou uma saída de 9.000 BTC e criou saídas de 1 BTC e 8.999 BTC. Stone Man relatou que a chave privada do endereço de troco de 8.999 BTC estava ausente no backup restaurado, e o endereço não gastou nenhuma saída quando este artigo foi verificado.
Por que o backup wallet.dat do Stone Man não recuperou as moedas?
O backup foi criado antes da carteira gerar a chave privada para o novo endereço de troco. Carteiras não determinísticas antigas não podiam recriar essa chave aleatória posterior a partir das chaves antigas ou da blockchain.
A saída de 8.999 BTC foi um hack ou pagamento a um atacante?
Nenhum atacante é necessário para explicar a transação. Os 8.999 BTC eram o troco do auto-pagamento de 1 BTC do Stone Man. A falha foi perder a chave privada para gastar esse troco.
O mesmo problema de backup pode ocorrer com frase-semente moderna?
Uma carteira determinística restaurada corretamente pode derivar as chaves de recebimento e troco esperadas a partir da semente correta. A recuperação pode falhar se a semente estiver errada ou incompleta, o método de derivação for desconhecido, chaves foram importadas separadamente, faltar senha ou o backup nunca foi testado.
Sabemos o que aconteceu com Stone Man?
Stone Man pediu ajuda no fórum, disse que ainda tinha o arquivo da carteira antiga e respondeu a perguntas técnicas. Depois, parou de postar. Não sabemos o motivo nem se continuou tentando recuperar a chave em privado.