Анализ смарт-контрактов
18.12.2023

Обзор скам-функций на рынке Defi от Lotus Market. Часть 1.

С ростом популярности смарт-контрактов и децентрализованных финансовых платформ DeFi сфера блокчейна становится все больше подвержена скам-схемам. Скам-функции в смарт-контрактах могут принимать различные формы, от ложных обещаний высоких доходов до скрытых механизмов вывода средств.

В данной статье мы рассмотрим основные функции, которые используют для управления смарт-контрактами, такие как:

  1. Blacklist
  2. Proxy
  3. Pause
  4. AntiWhale
  5. Mint
  6. EnableTrading
  7. TransferLimits

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

Механизм Blacklist (черный список)

Функция Blacklist в смарт-контрактах представляет собой механизм, который позволяет администраторам контракта добавлять адреса в "черный список". Владелец смарт-контракта может добавлять адреса в черный список, лишая их права на выполнение определенных действий, например, запрет на продажу токенов, или вызов определенных функций контракта.

Опасности смарт-контрактов с функцией BlackList:

Смарт-контракты, включающие функцию Черного списка, несут в себе определенные риски и проблемы как для проекта, так и для его пользователей. Вот некоторые из опасностей, связанных с функциями "черного списка":

  1. Централизованный контроль: Функции Черного списка часто предоставляют централизованный контроль владельцу контракта или администраторам.

  2. Злоупотребление черным списком для недобросовестной практики: Злоумышленники (включая владельца контракта), могут использовать черный список для воздействия на конкретные адреса. Это может включать замораживание или ограничение функциональности учетных записей без веских на то оснований.

  3. Отсутствие прозрачности: Наличие функции черного списка, особенно если она не документирована, может привести к отсутствию прозрачности. Пользователи могут не знать о критериях составления черного списка или о процедуре исключения из него.

  4. Риски для безопасности: Если BlackList реализован ненадежно, существует риск возникновения уязвимостей, которые могут позволить неавторизованным лицам манипулировать черным списком, что может привести к несанкционированному замораживанию или переводу средств.

  5. Недоверие пользователей: Существование функции черного списка может подорвать доверие пользователей, поскольку их активы могут быть внесены в черный список без четких правил.

  6. Конфискация токенов: Злоумышленники могут использовать черный список для конфискации токенов или активов с определенных адресов без должных оснований. Это может привести к существенным финансовым потерям.

blacklist mechanism

Механизм Proxy

Данная функция представляет собой механизм, позволяющий обращаться к смарт-контракту через другой смарт-контракт, который называется "прокси-контрактом". Это расширяет возможности управления контрактом и обновления его логики без необходимости изменения адресов или обновления самого контракта. Использование прокси несет определенные риски.

Мошенники часто используют схемы в прокси-смарт-контрактах для обмана пользователей. Чтобы определить наличие таких угроз, необходимо понимать возможные риски и быть технически подкованными.

Опасности прокси-смарт-контрактов:

  1. Несанкционированное обновление: Прокси-контракты позволяют владельцу обновлять базовый контракт. Однако если этот механизм реализован ненадежно, он может привести к несанкционированному обновлению, что позволит злоумышленникам внедрить в контракт вредоносный код.

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

  3. Отсутствие прозрачности: Исходный код управляющего контракта, как правило, не верифицирован.

  4. Фальшивые проекты: Мошенники создают фальшивые проекты, обещающие привлекательные характеристики, такие как высокая доходность или уникальные функциональные возможности. Они могут использовать прокси-контракты, чтобы создать видимость легитимности, скрывая при этом злой умысел.

  5. Схемы Понци: Мошенники строят схемы Понци на основе прокси-контрактов, заманивая пользователей обещаниями высоких доходов. Для поддержания иллюзии правдоподобности такие схемы могут иметь обновляемые компоненты.

  6. Клонированные контракты: Мошенники клонируют легитимные проекты и вносят в клонированный контракт уязвимости или изменения. Ничего не подозревающие пользователи могут взаимодействовать с такими клонами, принимая их за оригинал.

Механизм Pause

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

Опасности смарт-контрактов с функцией Pause:

  1. Несанкционированная пауза: Мошенники могут получить контроль над функцией Pause и остановить работу контракта без соответствующего разрешения, что может привести к сбоям в работе или финансовым потерям.

  2. Обманчивые задержки (Deceptive Delays): Вредоносные контракты могут приостанавливать критически важные операции, такие как снятие средств или их перевод, под видом временного обслуживания или мер безопасности, намереваясь при этом лишить пользователей доступа к своим активам.

  3. Ложные заявления о чрезвычайных ситуациях: Мошенники могут ложно заявлять о чрезвычайных ситуациях или уязвимостях, чтобы оправдать приостановку действия контракта, а затем использовать средства пользователей во время паузы.

  4. Предлог безопасности (Security Pretext): Вредоносные контракты могут утверждать, что обнаружена уязвимость в системе безопасности, в результате чего активируется функция приостановки. В действительности мошенники могут намереваться воспользоваться ситуацией.

  5. Форс-мажорные схемы (Emergency Schemes): Мошенники могут использовать вызывающие страх формулировки или сценарии, например, заявлять о "попытке взлома" или "чрезвычайной ситуации", чтобы оправдать паузу, во время которой они могут совершить противоправные действия.

