Qu’est-ce que le Zero Transfer en crypto ?

Le Zero Transfer est une technique d'escroquerie visant à réaliser des transactions de valeur nulle à partir de l'adresse de la victime vers un autre portefeuille, pouvant causer un effet de panique. Pour faire une transaction à valeur nulle ? Comment la blockchain interprète ce type de transaction et que faire pour se protéger du Zero Transfer en crypto ?

Zero Transfer Crypto

Pour que le Zero Transfer n’ait plus de secret pour vous, nous allons prendre le temps d’étudier toutes ses facettes afin de mieux comprendre son fonctionnement.

Qu’est-ce qu’un Zero Transfer ?

Le Zero Transfer est tout simplement un transfert de cryptomonnaie avec une valeur nulle sur les blockchains qui utilisent les contrats intelligents comme Ethereum. Concrètement, cela va créer une véritable transaction sur la blockchain, mais n’envoyer aucun jeton.

Pour que ce soit plus clair, voici un exemple de ce genre de transaction sur la blockchain Polygon.

Transaction Zero Transfer
Aperçu d’une transaction de type Zero Transfer sur Polygon

Comme vous pourrez le remarquer, la transaction est bien présente dans la blockchain, les frais liés à celle-ci ont bien été payés et la quantité d’USDT envoyé est égale à 0.

Une transaction totalement inutile ?

Dans les faits, ce type de transaction n’a absolument aucun intérêt étant donné que personne ne va s’envoyer de la cryptomonnaie avec une valeur étant égale à 0. Sauf que, si certaines vérifications dans le code source de la cryptomonnaie ne sont pas faites, il est possible de faire ce type de transaction avec n’importe quelle adresse sur la blockchain.

En réalité, n’importe qui peut aujourd’hui utiliser VOTRE adresse personnelle, y compris celle de votre Ledger, pour faire ce type de transaction et sans votre consentement.

Même si ce type de transaction n’a aucun impact sur vos cryptomonnaies et NFT, elles peuvent causer un mouvement de panique chez certains investisseurs néophytes qui vont agir dans l’urgence et probablement perdre réellement une perte ou la totalité de leurs actifs numériques, comme avec l’exemple ci-dessous.

Phishing Zero Transfer example
Aperçu d’une attaque de type address poisoning avec des transations Zero Transfer

Mais au-delà de l’effet de panique que ce type de transaction peut provoquer, elles vont aussi permettre d’empoisonner votre historique, via ce que l’on appelle l’Address Poisoning.

Pour cela, le Zero Transfer sera effectué avec une « Vanity address« , une adresse ressemblant à la vôtre afin de vous faire croire que la dernière adresse de l’historique vous appartient alors que c’est celle du pirate qui attend une erreur d’envoi de votre part.

Comment ce type de transfert est-il possible ?

Comme vous le savez, les transferts de cryptomonnaies sont régis par du code informatique et déployé sur la blockchain sous forme de smart contract. Ces contrats intelligents sont ensuite interprétés par la machine virtuelle l’Ethereum (EVM) que les utilisateurs vont utiliser en faisant appel aux différentes fonctions, et notamment celle de transfert.

Pour que ce soit plus parlant, voici le code de la fonction transferFrom() du tokens USDC sur la blockchain Ethereum.

Code smart contract USDC

Il se décompose en 3 parties qui sont les suivantes :

  1. Vérification du montant du transfert et si l’adresse qui effectue la transaction dispose du montant délégué suffisant pour émettre. Par défaut, le montant délégué est à 0, ce qui permet à n’importe quelle adresse d’utiliser cette fonction.
  2. Transfert des fonds par l’intermédiaire de la fonction transfer()
  3. Diminution du montant délégué à l’adresse qui a émis le transfert.

On peut donc considérer ça comme une « faille » dans le code du contrat qui pourrait être corrigé en vérifiant que la valeur émise soit supérieur à 0. En termes de code, voici un exemple pour vous montrer la simplicité :

require(value > 0, "Zero Transfer not allowed");

Néanmoins, c’est beaucoup plus complexe que ça en a l’air, car une fois déployé, un contrat intelligent ne peut pas être modifié à la guise des développeurs. Pour le corriger et apporter des modifications, il faut déployer un nouveau contrat.

Ce sont des attaques ont lieu sur des blockchains généralement peu coûteuses en frais de transaction comme Polygon, Tron ou encore Arbitrum.

Comment se protéger des Zero Transfer ?

Malheureusement, il n’existe pas de moyen d’empêcher ça étant donné que ce sont les contrats intelligents qui régissent ces transferts. Avec le temps, les développeurs derrière ces contrats feront en sorte que ce type de transfert ne soit plus possible pour éviter ça.

En attendant, si vous êtes victime de ce genre de transaction, vous ne devez pas paniquer car elles sont totalement inoffensives pour vos portefeuilles et les ignorer. De plus, n’utilisez JAMAIS l’historique de vos transactions pour effectuer un transfert de cryptomonnaie ou de NFT.

Partager l'article sur les réseaux sociaux

Auteur

Depuis 2017, je ne cesse d'explorer l'univers du Bitcoin, de la blockchain des crypto monnaies, des NFT et plus récemment, celui du Web3. Après avoir fondé Au Coin du Bloc en 2021, je met à disposition mes connaissances et tente de vulgariser les aspects obscurs pour rendre abordable et compréhensible cet univers naissant dans lequel je crois fermement.

Articles similaires