Как проверить смарт-контракт на скам перед покупкой монеты
Рынок щиткоинов – это, ну, настоящий Дикий Запад. Каждый день появляются сотни новых токенов, и каждый обещает вам луну и иксы. Все эти красивые сайты, дорожные карты с полетами на Марс, активные телеграм-чаты с восторженными «инвесторами» – это всё маркетинг. Просто обертка. Единственная правда в этом мире находится в коде смарт-контракта. Понимаете, именно там прописаны реальные правила игры. И вот тут-то и встает главный вопрос о том, как проверить смарт-контракт на скам перед покупкой монеты. Потому что если в коде есть лазейка для мошенника, он ею воспользуется. И ваши деньги просто испарятся. Забыть про аудит – это как покупать подержанную машину, даже не заглядывая под капот. Можно, конечно, но риски, сами понимаете, колоссальные.
Краткий алгоритм проверки :
- Экспресс-анализ: Прогоните адрес контракта через Token Sniffer или GoPlus на наличие «Honeypot».
- Проверка прав: Убедитесь, что отказ от прав собственности (Renounced Ownership) подтвержден.
- Ликвидность: Проверьте блокировку LP-токенов (минимум на 6 месяцев) через Unicrypt или PinkSale.
- Код: Найдите функции
mintиblacklistв верифицированном коде контракта.
Шаг 1. Первичная разведка в блокчейн-эксплорере
Итак, вы нашли какой-то интересный токен. Не спешите бежать на PancakeSwap или Uniswap. Ваша первая остановка – это блокчейн-эксплорер. Для сети Ethereum это Etherscan, для Binance Smart Chain – BscScan, и так далее. Думайте об этом как о гугле для блокчейна, где можно посмотреть абсолютно всё про любой адрес или контракт. Это наша база, наш штаб для разведки.
Что мы там ищем
Вставляем адрес контракта в поисковую строку и начинаем смотреть. На что обращаем внимание?
- Верификация контракта. Это самое первое. На странице контракта должна быть зеленая галочка и вкладка «Contract». Если ее нет, это красный флаг размером с небоскреб. Это значит, что разработчики скрывают код. А если они его скрывают, значит, там точно есть что-то, что вам не понравится. Я лично такие проекты закрываю сразу, не тратя ни секунды.
- Вкладка «Holders» (Держатели). Здесь мы смотрим, как распределены токены. Если вы видите, что один или несколько кошельков держат 30%, 50% или даже 90% всех монет (и это не кошелек биржи или пула ликвидности), то это очень плохо. Представьте, что будет с ценой, когда этот «кит» решит продать всё одним махом? Правильно, цена улетит в ноль, а вы останетесь со своими бесполезными токенами. Здоровая дистрибуция – это когда токены распределены между большим количеством независимых кошельков.
- Транзакции. Просто посмотрите на ленту последних транзакций. Что вы видите? Люди покупают и продают? Или идут только покупки? Если вы видите длинный список зеленых транзакций (покупки) и ни одной красной (продажи), есть огромный шанс, что вы наткнулись на «honeypot» (медовая ловушка). Это такой контракт, который позволяет вам купить токены, но не дает их продать. Деньги в один конец.
Шаг 2. Использование автоматизированных сканеров для быстрой проверки
Окей, первичный осмотр в эксплорере мы провели. Если все выглядит более-менее прилично, можно переходить к следующему этапу. Ручной анализ кода – дело для профессионалов, и оно требует времени. Но для быстрой проверки существуют автоматизированные сервисы. Это не полноценный аудит, конечно, но они помогают отсеять самый очевидный мусор. Я обычно использую Token Sniffer или сканеры от GoPlus Security. Они бесплатны и дают общее представление о рисках за пару секунд.
Сравнение инструментов для анализа смарт-контрактов
| Инструмент | Тип проверки | Что выявляет лучше всего |
|---|---|---|
| Token Sniffer | Автоматический скоринг | Клоны известных скам-контрактов и наличие Honeypot. |
| GoPlus Security | API-сканер | Скрытые функции (Malicious code) и риски прокси. |
| Honeypot.is | Симуляция сделки | Только возможность продажи (проверка на медовую ловушку). |
| Etherscan / BscScan | Ручной анализ | Распределение холдеров, комментарии сообщества и исходный код. |
Быстрый взгляд под капот
Эти сканеры проверяют контракт по набору стандартных «красных флагов». Вот на что они смотрят, и что это значит для вас:
- Риск «Honeypot». Самая важная проверка. Сканер симулирует покупку и продажу токена, чтобы убедиться, что его в принципе можно продать. Если здесь горит красная лампочка – проект можно смело отправлять в мусорку.
- Права владельца. Владелец не отказался от прав на котракт? Это потенциальная проблема. Если права не отозваны (renounced ownership), создатель в любой момент может изменить правила игры. Например, запретить продажу, выпустить себе еще триллион токенов или внести ваш адрес в черный список. Это как дать бывшему владельцу квартиры ключ от всех замков.
- Ликвидность. Проверяется, заблокирована ли ликвидность. Если нет, то разработчики в любой момент могут сделать так называемый «rug pull» – то есть, просто забирают все деньги из пула ликвидности и исчезают. Ваши токены в этот момент превращаются в ничто.
- Наличие прокси-контракта. Это уже более сложный момент. Иногда прокси используются для легитимных обновлений, но чаще в щиткоинах это способ спрятать вредоносный код, который можно будет активировать позже. Если сканер показывает, что это прокси, стоит быть вдвойне осторожным.
В блокчейн-эксплорере (вкладка Read Contract -> поле Owner) адрес владельца должен выглядеть так:
0x000000000000000000000000000000000000dEaD (Burn Address) или0x0000000000000000000000000000000000000000 (Zero Address).
Важно: Если вместо нулей вы видите адрес другого контракта, проверьте его. Это может быть Gnosis Safe (MultiSig) или Timelock. В этом случае права не сожжены, а переданы группе лиц или отложены по времени. Это безопаснее, чем EOA (обычный кошелек), но риск сговора команды остается.
Это, конечно, только верхушка айсберга. Но даже эти два простых шага отсеют 95% всего скама, который плавает в крипто-океане. В следующей части мы копнем глубже и поговорим о том, на какие функции в самом коде стоит обращать внимание, даже если вы не программист.
Шаг 3. Анализ кода контракта — ищем ‘красные флаги’ и опасные функции
Ну что, сканеры дали зеленый свет? Расслабляться рано. Это все равно что послушать продавца машины, который клянется, что «двигатель в идеале». Мы же с вами не верим на слово, верно? Мы лезем под капот сами. В нашем случае – в код контракта на вкладке «Contract» в эксплорере.
Наша задача – провести синтаксический поиск уязвимостей. Открывайте вкладку Contract -> Code и используйте Ctrl+F для поиска следующих критических операторов Solidity. Я составил для вас таблицу, которой пользуются аудиторы при первичном скрининге:
| Синтаксис (Искать через Ctrl+F) | Уровень риска | Что это означает на практике |
|---|---|---|
selfdestruct |
Критический | Позволяет полностью удалить контракт и вывести весь ETH/BNB с баланса на адрес админа. Функция устаревшая, в честных проектах не используется. |
delegatecall |
Критический | Позволяет загружать логику из другого, непроверенного контракта. Классическая схема скрытого бэкдора. |
function transfer(...) override |
Высокий | Переопределение стандартной функции перевода. Внутри может быть спрятан код: if (sender == pair) revert(); (запрет продажи). |
uint256 public _taxFee = 25; |
Высокий | Если переменная налога (Fee) объявлена без константы (constant) и есть функция setTaxFee без ограничителя (например, require(fee ), админ может поднять налог до 100%. |
onlyOwner |
Средний | Модификатор доступа. Сам по себе нормален, но если он стоит на функциях типа withdraw или pause, значит, проект централизован. |
Что ищем в коде
- Функция
mint()(чеканка). Это, ну понимаете, печатный станок для токенов. Если вы видите эту функцию, и она доступна кому-то, кроме, например, контракта стейкинга с четкими правилами, – это тревожный звонок. Владелец может в любой момент «напечатать» себе миллиард токенов и обрушить цену в пол, продав их в ваш стакан с ликвидностью. Я видел это десятки раз. В идеальном щиткоине такой функции либо нет вообще, либо она заблокирована навсегда. - Функция
blacklist()(черный список). Название говорит само за себя. Наличие такой функции позволяет владельцу заблокировать любой кошелек. То есть, вы покупаете токены, а потом владелец просто добавляет ваш адрес в черный список, и вы больше не можете их ни продать, ни перевести. Ваши монеты превращаются в картинку на экране. Иногда ее маскируют под названия вродеexcludeFromFeeили что-то подобное, но суть та же – выборочное управление кошельками. - Функции изменения налогов (
setTaxFeePercent,setMaxTxAmount). Это классика. Вы покупаете токен с комиссией 5%. Все хорошо. Но в коде есть функция, которая позволяет владельцу изменить эту комиссию. И вот, когда вы решаете продать свои «иксы», он просто ставит налог на продажу 99%. Вся ваша прибыль, да и тело депозита, уходит ему в карман. Всегда проверяйте, есть ли возможность менять комиссии после запуска котракта. Если есть, и владелец не отказался от прав, – это мина замедленного действия.
Будьте осторожны: иногда функция чеканки скрыта не под словом
mint, а внутри безобидных на вид функций обновления (upgradeTo) в прокси-контрактах. Если контракт является Proxy (обновляемым) и админ-ключи не сожжены, разработчик может добавить функцию минтинга уже после вашей покупки.Это всего три примера, но они самые распространенные. Если вы нашли в коде что-то из этого, и права на контракт не отозваны, я бы советовал держаться от такого проекта подальше. Риск того, что создатель переключит рубильник в режим «скам», слишком велик.
Шаг 4. Проверка на наличие функций-ловушек
Теперь копнем еще глубже. Мошенники становятся хитрее, и некоторые ловушки не так очевидны. Они прячут их за сложной логикой или нестандартными названиями.
Хитрые уловки в коде
- Тот самый Honeypot. Автоматический сканер может и ошибиться. Иногда «медовая ловушка» сделана очень тонко. Например, продажа блокируется не для всех, а только если на вашем кошельке больше определенной суммы. Или если вы не держите какой-то другой токен. Это делается, чтобы обмануть сканеры и первых мелких покупателей, которые успешно продают копейки, создавая видимость нормальной торговли.
- Прокси-контракты. Я уже упоминал их, но повторюсь – это огромный красный флаг для простого токена. Прокси – это, по сути, контракт-оболочка, логику которого можно полностью поменять в любой момент. Вы проверяете один код, а завтра разработчик подгружает в него совершенно другой, с блекджеком и блэклистом. Вы видите на Etherscan одно, а по факту работает совсем другое. Для щиткоина это почти всегда означает одно – вас готовятся обмануть.
- Скрытые балансы и разрешения. Иногда в коде есть скрытые функции, которые позволяют владельцу переводить токены с любого кошелька. То есть, он может просто забрать ваши монеты. Это делается через хитрые манипуляции с функцией
approveиtransferFrom. Найти такое без глубоких знаний сложно, но если вы видите в коде что-то слишком запутанное, связанное с переводами, чего нет в стандартном шаблоне ERC-20, это повод напрячься.
Шаг 5. Анализ пула ликвидности
Ликвидность – это кровь любого токена. Нет ликвидности – нет торговли. И именно ее вытаскивают мошенники при «рагпуле». Сканер сказал, что ликвидность заблокирована? Отлично. Но нам нужны детали.
Формула здоровья ликвидности (MC/Liq Ratio)
Одной блокировки мало. Важно соотношение капитализации (Market Cap) к ликвидности. Профессионалы используют коэффициент MC/Liq.
- Хорошо (Ratio На $100k капы приходится $20k+ ликвидности. Цену сложно обвалить, проскальзывание (slippage) низкое.
- Рискованно (Ratio 10-20): На $100k капы всего $5k-10k ликвидности. Любая продажа на $500 обрушит курс на 10-15%.
- Скам-сигнал (Ratio > 50): Огромная раздутая капитализация при мизерной ликвидности. Это «бумажная» цена, которую невозможно реализовать.
Идем на страницу токена в сервисе вроде DexScreener или Poocoin, находим пару с ликвидностью (например, TOKEN/WBNB) и смотрим информацию о ней. Нас интересует адрес LP-токенов. Кликаем на него и смотрим на BscScan/Etherscan, где эти LP-токены находятся.
- Где заблокировано? Они должны лежать на контракте известного локера (Unicrypt, PinkSale, Team.Finance и т.д.). Если LP-токены просто лежат на чьем-то кошельке или на непонятном «самописном» контракте-локере – считайте, что они не заблокированы.
- На какой срок? Блокировка на месяц – это просто пыль в глаза. За месяц проект не успеет даже толком развиться. Нормальный срок блокировки – от 6 месяцев, а лучше год и более. Это показывает хоть какие-то намерения команды работать вдолгую.
- Какой процент заблокирован? Должно быть заблокировано не менее 90-95% всей ликвидности. Если заблокировали 40%, то остальные 60% разработчик может вытащить в любой момент, и это все равно обрушит цену.
Шаг 6. Изучение распределения токенов среди холдеров
Мы уже смотрели на вкладку «Holders», но теперь посмотрим на нее с другой стороны. Наша задача – понять, кто эти киты в топе списка.
Кликайте прямо на адреса первых 5-10 кошельков (исключая пул ликвидности и контракт сжигания). Что мы анализируем?
- Это кошелек или контракт? Если рядом с адресом есть иконка «листочка», значит, это контракт. Это может быть контракт для стейкинга или вестинга (постепенной разморозки токенов команды). Это нормально, если условия вестинга прозрачны. А вот если это обычный кошелек (EOA), который держит 10% всех токенов, – это ходячая угроза для графика цены.
- История транзакций. Посмотрите, откуда эти кошельки получили свои токены. Если они получили их прямо от создателя контракта в момент запуска и в огромном количестве – это, скорее всего, кошельки команды или «друзей». И они ждут момента, чтобы обрушить их на рынок. Здоровое распределение – это когда токены покупаются с биржи большим количеством разных, не связанных друг с другом людей.
Итоговый чек-лист. Собираем все данные для принятия решения
Давайте соберем все в кучу. Прежде чем нажать кнопку «Buy», мысленно или на бумажке ответьте на эти вопросы. Если хоть где-то будет жирное «НЕТ» или «НЕ ЗНАЮ», возможно, стоит пропустить эту «ракету».
- Код контракта верифицирован?
- Распределение токенов адекватное? (Нет кошельков с 15-50% монет).
- Торговля идет в обе стороны? (Нет признаков honeypot).
- Права на контракт отозваны (renounced)?
- В коде нет очевидных лазеек (mint, blacklist, смена налогов)?
- Ликвидность заблокирована на надежном локере на долгий срок? (Больше 6 месяцев).
- Заблокировано более 90% ликвидности?
- Команда проекта известна и не анонимна? (Это уже не про контракт, но про общую надежность).
Понимаете, даже полное соответствие всем этим пунктам не дает 100% гарантии. Криптовалюты – это риск. Но такой системный подход отсеивает 99% откровенного мусора и скама. Он превращает вашу слепую азартную игру в расчетливую инвестицию с управляемым риском. А это, поверьте моему опыту, единственный способ выжить и заработать на Диком Западе щиткоинов. Анализируйте, проверяйте и не позволяйте жадности отключать ваш мозг. Удачи.
Часто задаваемые вопросы
Что такое Honeypot в криптовалюте?
Honeypot (медовая ловушка) — это вид мошеннического смарт-контракта, который позволяет пользователям покупать токены, но содержит скрытый код, блокирующий их продажу. В результате инвестор видит рост цены, но не может вывести средства.
Что значит Renounced Ownership и почему это важно?
Renounced Ownership (отказ от прав владения) означает, что создатель контракта больше не имеет доступа к административным функциям. Это гарантирует, что он не сможет изменить налоги, заблокировать кошельки или напечатать новые токены. Без этого риск скама (Rug Pull) значительно выше.
Можно ли вернуть деньги, если попал на скам-токен?
К сожалению, в 99% случаев вернуть средства невозможно. Блокчейн-транзакции необратимы, а мошенники обычно используют «миксеры» (например, Tornado Cash) для запутывания следов. Единственная защита — тщательный анализ контракта до покупки.