pause

Механизм AntiWhale

Данная функция используется для введения ограничений на продажу токенов с целью предотвращения массового вывода или манипуляций, известных как "волны" — большие объемы транзакций от отдельных участников, способных влиять на цену токена и рыночную ликвидность. Лимиты могут быть установлены на количество токенов в одной транзакции или на общее количество токенов, которые можно продать за определенный период времени.

Основной целью механизма AntiWhale является снижение влияния крупных транзакций с одного адреса или небольшой группы адресов, часто называемых «китами». Он направлен на предотвращение чрезмерной концентрации токенов в одних руках и на борьбу с возможными манипуляциями или дестабилизацией рынка.

Механизмы AntiWhale обычно устанавливают ограничения на размер или стоимость отдельных транзакций. Транзакции, превышающие установленный порог, приводят к введению ограничений, таких как отказ от выполнения транзакции, высокая комиссия или другие механизмы перераспределения.

Потенциальные риски для владельцев токенов:

  1. Установление слишком жестких лимитов AntiWhale может стать проблемой для пользователей, у которых есть потребность в крупных транзакциях.

  2. Чрезмерная зависимость от механизма AntiWhale может непреднамеренно способствовать централизации, если она будет реализована без учета более широкой экосистемы.

Механизм CoolDown

Механизм Cooldown предназначен для введения ограничений по времени между последовательными транзакциями с одного и того же адреса. Его цель - регулирование частоты транзакций и предотвращение чрезмерной активности по покупке или продаже в течение коротких временных интервалов.

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

Использование механизма Cooldown:

Мошенники могут использовать механизм Cooldown для обмана пользователей, придумывая стратегии, использующие ограничения. Рассмотрим основные риски, которые представляет CoolDown для инвесторов.

  1. Влияние на ликвидность: CoolDown может повлиять на ликвидность на децентрализованных биржах, снизив частоту сделок. Это может привести к увеличению спредов спроса и предложения и потенциально повлиять на общее состояние торговли.

  2. Непредвиденные последствия: Во избежание непредвиденных последствий необходимо тщательно выверять ограничения на CoolDown. Например, слишком короткие ограничения могут неэффективно предотвратить манипуляции, а слишком длинные - помешать легальной торговой деятельности.

  3. Периоды проведения ICO или продажи токенов: Во время первичных размещений токенов (ICO) или периодов продажи токенов могут быть введены ограничения, не позволяющие крупным участникам совершать несколько последовательных транзакций.

  4. Белые списки адресов или уровни доступа: CoolDown может использоваться в сочетании с белыми списками (WhiteList) адресов или многоуровневыми системами прав. Например, пользователи более высокого уровня могут иметь более короткие периоды ожидания, чем все остальные.

Основные отличия функций AntiWhale и CoolDown

Параметры AntiWhale Cooldown
Параметры: Влияние AntiWhale: В первую очередь влияет на пользователей с большими объемами транзакций. Cooldown: Действует на всех пользователей, независимо от размера ранзакции.
Параметры: Динамика рынка AntiWhale: Сосредоточен на решении проблем концентрации. Cooldown: Направлен на регулирование частоты транзакций.
Параметры: Цели проекта AntiWhale: Задача - распределение токенов и обеспечение стабильности рынка. Cooldown: В первую очередь направлен на обеспечение стабильности рынка и предотвращение быстрой торговли.

Помните, что мошенники постоянно совершенствуют свою тактику, поэтому важно быть информированным и проявлять осторожность - это важнейшие стратегии защиты ваших инвестиций в токены. Если вы столкнулись с чем-то подозрительным или у вас возникли сомнения, не стесняйтесь обращаться к нам за помощью или консультироваться с экспертами в данной области.

Механизм Mint

Функция mint обычно используется для создания дополнительных токенов в системе. Это означает, что владельцы контракта могут «печатать» (или «чеканить») новые токены, увеличивая общее количество токенов, находящихся в обращении. Тем самым, создавая инфляцию и обесценивая активы держателей токена. Эта функция часто применяется в токене, созданном по стандарту ERC-20 или других подобных стандартах.

