SPV (verificación simplificada de pagos)
Un modelo de cliente ligero que verifica transacciones con los encabezados de los bloques y pruebas de Merkle, en lugar de la cadena de bloques (blockchain) completa.
Traducción hecha con ayuda de IA, pendiente de revisión humana. Lee el original (en inglés).
SPV, por Simplified Payment Verification (verificación simplificada de pagos), es el modelo de cliente ligero descrito en la sección 8 del whitepaper de Bitcoin. Permite que una billetera verifique sus propias transacciones sin almacenar la cadena completa.
Cómo funciona:
- La billetera descarga solo los encabezados de bloque de 80 bytes de cada bloque, desde el bloque génesis hasta el más reciente. Son unos 4 MB al año, cerca de 78 MB en total para los aproximadamente 970,000 bloques minados hasta octubre de 2026.
- La billetera valida la cadena de encabezados comprobando la prueba de trabajo (proof-of-work) de cada uno y que cada uno enlace correctamente con su predecesor.
- Para una transacción concreta que le interesa, la billetera le pide a un nodo completo una prueba de Merkle (en inglés): una lista corta de hashes que demuestra que la transacción está incluida en el árbol de Merkle (en inglés) de algún bloque.
- La billetera recalcula la raíz de Merkle a partir de la transacción y la prueba, y comprueba que coincida con la raíz guardada en el encabezado de ese bloque.
Si la prueba cuadra, queda demostrado que la transacción está en la cadena, a la profundidad indicada. La billetera ha confirmado la inclusión sin descargar el resto de los datos del bloque.
Lo que SPV sacrifica a cambio:
- No aprendes nada sobre el resto del bloque. No puedes verificar que las demás transacciones del bloque obedezcan las reglas de consenso; tienes que confiar en que los mineros y los nodos completos con los que hablas no te mienten sobre la validez de la cadena.
- Fuga de privacidad. El SPV ingenuo pregunta "¿cuál es la prueba de la transacción X?", lo que le dice al nodo consultado que X te importa. Protocolos mejores (los filtros de bloque compactos del BIP 157/158 (en inglés), implementados en producción como Neutrino (en inglés)) permiten que los clientes descarguen filtros y busquen coincidencias localmente, sin revelar qué direcciones son suyas.
- Vulnerabilidad a ataques de eclipse. Si un atacante aísla tu cliente SPV de los pares honestos, puede hacerte seguir una bifurcación. Un nodo completo resiste mejor porque valida cada regla por su cuenta.
La mayoría de las billeteras ligeras para celular usan una lógica de tipo SPV, muchas veces combinada con filtros de bloque compactos para la privacidad. Es un intercambio razonable para el uso diario. Para montos altos o situaciones en las que hay mucho en juego, corre un nodo completo.
Ideas clave
- Guarda solo los encabezados de los bloques y se apoya en pruebas de Merkle
- Consume menos recursos que un nodo completo, pero confía más en los pares
- Plantea problemas de privacidad, salvo que se usen métodos más avanzados (como Neutrino)
Fuentes (1)
Términos relacionados (1)
Publicado el . No hay correcciones registradas para esta página.
Editar esta página en GitHub