К основному содержимому

Что такое токен-ловушка?

Обновлено сегодня

Токен-ловушка — это вредоносная криптовалюта, созданная разработчиками, которые намеренно вставляют ограничения или бэкдоры в смарт-контракт. Это позволяет обычным пользователям покупать токен, но не продавать его (или делает продажу предметом чрезвычайно высоких комиссий / механизмов черного списка), эффективно удерживая их средства в кошельках.
На первый взгляд такие токены могут казаться легитимными — у них могут быть пары ликвидности, логотипы токенов и активное продвижение в сообществе — но как только пользователь приобретает токен на децентрализованной бирже, он вскоре обнаруживает, что продажа отклоняется, или комиссии за транзакции настолько высоки, что восстановить инвестиции становится невозможно.

Как избежать потерь и как проверить

  1. Вы можете ввести адрес контракта токена в обозревателе блокчейна, например OKLINK (как показано в примере ниже). Если токен является ловушкой, он обычно будет помечен соответствующим образом.

  2. Поскольку каждый день в блокчейне запускаются новые токены, а обозреватели могут не успевать обновляться, вы можете выполнить ручную самопроверку, используя следующие методы.

    Проверьте во вкладке Read Contract:

    owner() — Если возвращается значение, отличное от 0x000, это означает, что владелец все еще имеет контроль.

    totalSupply() и balanceOf() — Проверьте первоначальное распределение токенов.

    Ищите функции или переменные, такие как isExcludedFromFee(address), isBlacklisted(address), maxTxAmount() и tradingEnabled() (разные контракты могут использовать разные названия, но они служат схожим целям).

    Во вкладке Write Contract (доступна только при наличии разрешений):

    Проверьте, существуют ли чувствительные функции записи, такие как
    setFeePercent, setBlacklist, renounceOwnership или setTradingEnabled.
    Если они существуют и могут быть вызваны только владельцем, токен несет высокий риск.

    Поиск по исходному коду следующих ключевых слов (без учета регистра или с подчеркиваниями):
    blacklist, isBot, onlyOwner, setFee, maxTx, excludedFromFee, trading, swapAndLiquify, transferFrom, approve, mint, burn, renounceOwnership, liquidity.

    Особое внимание уделите реализации transfer, _transfer и transferFrom — проверьте, обрабатывают ли они to == pair или from == pair по-разному (для различения операций покупки и продажи).

    Если вы найдете код, такой как

    require(!_isBlacklisted[from]);   if (to == pair) { fee = 99; }

    это явный красный флаг.

    Проверьте, вызывает ли контракт маршрутизатор (например, Pancake/Uniswap Router) и включает ли процесс swap сложную логику, такую как lockTheSwap или _tax, которая может препятствовать нормальному обмену.

Нашли ответ на свой вопрос?