Опасности смарт-контрактов с функциями минтинга

  1. Несанкционированный минтинг: Мошенники могут создать неограниченное количество токенов, размывая стоимость существующих токенов и вызывая инфляцию.

  2. Манипулирование предложением: Мошенники могут манипулировать предложением токенов, чтобы обмануть инвесторов или создать впечатление, что проект более ценен, чем он есть на самом деле.

  3. Ложный дефицит: Такие проекты могут обещать дефицит, но после первичного размещения использовать минтинг, размывая стоимость токенов и обманывая инвесторов, которых привлек дефицит.

  4. Инфляционное вознаграждение: Проекты могут заявлять, что предлагают вознаграждения за стейкинг (staking) или дивиденды (yield farming), но при этом чеканят дополнительные токены в качестве "вознаграждения", обесценивая владения участников.

  5. Внезапный минтинг: Мошенники могут внезапно выпускать токены без надлежащего раскрытия информации или управления, вызывая панику и потерю стоимости для держателей токенов.

mint

Механизм EnableTrading

Этот механизм используется для управления возможностью торговли токенами. Когда эта функция активирована, пользователи имеют возможность покупать и продавать токены на рынке. Если функция отключена, то возможность торговли ограничена. Часто этот механизм используют для борьбы со снайпер-ботами, что вполне заслуживает уважения. Однако, скамеры также могут использовать механизм Enable Trading для манипуляции комиссиями (Fee) и автоматической блокировки пользователей (Blacklist).

Опасности смарт-контрактов с функцией EnableTrading:

  1. Несанкционированная активация торговли: Мошенники могут манипулировать функцией EnableTrading, чтобы разрешить торговлю или переводы (Transfer) без надлежащей авторизации. Это может привести к несанкционированным торговым операциям или мошенническим переводам.

  2. Ложные заявления об активации (False Activation Claims): Вредоносные контракты могут ошибочно утверждать, что для активации торговли выполняются определенные условия. В действительности условия могут быть не выполнены, что приводит к обманным торговым операциям или переводам.

  3. Задержка активации (Delayed Activation): Вредоносные контракты могут позволять активировать торговлю, но со значительными задержками, что заставляет пользователей считать, что торговая функция временно отключена.

Механизм TransferLimits

Использование Transfer Limitis позволяет устанавливать ограничения на торговлю/ передачу токенов (tranfer) по усмотрению владельцев контракта. Скамеры могут использовать этот механизм для сценария, когда пользователь может купить неограниченное количество токенов, а продать может только небольшую их часть (да и то не всегда и с задержками по времени). Поэтому очень важно разбирать структуру Transfer Limits в каждом конкретном случае.

Опасности смарт-контрактов с функцией TrasferLimits:

  1. Смарт-контракты с лимитами на передачу часто вводят ограничения на количество токенов, которое может быть передано в течение определенного времени или при определенных условиях. Хотя эти функции могут служить вполне лигитимным целям, например, предотвращению масштабных сбросов токенов или контролю темпов передачи, они также несут в себе потенциальные риски.

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

Чтобы не попасть на скам при выборе токенов, придерживайтесь следующих правил:

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

  2. Изучайте независимые аудиты
    Ищите смарт-контракты, которые прошли независимый аудит в авторитетных аудиторских фирмах. Профессиональные аудиторы могут выявить потенциальные угрозы и риски.

  3. Проверяйте документацию
    Просмотрите документацию и комментарии к контракту на предмет упоминания функций, описанных выше. Документация должна содержать ясное и подробное описание используемых функций.

  4. Проверяйте прозрачность кода
    Убедитесь, что код смарт-контракта открыт для всех пользователей. Разработчики должны предоставлять детальные сведения о своем проекте, включая код, аудиты и контактную информацию.

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

  6. Мониторьте активности проекта
    Регулярно отслеживайте активность контракта на блокчейне. Необычные или неожиданные изменения в схемах перевода средств или снятие ограничений на перевод средств без должного объяснения могут свидетельствовать о потенциальной угрозе.

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

  8. Будьте в курсе событий
    Будьте в курсе последних событий в нашем сообществе (Телеграм-канал) и лучших практик по выявлению мошенничества (наш Блог и YouTube-канал).

rules of secure

Выводы

Мы рассмотрели основные функции, которые используются в смарт-контрактах. Каждая функция является мощным инструментом для управления смарт-контрактами, именно поэтому часто это сопряжена с определенными рисками для пользователей.

Чтобы понимать возможные уязвимости в каждом конкретном смарт-контракте необходимо обладать навыками программирования и аудита в DeFi. Изучение кода, детальный аудит, подробный разбор каждой функции и регулярный мониторинг свежих схем мошенничества поможет понять стоит ли взаимодействовать со смарт-контрактом.

Помните, что безопасность – ваш приоритет!

Если у вас возникли сомнения относительно безопасности смарт-контракта вы всегда можете воспользоваться нашей платформой Lotus Market.
Lotus Market – это команда опытных разработчиков и профессиональных аудиторов в DeFi.

Подключайте премиум подписку и откройте для себя доступ к эксклюзивным фильтрам по функциям смарт-контрактов и свежую аналитику. Повысьте шансы на успешные инвестиции в прибыльные токены!

All posts

Connect to a wallet

Metamask