Verificación de Pago Simplificada (Simplified Payment Verification)
Es posible verificar pagos sin ejecutar un nodo completo de la red. Un usuario solo necesita mantener una copia de los encabezados de bloque de la cadena de prueba de trabajo más larga, la cual puede obtener consultando nodos de la red hasta convencerse de que tiene la cadena más larga, y obtener la rama de Merkle que enlaza la transacción con el bloque en el que está marcada con una marca de tiempo. No puede verificar la transacción por sí mismo, pero al vincularla a un lugar en la cadena, puede ver que un nodo de la red la ha aceptado, y los bloques añadidos después de ella confirman aún más que la red la ha aceptado.
Longest Proof-of-Work Chain: Cadena de Prueba de Trabajo más Larga
Block Header (Block Hash): Encabezado de Bloque (Hash del Bloque)
Prev Hash: Hash del Bloque Anterior
Nonce: Valor Temporal
Merkle Root: Raíz de Merkle
Hash[N]: Hash[N]
Tx[N] (Transaction[N]): Tx[N] (Transacción[N])
Merkle Branch for Tx3: Rama de Merkle para Tx3
Como tal, la verificación es confiable siempre y cuando los nodos honestos controlen la red, pero es más vulnerable si la red es dominada por un atacante. Mientras que los nodos de la red pueden verificar las transacciones por sí mismos, el método simplificado puede ser engañado por transacciones fabricadas por un atacante mientras éste pueda continuar dominando la red. Una estrategia para protegerse contra esto sería aceptar alertas de los nodos de la red cuando detecten un bloque inválido, lo que provocaría que el software del usuario descargue el bloque completo y las transacciones alertadas para confirmar la inconsistencia. Es probable que las empresas que reciben pagos frecuentes aún deseen ejecutar sus propios nodos para una seguridad más independiente y una verificación más rápida.