Vérification simplifiée des paiements (Simplified Payment Verification)
Il est possible de vérifier une transaction sans exécuter un nœud complet. L’utilisateur n’a qu’à conserver les en-têtes de bloc de la plus longue chaîne validée par preuve de travail, qu’il peut récupérer en interrogeant les nœuds du réseau jusqu’à être convaincu de détenir la plus longue chaîne. Ensuite, il lui suffit d’obtenir la branche de Merkle rattachant la transaction au bloc où elle est horodatée. Il ne peut pas contrôler la validité de la transaction en soi, mais en l’associant à une position précise dans la chaîne, il constate qu’un nœud du réseau l’a déjà acceptée. Les blocs qui s’ajoutent ensuite ne font que confirmer davantage cette acceptation au fil du temps.

Longest Proof-of-Work Chain: Chaîne de preuve de travail la plus longue
Block Header (Block Hash): En-tête de bloc (Hash de bloc)
Prev Hash: Hash du bloc précédent
Nonce: Valeur temporaire
Merkle Root: Racine de Merkle
Hash[N]: Hash[N]
Tx[N]: Transaction[N]
Merkle Branch for Tx3: Branche de Merkle pour Transaction3
Ainsi, la vérification est fiable tant que des nœuds honnêtes contrôlent le réseau, mais elle devient plus vulnérable si le réseau est dominé par un attaquant. Bien que les nœuds du réseau puissent vérifier eux-mêmes les transactions, la méthode simplifiée peut être trompée par des transactions fabriquées par un attaquant tant que ce dernier peut continuer à dominer le réseau. Une stratégie pour se protéger contre cela serait d’accepter les alertes des nœuds du réseau lorsqu’ils détectent un bloc invalide, incitant ainsi le logiciel de l’utilisateur à télécharger le bloc complet et les transactions signalées afin de confirmer l’incohérence. Les entreprises qui reçoivent des paiements fréquents voudront probablement continuer à exploiter leurs propres nœuds pour une sécurité plus indépendante et une vérification plus rapide.