Skip to main content

Nodo SPV | Bitcoin Glossary | Mapping Bitcoin

Nodo SPV

Protocolo

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

Nodo Bitcoin ligero que descarga solo cabeceras de bloque. Depende de nodos completos para datos de transacciones, sacrificando seguridad por conveniencia.

Descripción General

Un nodo SPV implementa el método de Verificación Simplificada de Pagos descrito en el whitepaper de Bitcoin para verificar transacciones sin almacenar la blockchain completa. En lugar de descargar cada bloque (cientos de gigabytes), un nodo SPV solo descarga los encabezados de bloque (aproximadamente 80 bytes por bloque), lo que hace práctico ejecutarlo en teléfonos móviles y dispositivos con recursos limitados.

Cómo Operan los Nodos SPV

Nodo Completo                      Nodo SPV
┌─────────────────────┐           ┌─────────────────────┐
│ Todos los Encabezados│           │ Todos los Encabezados│
│ Todas las Transacc. │           │ (solo ~60 MB)        │
│ Conjunto UTXO compl.│           │                      │
│ Validación completa │           │ Pruebas Merkle para  │
│ (~500+ GB)          │           │ propias transacc.    │
└─────────────────────┘           └─────────────────────┘
         |                                  |
  Valida todo                      Confía en que la cadena
  independientemente               más larga tiene tx válidas

Cuando un nodo SPV necesita verificar una transacción, se conecta a uno o más nodos completos y solicita una prueba de Merkle que demuestre que la transacción está incluida en un bloque específico. El nodo SPV verifica esta prueba contra la raíz de Merkle del encabezado del bloque.

Compromisos de Seguridad

Los nodos SPV se basan en la suposición de que la cadena con más prueba de trabajo acumulada contiene solo transacciones válidas. No pueden verificar de forma independiente:

  • Si las entradas de una transacción son válidas y no están gastadas
  • Si el subsidio del bloque es correcto
  • Si todas las reglas de consenso se siguen correctamente

Esto significa que los nodos SPV son vulnerables a ataques de mineros deshonestos que podrían incluir transacciones inválidas en bloques con prueba de trabajo válida.

Preocupaciones de Privacidad

Las implementaciones SPV tradicionales utilizaban filtros Bloom (BIP37) para solicitar solo transacciones relevantes de los pares, pero se demostró que estos filtros filtraban información sustancial sobre las direcciones del usuario. Las alternativas modernas incluyen filtros de bloque compactos (BIP157/158, también llamados Neutrino), que invierten el modelo: el nodo completo crea un filtro compacto para cada bloque, y el cliente ligero descarga y verifica estos filtros localmente.

Casos de Uso Comunes

Los nodos SPV se utilizan ampliamente en billeteras móviles donde ejecutar un nodo completo no es práctico. Proporcionan un equilibrio razonable entre verificación y uso de recursos para transacciones cotidianas, aunque los usuarios que requieren máxima seguridad deberían considerar conectarse a su propio nodo completo.