Visão Geral
Um nó SPV implementa o método de Verificação Simplificada de Pagamentos descrito no whitepaper do Bitcoin para verificar transações sem armazenar a blockchain completa. Em vez de baixar cada bloco (centenas de gigabytes), um nó SPV baixa apenas os cabeçalhos de bloco (aproximadamente 80 bytes por bloco), tornando prático executá-lo em telefones celulares e dispositivos com recursos limitados.
Como os Nós SPV Operam
Nó Completo Nó SPV
┌─────────────────────┐ ┌─────────────────────┐
│ Todos os Cabeçalhos │ │ Todos os Cabeçalhos │
│ Todas as Transações │ │ (apenas ~60 MB) │
│ Conjunto UTXO compl.│ │ │
│ Validação completa │ │ Provas Merkle para │
│ (~500+ GB) │ │ próprias transações │
└─────────────────────┘ └─────────────────────┘
| |
Valida tudo Confia que a cadeia
independentemente mais longa tem tx válidas
Quando um nó SPV precisa verificar uma transação, ele se conecta a um ou mais nós completos e solicita uma prova de Merkle demonstrando que a transação está incluída em um bloco específico. O nó SPV verifica essa prova contra a raiz de Merkle do cabeçalho do bloco.
Compromissos de Segurança
Os nós SPV baseiam-se na suposição de que a cadeia com mais prova de trabalho acumulada contém apenas transações válidas. Eles não podem verificar independentemente:
- Se as entradas de uma transação são válidas e não gastas
- Se o subsídio do bloco está correto
- Se todas as regras de consenso estão sendo seguidas corretamente
Isso significa que os nós SPV são vulneráveis a ataques de mineradores desonestos que poderiam incluir transações inválidas em blocos com prova de trabalho válida.
Preocupações com Privacidade
As implementações SPV tradicionais usavam filtros Bloom (BIP37) para solicitar apenas transações relevantes dos pares, mas esses filtros demonstraram vazar informações substanciais sobre os endereços do usuário. Alternativas modernas incluem filtros de bloco compactos (BIP157/158, também chamados de Neutrino), que invertem o modelo: o nó completo cria um filtro compacto para cada bloco, e o cliente leve baixa e verifica esses filtros localmente.
Casos de Uso Comuns
Os nós SPV são amplamente usados em carteiras móveis onde executar um nó completo é impraticável. Eles fornecem um equilíbrio razoável entre verificação e uso de recursos para transações cotidianas, embora usuários que exigem segurança máxima devam considerar se conectar ao seu próprio nó completo.