Formulário de contato

Nome

E-mail *

Mensagem *

Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Imagem

Sistema de Validação Bitcoin WIF - Consulte Milhares de Carteiras em Segundos

Sistema de Validação Bitcoin WIF - Consulte Milhares de Carteiras em Segundos

Publicado por em


@CanalQb no YouTube


@CanalQb

Sistema Completo de Validação Bitcoin WIF


⚠️ Sempre crie uma frase de segurança única para testes e evite usar sua carteira principal.


Valide Milhares de WIFs Bitcoin em Segundos

Sistema profissional em Python que permite consultar centenas ou até milhares de carteiras Bitcoin (formato WIF) em poucos segundos, comparando-as com um banco de dados completo de endereços da blockchain Bitcoin. Ideal para análise de segurança, recuperação de carteiras e auditoria de chaves privadas.

Por Que Usar Este Sistema?

Velocidade Extrema

Processa milhares de WIFs em segundos utilizando consultas otimizadas em lotes de até 5.000 registros simultâneos, cache LRU e índices SQLite especializados para máxima performance.

🔐

Segurança Total

Processamento 100% local sem envio de dados para servidores externos. Suas chaves privadas permanecem seguras no seu computador durante toda a análise e validação.

📊

Banco Completo

Database com todos os endereços Bitcoin conhecidos com saldo, extraído diretamente do snapshot oficial Blockchair, garantindo dados atualizados e confiáveis para suas consultas.

🎯

Múltiplos Formatos

Gera automaticamente todos os formatos de endereço Bitcoin para cada WIF, incluindo P2PKH (Legacy), P2WPKH-P2SH (Nested SegWit), P2WPKH (Native SegWit), comprimidos e não comprimidos.

⚙️

Configuração Flexível

Arquivo de configuração CFG permite personalizar caminhos, tamanho de lotes, modo verboso, exclusão automática de arquivos processados e muito mais sem modificar o código.

💾

Resultados Organizados

Matches encontrados são salvos automaticamente em arquivos TXT individuais na pasta "achou", com todos os WIFs e formatos de endereço para facilitar a análise posterior.

Como Funciona o Sistema

1

Criação do Banco de Dados

Execute o SNAPSHOT_Bitcoin.exe para baixar automaticamente o snapshot oficial do Blockchair contendo todos os endereços Bitcoin com saldo. O sistema descompacta o arquivo TSV de aproximadamente 3GB e importa os dados para um banco SQLite otimizado, criando índices especializados para consultas ultrarrápidas. Este processo precisa ser executado apenas uma vez, e o banco resultante (cerca de 2-3GB) fica armazenado localmente no seu computador. O executável possui interface gráfica com barras de progresso, exibe velocidade de processamento em tempo real e abre automaticamente links do canal ao concluir cada etapa.

💡 Dica: O processo de download e importação pode levar de 15 a 60 minutos dependendo da sua conexão e hardware. Certifique-se de ter pelo menos 10GB de espaço livre em disco.

2

Preparação dos Arquivos WIF

Organize suas chaves privadas no formato WIF em arquivos CSV ou TXT, colocando cada WIF na primeira coluna (separado por vírgulas ou um por linha). O sistema aceita WIFs comprimidos (começam com K ou L, 52 caracteres) e não comprimidos (começam com 5, 51 caracteres). Coloque todos os arquivos na mesma pasta configurada no arquivo CFG. O validador monitora continuamente esta pasta e processa automaticamente novos arquivos que forem adicionados, permitindo análise em lote de múltiplos arquivos simultaneamente.

📋 Formato aceito: Arquivos .csv ou .txt com WIFs na primeira coluna. Exemplo: 5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a

3

Execução e Validação

Execute o wif_validator_local.py e deixe-o rodando em segundo plano. O script processa cada WIF extraindo a chave privada, gerando todas as variações de endereços Bitcoin possíveis (P2PKH comprimido e não comprimido, P2WPKH-P2SH, P2WPKH Native SegWit) e consultando-os em lotes otimizados no banco de dados. A cada lote processado, o sistema exibe estatísticas em tempo real incluindo percentual concluído, velocidade de processamento (WIFs por segundo) e total de matches encontrados. Quando um endereço é localizado no banco, o sistema salva automaticamente um arquivo com o nome do endereço contendo todos os WIFs e formatos relacionados.

