Glosario cripto

Verificación simplificada de pagos (SPV)

Definición

La verificación simplificada de pagos (SPV) permite a una billetera ligera de Bitcoin confirmar que un pago está en un bloque sin descargar toda la cadena.

El método SPV aparece en la sección 8 del whitepaper de Bitcoin. En lugar de guardar todas las transacciones, una billetera SPV descarga la cadena de cabeceras de bloque, de 80 bytes cada una, y comprueba que sigue la cadena con más prueba de trabajo acumulada. Para verificar un pago entrante pide una rama de Merkle que enlace la transacción con la raíz de Merkle de una de esas cabeceras.

Gracias a este sistema fueron posibles las billeteras móviles de Bitcoin cuando descargar la cadena completa era impensable. Sus variantes siguen detrás de muchas billeteras ligeras, y la misma idea de demostrar la inclusión frente a una cabecera la usan sidechains, puentes e implementaciones de Lightning que necesitan comprobar eventos on-chain con poco coste.

SPV demuestra que una transacción se incluyó en un bloque, no que el bloque sea válido, así que presupone que la mayoría del hashrate es honesta. Las primeras implementaciones con filtros Bloom revelaban qué direcciones pertenecían a la billetera; los filtros compactos de bloque (BIP-157 y BIP-158) mejoran la privacidad, pero la billetera sigue dependiendo de conectarse a nodos completos honestos.

Ejemplo

Una billetera móvil recibe un pago y pide a un nodo completo una prueba de Merkle; tras comprobarla con una cabecera que ya tiene seis bloques encima, muestra el pago como confirmado.

Términos relacionados