Passer au contenu principal

Qu'est-ce qu'un jeton Honeypot ?

U
Écrit par UKey Wallet

Un jeton Honeypot est une cryptomonnaie malveillante créée par des développeurs qui insèrent intentionnellement des restrictions ou des portes dérobées dans le contrat intelligent. Cela permet aux utilisateurs ordinaires d'acheter le jeton mais les empêche de le vendre (ou soumet la vente à des frais extrêmement élevés/à des mécanismes de liste noire), emprisonnant ainsi leurs fonds dans leurs portefeuilles. En apparence, ces jetons peuvent sembler légitimes – ils peuvent avoir des paires de liquidité, des logos de jetons et une promotion communautaire active – mais une fois qu'un utilisateur achète le jeton sur un échange décentralisé, il découvre rapidement que la vente est rejetée ou que les frais de transaction sont si élevés qu'il devient impossible de récupérer son investissement.

Comment éviter les pertes et comment vérifier

  1. Vous pouvez saisir l'adresse du contrat du token dans un explorateur de blockchain tel que OKLINK (comme indiqué dans l'exemple ci-dessous). Si le token est un Honeypot, il sera généralement marqué en conséquence. ​

2. Étant donné que de nouveaux jetons sont lancés sur la blockchain chaque jour et que les explorateurs peuvent ne pas se mettre à jour à temps, vous pouvez effectuer une auto-vérification manuelle en utilisant les méthodes suivantes. ​
Vérifiez dans l'onglet Lire le contrat :

owner() — S'il renvoie une valeur autre que 0x000..., cela signifie que le propriétaire a toujours le contrôle.

totalSupply() et balanceOf() — Vérifiez la distribution initiale des jetons.

Recherchez des fonctions ou des variables telles que isExulatedFromFee(address), isBlacklisted(address), maxTxAmount() et tradingEnabled() (différents contrats peuvent utiliser des noms différents, mais ils servent des objectifs similaires). ​
Dans l'onglet Rédiger le contrat (accessible uniquement si vous en avez l'autorisation) :

Vérifiez s'il existe des fonctions d'écriture sensibles telles que ​setFeePercent, setBlacklist, renounceOwnership ou setTradingEnabled. Si ceux-ci existent et ne peuvent être appelés que par le propriétaire, le jeton comporte un risque élevé. ​
Recherchez dans le code source les mots-clés suivants (insensibles à la casse ou avec des traits de soulignement) :liste noire, isBot, onlyOwner, setFee, maxTx, exclusFromFee, trading, swapAndLiquify, transferFrom, approve, mint, burn, renounceOwnership, liquidity.

Portez une attention particulière à l'implémentation de transfer, _transfer et transferFrom — vérifiez s'ils gèrent to == pair ou from == pair différemment (pour faire la distinction entre les opérations d'achat et de vente).

Si vous trouvez du code tel que

require(!_isBlacklisted[from]); if (à == paire) { frais = 99 ; }

c'est un drapeau rouge clair. ​
Vérifiez si le contrat appelle un routeur (par exemple, Pancake/Uniswap Router) et si le processus swap inclut une logique complexe telle que lockTheSwap ou _tax, qui pourrait empêcher un échange normal.

Avez-vous trouvé la réponse à votre question ?