⚡ Performance: Em hardware moderno, o sistema processa entre 500 a 2.000 WIFs por segundo, gerando cerca de 6 endereços diferentes para cada WIF analisado.

Arquitetura e Componentes do Sistema

📦 SNAPSHOT_Bitcoin.exe

Executável compilado responsável pela criação do banco de dados local. Realiza download automático do snapshot oficial Blockchair, descompacta arquivos GZ, importa dados TSV para SQLite com otimizações de performance (journal mode OFF, synchronous OFF, cache de 1GB), cria índices especializados e valida a integridade dos dados importados.

🔧 Características técnicas:

  • Importação em lotes de 50.000 registros para otimização de memória
  • Barras de progresso com TQDM para acompanhamento visual detalhado
  • Tratamento robusto de erros de rede e validação de checksums
  • Limpeza automática de arquivos temporários após conclusão
  • Interface gráfica de console com título personalizado no Windows
  • Abre automaticamente links do YouTube após etapas críticas

🔍 wif_validator_local.py

Script Python principal para validação de WIFs. Monitora continuamente uma pasta em busca de arquivos CSV/TXT, extrai WIFs válidos, gera todos os formatos de endereço Bitcoin utilizando bibliotecas criptográficas especializadas (coincurve para ECDSA, bech32 para SegWit), consulta endereços em lotes otimizados no banco SQLite e salva automaticamente os matches encontrados.

🔧 Características técnicas:

  • Cache LRU (Least Recently Used) para 50.000 conversões WIF-to-Address
  • Modo WAL (Write-Ahead Logging) no SQLite para múltiplas leituras simultâneas
  • Consultas em sub-lotes de 900 registros (limite SQLite de 999 variáveis)
  • Arquivo de configuração CFG editável sem modificar código-fonte
  • Modo teste com endereços pré-configurados para validação do sistema
  • Processamento paralelo de arquivos com flag .processing anti-duplicação
  • Geração automática de 6 formatos de endereço por WIF (3 tipos × 2 compressões)
  • Salvamento organizado em pastas "achou" com formato padronizado

🧪 insere_teste_no_db.py

Utilitário de teste para validar o funcionamento do sistema. Insere endereços de teste no banco de dados com proteção contra duplicação (INSERT OR IGNORE), permitindo verificar se o validador está funcionando corretamente antes de processar grandes volumes de WIFs reais.

🔧 Uso recomendado:

  • Execute após criar o banco com SNAPSHOT_Bitcoin.exe
  • Insira o endereço e WIF de teste fornecidos no código
  • Execute o wif_validator_local.py em modo teste (MODO_TESTE = True no CFG)
  • Verifique se o sistema encontra o endereço inserido
  • Confirme que o arquivo foi salvo corretamente na pasta "achou"

Instalação Passo a Passo

📋 Pré-requisitos

Antes de começar, certifique-se de ter instalado:

  • Python 3.8 ou superior - Baixe em python.org
  • Pip - Gerenciador de pacotes Python (geralmente incluído)
  • Pelo menos 10GB de espaço livre - Para banco de dados e arquivos temporários
  • Conexão estável com internet - Para download do snapshot (apenas primeira execução)

📦 Instalação de Dependências

Abra o terminal ou prompt de comando e execute os seguintes comandos para instalar os módulos Python necessários:

Para wif_validator_local.py:

pip install requests pip install coincurve pip install base58 pip install bech32 pip install configparser

Para insere_teste_no_db.py:

pip install sqlite3

Nota: sqlite3 geralmente já vem incluído no Python padrão

💡 Dica: Se encontrar erros durante a instalação do coincurve no Windows, você pode precisar instalar o Microsoft Visual C++ Build Tools disponível em visualstudio.microsoft.com

Instalação rápida (todos os módulos de uma vez):

pip install requests coincurve base58 bech32 configparser

Testando o Sistema Antes de Usar

