Qu'est-ce que la Vérification de Paiement Simplifiée (SPV) dans les cryptomonnaies ?
La Vérification de Paiement Simplifiée (SPV) est un mécanisme décrit dans le concept original de bitcoin qui permet à un participant du réseau de s'assurer qu'une transaction particulière est bien incluse dans la blockchain sans télécharger l'intégralité de la chaîne de blocs. Un nœud complet peut stocker des dizaines et des centaines de gigaoctets de données, tandis que pour une vérification SPV, il suffit de télécharger uniquement les en-têtes de blocs — des enregistrements compacts d'environ quatre-vingts octets chacun.
Le principe de fonctionnement est basé sur un arbre de Merkle. Chaque bloc contient la racine d'un tel arbre, résumant toutes les transactions qui y sont incluses. Un client léger demande à des nœuds complets une chaîne de hachages (le soi-disant chemin Merkle) prouvant qu'une transaction spécifique fait partie d'un bloc confirmé. Si la vérification mathématique du chemin correspond à la racine Merkle dans l'en-tête, le paiement est considéré comme confirmé.
Où la SPV est utilisée
- dans des portefeuilles légers (mobiles et de bureau) avec un espace disque limité ;
- dans des appareils avec une faible puissance de calcul ;
- où une synchronisation rapide sans télécharger entièrement la blockchain est importante.
Le compromis de la SPV réside dans le niveau de confiance : un client léger s'appuie sur l'honnêteté des nœuds complets et ne vérifie pas l'ensemble de l'historique par lui-même, il est donc inférieur à un nœud complet en autonomie et en résistance à certaines attaques. Néanmoins, pour les paiements quotidiens, cette approche offre un équilibre raisonnable entre sécurité et commodité.