Ir al contenido principal

¿Qué es un token Honeypot?

U
Escrito por UKey Wallet

Un token Honeypot es una criptomoneda maliciosa creada por desarrolladores que intencionalmente insertan restricciones o puertas traseras en el contrato inteligente. Esto permite a los usuarios comunes comprar el token, pero les impide venderlo (o hace que la venta esté sujeta a tarifas extremadamente altas/mecanismos de lista negra), atrapando efectivamente sus fondos en sus billeteras. A primera vista, dichos tokens pueden parecer legítimos (pueden tener pares de liquidez, logotipos de tokens y promoción comunitaria activa), pero una vez que un usuario compra el token en un intercambio descentralizado, pronto descubre que la venta es rechazada o que las tarifas de transacción son tan altas que resulta imposible recuperar su inversión.

Cómo evitar pérdidas y cómo comprobarlo

  1. Puede ingresar la dirección del contrato del token en un explorador de blockchain como OKLINK (como se muestra en el ejemplo a continuación). Si el token es un Honeypot, generalmente se marcará en consecuencia. ​

2. Dado que todos los días se lanzan nuevos tokens en la cadena de bloques y es posible que los exploradores no se actualicen a tiempo, puede realizar una autoverificación manual utilizando los siguientes métodos. ​
Consulte la pestaña Leer contrato:

owner(): si devuelve un valor distinto de 0x000..., significa que el propietario aún tiene el control.

totalSupply() y balanceOf(): verifican la distribución inicial del token.

Busque funciones o variables como isExcludedFromFee(dirección), isBlacklisted(dirección), maxTxAmount() y tradingEnabled() (diferentes contratos pueden usar nombres diferentes, pero tienen propósitos similares). ​
En la pestaña Escribir contrato (accesible solo si tiene permiso):

Compruebe si hay funciones de escritura sensibles como ​setFeePercent, setBlacklist, renounceOwnership o setTradingEnabled. Si existen y solo el propietario puede llamarlos, el token conlleva un alto riesgo. ​
Busque en el código fuente las siguientes palabras clave (sin distinguir entre mayúsculas y minúsculas o con guiones bajos):blacklist, isBot, onlyOwner, setFee, maxTx, excludedFromFee, trading, swapAndLiquify, transferFrom, approve, mint, burn, renounceOwnership, liquidity.

Preste especial atención a la implementación de transfer, _transfer y transferFrom; verifique si manejan to == par o desde == par de manera diferente (para distinguir entre operaciones de compra y venta).

Si encuentra un código como

require(!_isBlacklisted[de]); if (a == par) { tarifa = 99; }

Esta es una clara señal de alerta. ​
Compruebe si el contrato llama a un enrutador (por ejemplo, Pancake/Uniswap Router) y si el proceso de swap incluye una lógica compleja como lockTheSwap o _tax, que podría impedir el intercambio normal.

¿Ha quedado contestada tu pregunta?