🧪 Passo 1: Execute o SNAPSHOT_Bitcoin.exe

Primeiro, crie o banco de dados executando o arquivo SNAPSHOT_Bitcoin.exe. Este processo pode demorar de 15 a 60 minutos dependendo da sua conexão e hardware. O programa irá:

  1. Verificar conexão com internet
  2. Baixar o snapshot do Blockchair (~3GB compactado)
  3. Descompactar o arquivo GZ
  4. Importar dados para banco SQLite
  5. Criar índices otimizados
  6. Limpar arquivos temporários

📍 Importante: Anote o caminho onde o banco foi criado (exemplo: D:\Rodrigo\20052025\blockchair\banco.db). Você precisará deste caminho para configurar o validador.

🧪 Passo 2: Insira Dados de Teste

Edite o arquivo insere_teste_no_db.py e configure o caminho do banco de dados e os valores de teste:

import sqlite3 # Caminho do banco de dados db_path = r"D:\Rodrigo\20052025\blockchair\banco.db" # Valores a serem inseridos (EXEMPLO) address_value = "1K9z7MaEQe5aDETNfJNkE8L5Hfz2DAixSP" balance_value = "5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a"

Execute o script para inserir o endereço de teste no banco:

python insere_teste_no_db.py

ℹ️ Nota: O campo "balance" no código de exemplo armazena um WIF de teste, não um saldo real. Isso permite testar a funcionalidade de match sem precisar de endereços reais com saldo.

🧪 Passo 3: Configure o Modo Teste

Edite o arquivo wif_validator_local.cfg e altere as seguintes linhas:

[DATABASE] db_path = D:\Rodrigo\20052025\blockchair\banco.db [PROCESSING] modo_teste = True modo_verboso = True

No modo teste, o sistema verificará automaticamente 5 endereços pré-configurados:

  • bc1qnavh9vkacx03mr4v03kyz4t0vz5fuflwrgavgj
  • 1NH7Rj5wPZzHNGTwBX8mYQshYSm4WcQHvb
  • bc1pdf6gp33ysngj859f3ezewlvggt04pfahx8yd6pegn480styyk83qyf89z8
  • 1BBQZv5rq4dKJznPJsanJErRnCTDzp11Vd
  • 3K1bRkhjdD3iiuG7M6YT5c5YzCg7eKfebN

Execute o validador em modo teste:

python wif_validator_local.py

O sistema deve exibir algo como:

🧪 MODO TESTE ATIVADO ✅ EXISTE - 1K9z7MaEQe5aDETNfJNkE8L5Hfz2DAixSP ❌ NÃO EXISTE - bc1qnavh9vkacx03mr4v03kyz4t0vz5fuflwrgavgj ...

🧪 Passo 4: Teste com Arquivo CSV Real

Após confirmar que o modo teste funciona, desative-o e teste com um arquivo CSV real:

1. Edite o CFG e desative o modo teste:

modo_teste = False modo_verboso = False

2. Crie um arquivo de teste chamado "teste.csv" com o seguinte conteúdo:

5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF 5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3

3. Execute o validador:

python wif_validator_local.py

O sistema deve processar o arquivo e, se houver match com o endereço inserido no passo 2, criar uma pasta "achou" contendo um arquivo TXT com os resultados.

Uso em Produção - Processamento em Massa

🚀 Preparação para Volume Alto

Para processar grandes volumes de WIFs (centenas de milhares ou milhões), siga estas recomendações:

1. Otimização de Hardware

  • SSD recomendado: O banco de dados SQLite tem performance muito superior em SSDs
  • RAM mínima: 8GB (16GB recomendado para lotes maiores)
  • CPU: Quanto mais threads, melhor (o sistema usa cache LRU que beneficia multi-threading)

2. Configuração Otimizada do CFG

[PROCESSING] tamanho_lote = 10000 # Aumentar para 10k se tiver 16GB+ RAM apagar_arquivos = True # Deletar após processar economiza espaço modo_verboso = False # Desabilitar verbose melhora performance

3. Organização de Arquivos

  • Divida WIFs em arquivos de 50.000 a 100.000 linhas cada
  • Use nomes sequenciais: wifs_001.csv, wifs_002.csv, etc.
  • O sistema processa em ordem aleatória para balancear carga

