Cryptomonnaie

Les preuves SPV expliquées – Coinmonks

Les preuves SPV expliquées - Coinmonks


Notions élémentaires sur les preuves de vérification des paiements simples, leur fonctionnement et leur importance

2*hoyTDbdmbBqTpDpsOaonSQ - Les preuves SPV expliquées - Coinmonks
Image illustrant SPV, du livre blanc Bitcoin, le véritable OG

La vérification de paiement simple, généralement abrégée en SPV, est un système décrit dans le livre blanc Bitcoin original qui permet aux clients légers (portefeuilles fonctionnant sur des systèmes bas de gamme) de vérifier qu’une transaction a été incluse dans Bitcoin et qu’un paiement a donc été effectué.

Cela est possible parce que, quand Satoshi a conçu Bitcoin, il a utilisé une structure de données appelée Merkle Tree pour stocker les transactions dans chaque bloc. Un arbre de Merkle n’a rien d’extraordinaire, c’est juste une structure créée en regroupant toutes les transactions et en les hachant, puis en procédant au hachage des hachages résultants et en poursuivant ce processus jusqu’à ce qu’il ne reste qu’un hachage, appelé racine de Merkle. Cela crée une arborescence dans laquelle chaque nœud a deux enfants, qui peuvent être utilisés pour créer leur nœud parent.

Visualisation d'un arbre à pastilles, L1-L4 sont des transactions Bitcoin

Ce qui est bien avec les arbres Merkle, c’est que celui qui ne connaît que la racine / le hachage supérieur de Merkle peut vérifier si une transaction fait partie de l’arbre, c’est-à-dire si elle est incluse dans un bloc Bitcoin. Pour ce faire, prenez les nœuds situés dans le chemin qui connecte la racine Merkle à l'une des transactions du bas et regroupez-les pour créer une preuve:

Une preuve SPV construite pour prouver que L1 est incluse dans le bloc

Avec cette preuve, notre utilisateur d'origine qui n'avait accès qu'au hachage supérieur peut suivre le chemin des racines d'une manière vérifiable, il peut vérifier que Hash1 et Hash0 générés ensemble génèrent le hachage supérieur, ce qui signifie que Hash1 et Hash0 sont légitimes. enfants, puis appliquez ce même contrôle à Hash0–0 et Hash0–1, affirmant ainsi que ces deux éléments font également partie du bloc d'origine et, enfin, vérifiez que L1 est la source de Hash0–0, ce qui prouve que L1 est inclus dans le bloc, confirmant ainsi comme une transaction Bitcoin acceptée.

Pourquoi les preuves SPV sont-elles si importantes?

Les preuves SPV peuvent ne pas sembler être un gros problème. Après tout, vous pouvez vérifier les transactions Bitcoin en exécutant un nœud complet. Pourquoi sautez-vous dans toutes ces étapes pour faire la même chose? Le problème, c’est que pour exécuter un nœud complet, il faut télécharger la blockchain complète, mais si nous utilisons des preuves SPV, nous n'avons besoin que de connaître la racine centrale de chaque bloc pour pouvoir vérifier les transactions. Par conséquent, nous ne devons stocker que 80 octets par bloc. au lieu de la taille beaucoup plus grande par bloc requise pour les nœuds complets. Cette réduction de plus de 99,99% rend possible l'exécution de la vérification à l'intérieur d'un périphérique disposant de peu de ressources ou d'un contrat intelligent, une impossibilité totale si nous devions télécharger chaque bloc.

Désavantages

En cas d'attaque réussie à 51% d'une crypto-monnaie, les attaquants pourraient persuader les clients, s'appuyant sur les preuves SPV, d'accepter tout type de transaction non valide, telle que celle où des pièces sont créées de toutes pièces. Il est possible de s’interroger sur la gravité de la menace, sachant que si une attaque réussie aboutit à 51% des dépenses, il était possible de doubler les dépenses, brisant ainsi une hypothèse de sécurité fondamentale et mettant en péril l’ensemble du système. Néanmoins, des recherches sont en cours sur des systèmes qui pourraient empêcher cela.

Afficher plus

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Articles similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer