Skip to main content

Nó SPV | Bitcoin Glossary | Mapping Bitcoin

Nó SPV

Protocolo

Also known as: light client, lightweight node, thin client

Nó Bitcoin leve que verifica transações via SPV sem baixar toda a blockchain, comum em carteiras móveis com menor segurança e requisitos de armazenamento.

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.