4. Execução Contínua

O validador foi projetado para rodar 24/7. Ele monitora continuamente a pasta CSV e processa automaticamente novos arquivos adicionados. Para garantir execução ininterrupta:

  • Desabilite hibernação do sistema operacional
  • Configure o script para iniciar automaticamente com o Windows (usando Task Scheduler)
  • Monitore logs para identificar possíveis travamentos

📊 Monitoramento e Estatísticas

Durante o processamento, o sistema exibe em tempo real:

📄 Processando: wifs_001.csv 📊 Total de WIFs extraídos: 50,000 📊 45.2% | 22,600/50,000 | 1,247 WIFs/s 🎯 MATCH! 1K9z7MaEQe5aDETNfJNkE8L5Hfz2DAixSP 💾 SALVO: D:\wifs\achou\1K9z7MaEQe5aDETNfJNkE8L5Hfz2DAixSP.txt ✅ Concluído em 40.12s | 1,246 WIFs/s | Matches: 1 🗑️ Arquivo deletado: wifs_001.csv

Interpretação das estatísticas:

  • Progresso (%): Percentual do arquivo atual processado
  • WIFs/s: Velocidade de processamento (500-2000 WIFs/s é normal)
  • Matches: Quantidade de endereços encontrados no banco

💾 Formato dos Resultados Salvos

Quando um match é encontrado, um arquivo TXT é criado na pasta achou com o seguinte formato:

Arquivo: 1K9z7MaEQe5aDETNfJNkE8L5Hfz2DAixSP.txt

p2pkh:L1aW4aubDFB7yfras2S1mN3bqg9nwySY8nkoLmJebSLD5BWv3ENZ p2wpkh-p2sh:L1aW4aubDFB7yfras2S1mN3bqg9nwySY8nkoLmJebSLD5BWv3ENZ p2wpkh:L1aW4aubDFB7yfras2S1mN3bqg9nwySY8nkoLmJebSLD5BWv3ENZ p2pkh:5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a p2wpkh-p2sh:5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a p2wpkh:5HpHagT65TZzG1PH3CSu63k8DbpnFvzc2Ds9WhdGL4fRF4a

Cada linha contém um formato de endereço seguido pelo WIF correspondente. As primeiras 3 linhas usam WIF comprimido (começa com K ou L) e as últimas 3 usam WIF não comprimido (começa com 5). Isso permite importar a carteira em qualquer wallet Bitcoin que suporte estes formatos.

Para Quem é Este Sistema?

🔐

Analistas de Segurança

Profissionais que precisam auditar grandes volumes de chaves privadas para identificar carteiras comprometidas ou validar segurança de sistemas de geração de endereços Bitcoin.

🔄

Recuperação de Carteiras

Usuários que possuem listas de chaves privadas antigas e precisam verificar rapidamente quais ainda contêm saldo na blockchain Bitcoin.

📚

Pesquisadores e Desenvolvedores

Estudantes e profissionais aprendendo sobre criptografia Bitcoin, geração de endereços e estrutura de chaves públicas/privadas através de experimentação prática.

🛡️

Testes de Penetração

Especialistas em segurança que realizam pentests em sistemas que gerenciam carteiras Bitcoin e precisam validar rapidamente milhares de chaves geradas.

Perguntas Frequentes

❓ Quanto tempo leva para processar 1 milhão de WIFs?

Em hardware moderno (SSD + 16GB RAM), o sistema processa entre 500 e 2.000 WIFs por segundo. Portanto, 1 milhão de WIFs leva aproximadamente de 8 a 33 minutos. A velocidade varia conforme CPU, velocidade do disco e quantidade de RAM disponível para cache.

❓ O sistema envia minhas chaves para algum servidor?

Não! Todo o processamento é 100% local. O sistema apenas consulta o banco de dados SQLite no seu próprio computador. As únicas conexões de rede são feitas pelo SNAPSHOT_Bitcoin.exe para baixar o snapshot público do Blockchair (apenas na primeira execução) e para abrir links do YouTube do @CanalQb em momentos específicos.

