Accueil Economie Les nœuds Bitcoin pourront rejeter les transactions non sollicitées avec cette solution

Les nœuds Bitcoin pourront rejeter les transactions non sollicitées avec cette solution

Une proposition soulève de permettre aux nœuds Bitcoin de s’alimenter rejeter la réception de transactions qui n’ont pas demandé ou requis, en commençant par les prochaines versions du client Bitcoin Core.

La solution vise à rechercher une plus grande efficacité dans la gestion des transactions Bitcoin et leur transmission entre paires. La proposition, faite par le développeur Antoine Riard sur la liste de diffusion Bitcoin, a été à son tour revue par la newsletter Bitcoin Optech.

La newsletter publiée le 17 février explique qu’en principe, avant de transmettre une transaction à d’autres nœuds, un nœud peut d’abord envoyer un message d’inv ou d’inventaire. Ce message lumineux suffit pour que les autres nœuds décident d’envisager ou non de sauvegarder et de transférer la transaction. La réponse affirmative d’un nœud pour recevoir une transaction est la commande getdata.

Lorsque le nœud reconnaît la transaction, il la sauvegarde dans sa mémoire. Le mempool réseau est la somme de la mémoire que chaque nœud que le réseau utilise pour stocker les transactions entrantes et non confirmées, Nous expliquons dans le glossaire CriptoNoticias.

Le portail mempool.space vous permet de visualiser des données sur le mempool Bitcoin. Source: Espace Mempool.

Cependant, note la proposition de Riard, la méthode inv / getdata a été négligée “par certains clients légers et autres logiciels” pendant plus d’une décennie. Ainsi, ils donnent un exemple de bitcoinj, le client de Bitcoin Core en langage Java, où il est visualisé au niveau du code comment les transactions sont envoyées aux nœuds, sans avoir été demandées par eux.

Sans que les nœuds puissent éviter de se renseigner sur une transaction non sollicitée, un attaquant pourrait envoyer de nombreuses transactions lourdes ou coûteuses à valider à partir de divers points de connexion vers un nœud cible, saturant ainsi la mémoire du nœud.

Une communication efficace entre les nœuds protège Bitcoin

La solution du développeur consiste à appliquer le protocole d’échange de messages inv / getdata, afin que les ressources de traitement et de validation des transactions puissent être sauvegardées et mieux réparties. Les nœuds pourraient également fermer les connexions avec des pairs identifiés comme malveillants ou qui boycottent le réseau.

Le seul moyen possible d’échapper à cette solution, et de réussir à transmettre un message d’inv ou une transaction brute (tx brut, transaction légère en information) quand elle devient effective, Il s’agit de s’appuyer sur une autre paire qui utilise un client Bitcoin compatible et interagit avec le réseau.

Relayer (relay) ou tirer parti d’un autre utilisateur pour transmettre des transactions, permettrait toujours à ce type de messages d’atteindre les nœuds, mais une fois que la condition de se conformer à la séquence inv / getdata est implémentée dans tous les clients, ces logiciels devraient continuer à se mettre à jour jusqu’à il leur devient impossible de transmettre des transactions brutes sur le réseau Bitcoin P2P.

Dans la discussion GitHub entre développeurs, l’un des participants confirme qu’en transmettant simplement des transactions coûteuses à traiter vers un nœud d’écoute ou un nœud d’écoute, cela engendrerait une lenteur dans la transmission et la validation des transactions.

Bien que la taille de cette attaque doive être énorme pour avoir des effets sérieux sur le réseau, elle peut affecter un nœud cible. Qu’il soit théoriquement possible de le faire nécessite une solution pratique de la part des développeurs et collaborateurs Bitcoin.

Il est prévu d’implémenter cette mise à jour dans la version 22.0 du client Bitcoin Core. Après cela, tous les clients Bitcoin devront mettre à niveau ou ils ne pourront pas envoyer de type de transaction.