EOS recherche des solutions en tant que RAM Exploit Plagues Users

La communauté EOS est à nouveau à la recherche de solutions maintenant que les développeurs ont identifié un bogue de contrat intelligent qui permet aux auteurs de contrats malveillants de consommer efficacement les ressources réseau appartenant à d’autres utilisateurs.

EOS Smart Contract Exploit Consomme RAM

Pour réduire le spam, EOS exige que les utilisateurs achètent une ressource réseau limitée appelée «RAM» pour déployer des contrats intelligents et exécuter des applications décentralisées (dApps).

Récemment, les développeurs ont découvert que des attaquants pouvaient créer des contrats intelligents malveillants exploitant la fonctionnalité de notification du langage de script, ce qui permet à un contrat de notifier d’autres contrats d’événements spécifiques (par exemple, un transfert de jeton entrant). Les contrats malveillants utilisent cette fonction pour remplir la mémoire vive des autres utilisateurs de données «inutilisables», geler définitivement la mémoire vive et empêcher les victimes de l’utiliser à des fins valides ou de la revendre au réseau.

L’exploitation peut affecter à la fois les utilisateurs ordinaires et certains contrats intelligents, mais surtout, ils ne courent le risque que s’ils transfèrent des jetons vers le contrat malveillant.

Les développeurs recherchent des solutions

Bien que l’exploit ne puisse pas voler les fonds des utilisateurs, il peut bloquer définitivement la RAM, qui doit être achetée avec les jetons EOS.

Dan Larimer, directeur technique d’EOS Creator Block.one et architecte en chef de la crypto-monnaie, a abordé la question sur Medium , en faisant valoir qu’il devrait être qualifié d’abus d’une fonctionnalité valide – il l’a appelé «vandalisme» – plutôt que d’un bug.

Il a ajouté que, parce que l’exploitation «tire parti de l’inadéquation entre l’intention des utilisateurs et l’effet réel du code», les fabricants de blocs du réseau ont l’autorité de créer une liste noire des contrats malveillants. contester avec l’auteur du contrat à travers le processus d’arbitrage du réseau. Comme il l’a fait valoir par le passé, «l’intention du code est la loi». Il a également noté que de nombreux portefeuilles EOS avertissent les utilisateurs lorsqu’une transaction peut consommer de la RAM.

Larimer a en outre proposé une mise à niveau du protocole par bloc producteur uniquement qui, si elle était adoptée par tous les producteurs de blocs actifs, empêcherait le destinataire de notifications d’action de consommer de manière inattendue la mémoire vive de l’expéditeur.

Jetons de procuration

En attendant, une équipe de développement opérant sous le nom d’EOSEssentials a créé une solution efficace, quoique légèrement compliquée, pour les utilisateurs soucieux de perdre leur mémoire vive stockée.

Comme expliqué sur le GitHub du groupe , les utilisateurs EOS peuvent envoyer des jetons via un compte proxy ne détenant aucune mémoire vive, ce qui empêche les contrats malveillants de consommer de la mémoire vive depuis le compte réel de l’utilisateur. Ce compte, « safetransfer », est codé pour transférer automatiquement les jetons reçus vers le nom de compte qui apparaît en tant que premier mot dans la ligne de note de transaction.

Par exemple, si je voulais envoyer des jetons à Block.one (ils ne disposent que de 100 millions d’EOS, ils pourraient probablement en utiliser plus), je les enverrais directement à «safetransfer», puis j’écrirais «b1» nom du compte) comme premier mot de la ligne de mémo. Le mémo pourrait ressembler à ceci:

“B1 Voici quelques jetons; j’espère qu’ils aident! ”

Cette méthode proxy est également compatible avec d’autres types de jetons, bien qu’elle nécessite une configuration manuelle.

En outre, les développeurs ont déclaré que les utilisateurs ne devaient pas tenter la méthode de jeton proxy lors de l’interaction avec les applications dApp , car les applications agiraient comme si elles interagissaient avec le contrat de proxy – et non avec l’utilisateur réel. Cela ne devrait pas poser de problème, car presque personne n’utilise actuellement EOS dApps (ou dapps Ethereum, d’ailleurs).

Laisser un commentaire

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