Читать код смарт-контракта целиком для базовой проверки не требуется. Обозреватель показывает четыре вещи, доступные без знания программирования: подтверждён ли исходный код, кто владелец контракта, какие функции доступны для чтения и сколько операций он обработал. Этого достаточно, чтобы отличить работающий протокол от свежесозданной пустышки перед подключением кошелька.
С чего начать проверку
Откройте адрес контракта в обозревателе нужной сети и найдите вкладку с кодом. Отметка о подтверждении исходного кода — первое, на что смотрят: её отсутствие означает, что проверить логику контракта невозможно в принципе, и любые заверения разработчиков остаются словами.
Дальше посмотрите дату создания и число транзакций. Контракт известного проекта не может быть создан вчера и иметь десяток операций.

Что показывает обозреватель
| Раздел | Что узнаёте |
|---|---|
| Код контракта | Подтверждён ли исходник, какие библиотеки использованы |
| Функции чтения | Текущие значения: владелец, комиссии, лимиты, статус паузы |
| Функции записи | Что вообще можно сделать с контрактом и кому это доступно |
| Транзакции и события | Активность, число пользователей, история вызовов |
Функции чтения без риска
Раздел с функциями чтения вызывается бесплатно и ничего не меняет в сети, и здесь смотрят значения, определяющие поведение контракта: адрес владельца, размер комиссии, установленные лимиты, статус приостановки. Именно тут обнаруживаются неприятные сюрпризы вроде комиссии в тридцать процентов или включённой паузы на продажу.
Для токена полезны базовые поля. Общее предложение, число знаков после запятой и имя контракта позволяют сверить его с тем, что заявлено на сайте проекта.
Права владельца контракта
Найдите функции, доступные только владельцу: изменение комиссии, приостановка операций, выпуск новых токенов, добавление адресов в чёрный список, а их наличие само по себе не признак мошенничества, но определяет, что теоретически может произойти с вашими средствами. Контракт с правом неограниченной эмиссии обесценивается по решению одного человека.
На что обратить внимание
- Отсутствие подтверждённого исходного кода при работающем интерфейсе
- Адрес владельца — обычный кошелёк, а не контракт с таймлоком
- Функции изменения комиссии без верхнего ограничения
- Возможность приостановить переводы или занести адрес в чёрный список
Ко мне обращался читатель, собиравшийся вложиться в новый токен с активным сообществом, при этом проверка контракта заняла три минуты: исходный код был подтверждён, но среди функций владельца обнаружилась установка комиссии на продажу без верхнего предела. Через неделю комиссию подняли до девяноста процентов, и продать токен стало невозможно.
Прокси-контракты и обновляемость
Часть проектов использует схему, при которой адрес взаимодействия постоянен, а логика хранится в отдельном контракте и может быть заменена, и обозреватель обычно помечает такие контракты как прокси и даёт ссылку на текущую реализацию.
Проверять нужно именно реализацию, а не прокси. И помнить главное: обновляемый контракт означает, что сегодняшний код не гарантирует завтрашнего поведения, а право замены принадлежит владельцу.
Чтение журнала событий
Раздел с событиями показывает, что происходило с контрактом: переводы, одобрения, изменения параметров, и по нему видно реальную активность в отличие от заявленной, а также моменты, когда владелец менял настройки. Резкое изменение параметров незадолго до падения цены — типичная картина, которую журнал фиксирует навсегда.
Сверка адреса контракта
Перед любой проверкой убедитесь, что смотрите нужный контракт, и токены с одинаковым названием и символом создаются кем угодно, и единственный способ отличить настоящий — взять адрес с официального сайта проекта или из проверенного агрегатора.
Поиск по названию в обозревателе для этого не годится. Он выдаст все контракты с таким именем, включая подделки, специально созданные для перехвата невнимательных пользователей.
Чего проверка не даёт
Отсутствие явных красных флагов не означает безопасности, а уязвимость может скрываться в логике, понятной только специалисту, а подтверждённый код не гарантирует отсутствия ошибок. Базовая проверка отсеивает грубые случаи, но не заменяет аудит и не отменяет правила не вкладывать больше, чем готовы потерять.
Смежные темы разобраны у нас. Вот основные. Общий раздел — транзакции и сети. Шире — статьи про криптокошельки. Проверку блокировки ликвидности разбирает материал как проверить блокировку токенов ликвидности, а распознавание опасных подписей — статья как распознать вредоносную подпись транзакции.
Вопросы и ответы
Нужно ли понимать код для такой проверки?
Нет, базовые выводы делаются по названиям функций и значениям полей, при этом функция с названием вроде установки комиссии говорит сама за себя, а её доступность только владельцу видна по модификатору. Глубокий анализ логики требует подготовки, но до него дело доходит редко.
Что означает контракт с таймлоком в роли владельца?
Это защитный механизм: изменения вступают в силу не сразу, а через заданную задержку, причём у пользователей появляется время заметить неблагоприятное изменение и выйти, и такая схема считается более надёжной, чем прямое управление с обычного кошелька.
Как проверить контракт в другой сети?
Тем же способом, но в обозревателе соответствующей сети: у каждой из них свой сервис с аналогичным интерфейсом, а адрес контракта в одной сети не связан с таким же адресом в другой, поэтому проверять нужно именно тот, с которым вы собираетесь взаимодействовать.
Вердикт
Три минуты в обозревателе отсекают большинство грубых случаев без всякого знания кода, при этом смотрите подтверждение исходника, дату создания, права владельца и журнал событий. Функция изменения комиссии без верхнего предела опаснее отсутствия аудита: она превращает выход из позиции в решение одного человека. И помните, что чистая базовая проверка не равна безопасности контракта.
Контракты проверяйте напрямую. Блокчейн-обозреватель Etherscan и обозреватель сети BNB Chain дают доступ к коду, функциям чтения и журналу событий контракта.
Обсуждение
Добавить комментарий