wallet : Neutrino pourrait-il techniquement, comme effet secondaire, inciter à la centralisation du réseau bitcoin ?


Dorier a raison de dire que les nœuds Neutrino/SPV ne sont pas des nœuds complets, car ils ne vérifient pas l’intégralité de la blockchain, laissant une marge potentielle d’attaque. Cependant, la représentation selon laquelle Neutrino n’est pas meilleur que les autres modes SPV n’est pas correcte.

Neutrino est une forme de SPV qui s’améliore considérablement par rapport aux autres implémentations en ce qui concerne la confidentialité. Tous les modes SPV divulguent intrinsèquement des indices sur les transactions que vous souhaitez recevoir car les informations doivent être interrogées. Neutrino s’améliore par rapport aux modes SPV précédents en limitant la précision des informations divulguées aux blocs qui contiennent les transactions qui les concernent. Un nœud complet ne divulgue aucune information car tous les blocs sont archivés et aucune requête n’a besoin d’être effectuée.

Le problème avec les nœuds SPV est qu’ils vérifient uniquement que les transactions ont eu lieu à l’aide de certaines preuves SPV, mais ils ne garantissent pas que vous êtes sur la bonne chaîne de preuve de travail. Tout écart unique des règles de validation complètes pourrait se transformer en une chaîne distincte, où les nœuds complets rejetteraient la chaîne que les utilisateurs SPV pourraient suivre.

wallet : Neutrino pourrait-il techniquement, comme effet secondaire, inciter à la centralisation du réseau bitcoin ?

Pour donner un exemple concret, la taille maximale des blocs fait partie des règles de validation. Un nœud complet n’acceptera jamais un bloc qui dépasse la taille autorisée. Un nœud SPV peut accepter n’importe quelle taille de bloc comme véridique, car il ne connaît pas la taille du bloc et ne peut pas la mesurer – il ne reçoit que l’en-tête de bloc et il doit faire confiance aux serveurs fournissant les informations d’en-tête de bloc pour avoir correctement validé les informations.

La seule façon de contrer cela est d’exécuter toutes les règles de validation attendues par un nœud complet, ce qui inclut la taille du bloc et, par conséquent, vous oblige à recevoir toutes les transactions d’un bloc pour mesurer sa taille.

Une autre validation non effectuée par les modes SPV actuels concerne les règles concernant la transaction coinbase, qui frappe de nouvelles pièces. Un écart par rapport à cette règle pourrait entraîner une inflation de l’offre de pièces sur la chaîne suivie d’un nœud SPV, qui n’en serait pas plus avisé.

Ce qui précède ne signifie pas que les nœuds SPV sont intrinsèquement mauvais ou doivent nécessairement être évités – mais souligne qu’il existe une surface d’attaque à laquelle les nœuds SPV sont vulnérables, mais contre laquelle les nœuds complets sont immunisés par conception.

La préoccupation de Dorier et d’autres est que s’il devient courant d’abandonner l’exécution de nœuds complets en raison de l’attente qu’un nœud Neutrino est assez bon, alors les nœuds complets pourraient commencer à se retirer du réseau et laisser de moins en moins d’entités responsables de la validation. de l’ensemble des règles. Si une majorité écrasante de nœuds suivaient simplement les règles de quelques validateurs, la protection de la majorité économique contre l’inflation et l’expansion de la taille des blocs serait affaiblie par rapport à un réseau où une majorité de personnes valident toutes les règles.