❓ Posso executar múltiplas instâncias do validador simultaneamente?

Sim! O sistema usa modo WAL (Write-Ahead Logging) no SQLite, que permite múltiplas leituras simultâneas do banco de dados. Você pode executar várias instâncias do wif_validator_local.py em pastas diferentes, cada uma com seu próprio conjunto de arquivos CSV. Isso é útil para processar vários lotes em paralelo e aproveitar melhor CPUs com muitos núcleos.

❓ O banco de dados contém TODOS os endereços Bitcoin existentes?

O banco contém todos os endereços Bitcoin que já receberam algum saldo em algum momento da história da blockchain, de acordo com o snapshot do Blockchair. Isso inclui endereços que atualmente têm saldo zero mas já receberam Bitcoin no passado. Endereços que nunca receberam nenhuma transação não estão no banco.

❓ Com que frequência devo atualizar o banco de dados?

Depende do seu caso de uso. Se você está procurando por carteiras muito antigas, um snapshot de meses atrás é suficiente. Para análises que envolvem transações recentes, recomenda-se atualizar mensalmente executando novamente o SNAPSHOT_Bitcoin.exe. O Blockchair atualiza seus snapshots regularmente com novos endereços que receberam Bitcoin.

❓ Por que alguns WIFs não geram endereços?

WIFs inválidos (checksum incorreto, tamanho errado, caracteres inválidos) são automaticamente ignorados pelo sistema. O validador realiza verificação rigorosa do formato antes de processar. Apenas WIFs válidos começando com 5, K ou L e com 51-52 caracteres são aceitos.

❓ O sistema funciona com endereços de outras criptomoedas?

Não. Este sistema foi desenvolvido especificamente para Bitcoin (BTC). Os algoritmos de geração de endereço, formatos WIF e estrutura do banco de dados são exclusivos para a rede Bitcoin. Para outras criptomoedas seria necessário adaptar o código e usar snapshots específicos de cada blockchain.

Recursos Técnicos Avançados

🔬 Algoritmos de Conversão Implementados

O sistema implementa todos os padrões oficiais de geração de endereços Bitcoin:

P2PKH (Pay-to-PubKey-Hash) - Legacy

Formato clássico que começa com "1". Utiliza SHA256 seguido de RIPEMD160 na chave pública, adiciona prefixo 0x00 e codifica em Base58Check. Suporta tanto chaves comprimidas (33 bytes) quanto não comprimidas (65 bytes). Exemplo: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

P2WPKH-P2SH (Nested SegWit)

Formato que começa com "3". Encapsula um endereço SegWit dentro de um script P2SH para compatibilidade retroativa. Cria primeiro um script witness (0x00 0x14 + hash160), aplica hash160 novamente, adiciona prefixo 0x05 e codifica em Base58Check. Exemplo: 3J98t1WpEZ73CNmYviecrnyiWrnqRhWNLy

P2WPKH (Native SegWit) - Bech32

Formato nativo SegWit que começa com "bc1q". Usa codificação Bech32 que é case-insensitive e possui correção de erros integrada. Converte o hash160 da chave pública para grupos de 5 bits e codifica com o HRP (Human-Readable Part) "bc" e witness version 0. Gera endereços mais eficientes e com taxas menores. Exemplo: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

💡 Detalhes de implementação: O sistema utiliza a biblioteca coincurve (wrapper do secp256k1 em C) para operações ECDSA de alta performance, garantindo geração de endereços até 10x mais rápida que implementações puras em Python. O cache LRU armazena até 50.000 conversões em memória para evitar reprocessamento de WIFs duplicados.

⚡ Otimizações de Performance

SQLite com Modo WAL

O banco utiliza Write-Ahead Logging que permite leituras simultâneas sem bloqueio, ideal para múltiplas instâncias do validador rodando em paralelo. Configurações aplicadas incluem journal_mode=WAL, synchronous=NORMAL, cache_size=-64000 (64MB) e temp_store=MEMORY.

Consultas em Lote Otimizadas

Em vez de consultar endereços um por um, o sistema agrupa até 5.000 WIFs, gera todos os 6 formatos de endereço (totalizando ~30.000 endereços), e consulta todos simultaneamente usando sub-lotes de 900 registros (limite de variáveis do SQLite). Isso reduz drasticamente o overhead de I/O.

Índice Especializado

O banco possui índice idx_address_lower criado sobre LOWER(TRIM(address)), garantindo buscas case-insensitive extremamente rápidas mesmo com milhões de registros. Consultas típicas retornam em menos de 1ms.

Cache LRU Funcional

Decorador @lru_cache(maxsize=50000) nas funções de conversão mantém em memória os 50.000 WIFs mais recentemente processados. Se o mesmo WIF aparecer em múltiplos arquivos, a conversão é instantânea (cache hit), economizando cálculos criptográficos custosos.

🛡️ Mecanismos de Segurança

  • Validação rigorosa de WIF: Verifica checksum Base58, tamanho correto (51-52 chars) e prefixo válido (5, K, L) antes de qualquer processamento
  • Proteção contra travamento de banco: Sistema de retry automático com timeout de 30 segundos e até 5 tentativas em caso de banco ocupado
  • Flag anti-duplicação: Arquivos sendo processados recebem extensão .processing temporária, evitando que múltiplas instâncias processem o mesmo arquivo
  • INSERT OR IGNORE: Banco de dados usa constraint UNIQUE em addresses, garantindo que endereços não sejam duplicados mesmo em inserções simultâneas
  • Tratamento robusto de erros: Try-catch em todas as operações críticas com logs detalhados e continuidade de processamento mesmo quando arquivos individuais falham

Baixe Gratuitamente o Sistema Completo

Acesse o link abaixo e baixe os 3 arquivos necessários para começar a validar seus WIFs Bitcoin agora mesmo. Sistema desenvolvido e testado pelo @CanalQb, 100% gratuito e open-source.

📦 Arquivos Inclusos:

  • SNAPSHOT_Bitcoin.exe - Criador do banco de dados (executável Windows)
  • wif_validator_local.py - Script principal de validação
  • insere_teste_no_db.py - Utilitário de teste
  • wif_validator_local.cfg - Arquivo de configuração (gerado automaticamente)
  • README.txt - Instruções detalhadas
Snapshot 2026
Script insere teste
Consulta CSV/TXT em pastas

Tamanho aproximado: 15MB | Compatível com Windows 10/11

⚠️ Aviso Legal e Responsabilidade

Este sistema é fornecido exclusivamente para fins educacionais, de pesquisa e auditoria de segurança. O uso inadequado de ferramentas de validação de chaves privadas pode violar leis de privacidade e segurança cibernética em sua jurisdição.

O usuário é 100% responsável por: Garantir que possui autorização legal para processar as chaves privadas que está validando; Cumprir todas as leis locais, estaduais e federais relacionadas a criptomoedas e privacidade; Proteger adequadamente os resultados encontrados e não divulgar chaves privadas de terceiros; Usar o sistema apenas em chaves de sua propriedade ou com permissão explícita do proprietário.

Isenção de responsabilidade: O desenvolvedor (@CanalQb) e distribuidores deste software não se responsabilizam por qualquer uso indevido, perda de fundos, violação de privacidade ou consequências legais decorrentes do uso desta ferramenta. Este software é fornecido "como está", sem garantias de qualquer tipo.

Recomendações de segurança: Nunca compartilhe chaves privadas encontradas publicamente; Sempre use este sistema em ambiente seguro e offline quando possível; Mantenha backups criptografados dos resultados; Evite processar chaves privadas de terceiros sem autorização expressa e documentada.

Pronto para Começar?

Baixe agora o sistema completo e comece a validar milhares de WIFs Bitcoin em segundos. Totalmente gratuito, desenvolvido com tecnologias de ponta e otimizado para máxima performance.


Desenvolvido por @CanalQb | Tecnologia Python + SQLite + Criptografia Avançada

Se este conteúdo foi útil, não esqueça de se inscrever no canal e ativar as notificações!


Marcadores:

© CanalQB – Tutoriais de YouTube, Python, Airdrops e Criptomoedas

Comentários