Todos os programas de busca de chaves fazem, no fundo, a mesma coisa. O que muda entre eles é qual dos dois mundos da Aula 1 do módulo anterior eles atacam, em que hardware rodam e quanto trabalho já foi feito para tornar a aritmética rápida. Conhecer o mapa evita perder semanas usando a ferramenta errada.

O VanitySearch, do francês Jean-Luc Pons, nasceu em 2019 para uma tarefa inocente: encontrar endereços que começassem com um prefixo escolhido, para quem quisesse um endereço com o próprio nome no começo. É busca por endereço, roda em placas de vídeo e ficou importante por outro motivo — o código dele demonstrou, na prática, as otimizações que todo mundo passou a usar: a inversão em lote e o aproveitamento de uma simetria própria da secp256k1 que economiza um terço do trabalho.
O Kangaroo, do mesmo autor, é a implementação do método da Aula 4 anterior. Ele resolve logaritmo discreto em intervalo conhecido, exige a chave pública, usa pontos distinguidos e vem com modo cliente-servidor: várias máquinas saltam e mandam os pontos distinguidos para um servidor central que detecta a colisão. É a ferramenta que derrubou os desafios de número mais alto.
O keyhunt, do desenvolvedor conhecido como albertobsd, é o canivete do assunto. Roda em processador, e o que o torna útil é a quantidade de modos: busca por endereço, busca por chave pública, busca por hash, e uma implementação prática do passo de bebê e passo de gigante. É a ferramenta certa quando se quer testar milhões de alvos ao mesmo tempo, e não um só.
O BitCrack é mais antigo e mais direto: força bruta sobre intervalos, em placa de vídeo, procurando endereços. Continua em uso porque é simples de operar.
Vale um parágrafo para a peça que sustenta a busca por muitos alvos ao mesmo tempo, porque ela é engenhosa. Comparar cada candidato com dez milhões de endereços exigiria dez milhões de comparações; a solução é um filtro de Bloom, uma estrutura que responde muito rápido e com uma assimetria útil. Quando ele diz que o candidato não está na lista, ele está certo com certeza absoluta. Quando diz que talvez esteja, é preciso conferir de verdade — e isso acontece tão raramente que o custo some.

Sobre desempenho, três advertências que evitam decepção. Os números anunciados não são comparáveis entre modos: chaves por segundo numa busca por endereço, saltos por segundo num canguru e comparações por segundo contra uma lista carregada são grandezas diferentes. Boa parte do ganho de uma ferramenta sobre outra vem do filtro, não do cálculo. E o desempenho real depende brutalmente da placa, do compilador e dos parâmetros — o mesmo programa varia por um fator de dez entre duas configurações.
Por fim, o aviso que mais importa. Essas ferramentas manipulam chaves privadas, e uma versão já compilada baixada de um desconhecido pode fazer exatamente o que promete e, junto, mandar a chave encontrada para outro lugar. Já aconteceu. A regra é simples: use código aberto, leia o que puder, compile você mesmo, e rode a busca numa máquina que não guarda nada mais.

E a regra que a aula anterior já enunciou continua valendo aqui, porque é ela que separa o exercício do crime: procurar chaves de endereços que foram publicados como desafio é legítimo, porque quem pôs o dinheiro ali o pôs para ser procurado. Apontar as mesmas ferramentas para carteiras alheias é outra coisa, e não é uma questão técnica.
Você percorreu o curso inteiro: do escambo ao white paper, da chave à assinatura, da semente ao nó, da curva ao canguru. Falta uma volta só — como um desafio nasce, é verificado e é pago nesta plataforma. Na próxima aula, a última.