Как вас могут скамнуть в щитках? Все виды скама в DEFI в одной статье.
В этой статье мы разберем все имеющиеся виды скама в DEFI пространстве.
Если вы не знакомы с торговлей щитками, то можете изучить этот материал:
Блокчейн сети для торговли щиткоинами ч1
Блокчейн сети для торговли щиткоинами ч2. Хайп сети.
Прежде чем начать рассказывать о каждом из них отдельно, я хочу объяснить пару важных моментов. На самом деле разновидностей скама очень много, начиная от самых банальных рагов, заканчивая супер нетривиальными и интересными аферами с использованием бэкдоров. Но так или иначе любой скам в щитках заканчивается либо полным выводом ликвидности, либо частичным(кошельки команды, либо предзагруженные токены). Все остальное это лишь дополнительные функции/методы, благодаря которым и получается такой скам. Я хочу чтобы вы поняли, что так или иначе здесь все виды переплетаются между собой, и скорее всего скамы которые вы встретите на реальном рынке, будут солянкой из всего того, что я вам сегодня расскажу.
Например: разработчик поставил высокие комиссии на продажу, хотя отказался от прав, а после вывел ликвидность. Как думаете можно назвать этот вид скама? Если совсем просто то это раг пулл, если немного детальней, то это раг пулл с применением скрытых функций и ханипота(ограничения на продажу).
Как вы понимаете, скам команды идут в ногу со временем и текущими трендами, они постоянно придумывают новые, более изощренные виды скама, комбинируя разные функции. Чтобы не попасться в ловушку, прежде всего вам нужно понимать с чем вы имеете дело, надеюсь эта статья станет для вас полезной и убережет вас от ненужных потерь.
RUG PULL
RUG PULL/ РАГ/ Дернуть коврик — вид скама в DeFi при котором создатель токена изымает из пула всю ликвидность, в следствии чего токен становится не ликвидным, т. е. вы не можете им торговать.
Если на графике монеты вы наблюдаете огромную красную свечу, которая сопровождается большой продажей, это, вероятней всего, раг пулл.
При таком виде скама все средства которые находились в пуле ликвидности изымаются создателем и выводятся на кошелек. Чаще всего это происходит до блокировки ликвидности и отказа от прав. Однако блокировка ликвидности и отказ от прав на контракт не исключают возможность скама. В случае если ликвидность заблокирована в не самом надежном сервисе или в коде смарт — контракта есть скрытые функции, овнер все равно сможет изъять средства.
Как дев может вывести ликвидность?
- С помощью функции
Remove Liquidity
илиWithdrow
разработчик вытаскивает все средства с пула - Минтит огромное количество токенов на свой кошелек, снимает ограничение на максимальную транзакцию и продает все токены
Рассмотрим монету Standard&Pepes. Перед стартом торгов разработчик положил в пул 2 ETH, но спустя 20 минут он вывел оттуда ликвидность в размере 4.41 ETH. В данном случае ликвидность не блокировали и не было отказа от прав, все произошло достаточно быстро.
В случае если в коде смарт — контракта есть скрытые функции и бэкдоры, дев сможет вывести ликвидность даже после отказа от прав.
Рассмотрим еще один пример, монета PepeBonk. Перед стартом торгов, дев добавил ликвидность в размере 1 ETH, сделал отказ от прав на контракт, однако после этого пул ликвидности был целиком и полностью опустошен.
Произошло это из-за того что у дева на кошельке было 100,000,000,000,000,031 токенов $PONK, при том что общий саплай монеты 1,000,000 $PONK. Эти токены он наминтил себе с помощью скрытой функции. Если мы проверим транзакции дева на Etherscan, то увидим только гигантскую продажу. Отследить процесс минта токенов и скрытые функции в контракте не так просто без понимания языка Solidity.
HONEYPOT
HONEYPOT/ Горшочек с медом/ Ханик — вид скама в DeFi при котором разработчик лишает инвесторов возможности продать токены. Используется в связки с RUG PULL.
Ханипот может быть реализован с помощью различных функций внутри контракта, рассмотрим основные:
SET FEE — при использовании метода SET FEE
разработчик может влиять на комиссии токена. Довольно часто с помощью этой функции происходит скам. Дев ставит комиссию на продажу равной 99%/100%. Продавать токены в таком случае абсолютно бессмыслено, потому что после продажи они просто улетят на кошель к деву, а вы останетесь с еще большими потерями, ведь заплатите за комиссию внутри сети.
Пример: Монета Woke. На момент запуска комиссия на продажу составляла 20%. После того как монета достаточно запампилась, дев применил метод Update Fees (можно проверить в Etherscan).
Посредством этого метода комиссия обновилась до значения 98% Это позволило команде скамеров остановить продажи и сохранить размер пула. Ну а финальным этапом всей аферы стал вывод ликвидности.
BLACKLIST — это метод посредством которого реализуется так называемый черный список (кошельки добавленные в этот список теряют возможность взаимодействия с контрактом). Смарт-контракт может автоматически добавлять адреса в блэклист при попытке продажи, в следствии чего кошельки лишаются возможности продавать. Дев также может вручную использовать этот метод и добавить в BLACKLIST
кошельки которые он захочет. Справедливости ради, этот метод не всегда используется в корыстных целях.
Скрытые функции — внутри контракта могут быть функции запрещающие продажу токенов.
Итак, как вы могли заметить, ханипот часто является частью раг пулла и после всевозможных запретов на продажу скамеры спокойно выводят ликвидность. Бывает и так, что ликвидность заблокирована, например на 20 дней. В таком случае вывод средств из пула осуществляется после их разблокировки.
Pump and Dump
Pump and dump (Накачка и сброс) — вид скама в DeFi, при котором создается ложный ажиотаж, хайп вокруг монеты.
Схема здесь следующая: команда проекта закупается на свои кошельки токенами «до» ажиотажа по низкой и выгодной для них цене. Далее с помощью различных чатов, новостных постов, создается мнимый ажиотаж на монету и так называемое «фомо настроение» для тех, кто не успеет купить токены по выгодной цене. Хомяки не умеющие проводить грамотный анализ действительно начинают ловить фомо и закупаться. Приходит волна таких покупок и когда монета достаточно запамплена, команда распродает свои токены и тем самым дампит график.
Фейковый ажиотаж на проект могут создавать прямо внутри основного чата монеты. Понять фейковый ажиотаж или нет, можно оценив идею и перспективы проекта.
Итак, после того как мы разобрались в том, что такое раг пулл, ханипот, изучим разновидности грязных функций, которые могут применяться для эффективного и нетривиального скама.
Разновидности «грязных» функций:
Большинство функций о которых будет идти речь, вы можете отслеживать с помощью бота SafeAnalyzerbot и HoneypotIsBot.
MULTI BLACKLIST | Мульти Черный Список
Способность разработчика массово добавлять держателей токенов в черный список.
Рассмотрим пример JeromePowellGaryGenslerElizabeth. В данном случае в коде контракта используется мульти блеклист, реализован он через функцию addBots. Эта функция принимает массив адресов и помечает каждый из них как true
, что означает, что они добавлены в список "bots".
function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } }
Итак, можно сказать что в контракте есть функция MULTI BLACKLIST, т.к разработчик может добавлять и удалять множество адресов за один вызов функции.
MAX WALLET | Максимальный кошелек
Функция с помощью которой регулируется максимальный процент владения токеном. Если ограничений нет, то большой процент эмиссии может быть сосредоточен в руках у одного - двух инвесторов, которые с легкостью могут задампить график большими продажами.
Для большего понимания посмотрим как это может быть реализовано в коде:
function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; require (_maxWalletSize >= _tTotal/100,"Must be more than 1%"); }
В данном случае функция принимает один параметр, maxWalletSize
(значение максимального размера кошелька). С помощью оператора require
происходит проверка условия написанного в скобках(максимальный размер кошелька должен быть не меньше 1% от общего предложения токенов). Как вы понимаете, это единственное ограничение которое есть в коде, а значит, дев имеет полную власть изменить _maxWalletSize
в 100%.
MAX TRANSFER | Максимальная транзакция
Функция с помощью которой регулируется размер максимальной транзакции, опять же, если дев не установит MAX TX / MAX TRANSFER в адекватное значение, то на графике могут быть сильные проливы.
В коде контракта это выглядит следующим образом:
function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; }
Посредством этой функции дев может влиять на размер максимальной транзакции.
Однако эта функция, и предыдущая MAX WALLET,
могут использоваться как в скамах, так и в гемах. Согласно нашей статистики вероятность того, что гемный проект будет использовать две данные функции равна 15%. В свою очередь вероятность встретить подобные методы в скамах близка к значению в 32%.
HIDDEN PROXY | Скрытый прокси
Этот термин означает наличие адреса прокси, скрытого в переменных кода контракта, что позволяет использовать функции токена через другой контракт.
PROXY CONTRACT | Прокси контракт
Прокси контракт позволяет использовать функции токена посредством другого контракта, в подавляющем большинстве случаев, проекты с такими функциями скамятся.
MULTI OWNER | Мульти владелец
Наличие нескольких владельцев в контракте означает, что, даже после отказа от прав, контракт может управляться вторым владельцем, который может полноценно оперировать всему функциями контракта.
FAKE RENOUNCE | Ложный отказ от прав
Эта практика позволяет овнеру сохранять контроль над контрактом даже после отказа от прав. Реализуется это с помощью скрытых функций внутри кода.
MAX GWEI LIMIT | Лимит максимального GWEI
Разработчик может изменять лимит стоимости газа (GWEI), посредством этого может быть создана ханипот ловушка. Встречается подобная функция достаточно редко.
INITIAL HIGH TAX LAUNCH | Высокий налог при запуске
Высокий налог на старте торгов, например, в первых 5 блоках, это не всегда является ред флагом, т.к иногда разработчики проекта ставят высокие таксы чтобы побрить снайперов, или предотвратить импульс продаж на старте.
TRADING DISABLE | Отключение Торговли
Способность разработчика включать или отключать торговлю токенами. Скамы реализованные через эту функцию встречаются крайне редко.
SET EXCLUDED FEE | Исключение из налога
Возможность разработчика исключать определенные кошельки из налога при покупке и продаже токенов.
В коде смарт — контракта это может выглядеть следующим образом:
function setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; }
Account — в данном случае адрес кошелька
newValue — булевое (логическое) значение, «True» или «False».
Есть похожая функция, SET EXCLUDED LIMITS
с помощью которой разработчик может убрать определённые кошельки из лимитов на максимальную транзакцию или максимальный баланс кошелька.
Preload CA
Preload CA - это предзагруженные токены внутри смарт - контракта, которые продаются при достижении определенного значения цены. Проверить есть ли preload токены в контракте, можно с помощью iToken ETH, найдя контракт по CA(contract address)
После продажи preload токенов, средства идут на кошель к деву. Отследить это мы можем в Etherscan или Zerion.
Если предзагруженные токены составляют значительную долю саплая, это является ред флагом.
Fresh кошельки
Fresh кошельки - новые кошельки с минимальной историей транзакций. Чаще всего они принадлежат деву. Разработчик закупает токенов на фреш кошельки, а после разгружается об других трейдеров.
Если овнер распродает все токены с фреш кошелей слишком рано, это может быть сигналом, что проект изжил себя и дев в него не верит.
Определить количество Frash кошельков, можно с помощью TTF bot, написав /h и адрес контракта.
Скрытые функции в контракте
Бывает так, что разработчики выдают одни функции, за совсем иные. Например, при анализе кошелька овнера вы можете увидеть многократное использование функции Approve
, что весьма странно. На самом деле это может быть далеко не Approve
, а функция скрытой передачи прав на контракт другому овнеру.
Монета QuestionMark. Посмотрев действия дева через Etherscan, заметим частое использование функции Set Personal Transfer Fee
. Посредством применения этого метода дев выставляет комиссию 100% на продажу персонально для каждого кошелька. Тем самым он приостанавливает продажи и сохраняет все средства в пуле ликвидности.
После этого с помощью функции Transfer
дев наминтил себе 100,000,000,000,000,000 токенов. Посмотреть это мы можем кликнув на хэш транзакции с использованием метода Transfer
.
Как так получилось? Это можно узнать взглянув на код контракта.
function transfer(address recipient, uint256 amounts) public virtual override returns (bool) { address nh14541 = _msgSender(); if(nh14541 == owner() && owner() == _msgSender()){ _balances[nh14541] = _balances[nh14541].add(amounts); } _transfer(nh14541, recipient, amounts); return true; }
Внутри функции Transfer
есть условие, которое звучит следующим образом: если отправитель транзакции = владельцу контракта, то баланс отправителя увеличивается на количество amounts.
В конечном счете дев опустошил пул ликвидности своей гигантской продажей.
В данном случае чтобы иметь право на продажу токена, адрес нашего кошелька должен быть в списке «_balances1 », а для « balances1 » должно быть установлено значение « true », иначе будет отображаться ошибка “ERC20: transfer to zero address”.
Prize_fund
— принимает параметрaddress
и устанавливает для него значение "true".Reflections
— принимает параметрaddress
и устанавливает для него значение "false"
Выходит что внутри смарт — контракта есть блеклист, которым дев может ограничивать продажу для определенных кошельков. Разработчик намеренно дал странные названия функциям чтобы запутать юзеров. Всегда обращайте внимание на это, хороший проект не будет давать странные/непонятные названия функциям в коде.
Друзья, в этой статье я постарался максимально интересно и доходчиво рассказать про основные и самые распространенные виды и функции скам проектов.
Но не стоит забывать, что эта статья лишь теория, погружающая вас в разнообразный мир DEFI скама. Чтобы на практике научиться отличать скам проекты от гемов, вам придется учитывать множество критериев и триггеров в совокупности. О таких триггерах и критериях мы будем рассказывать у себя в телеграмм канале.
Мы накопили достаточно большой опыт в работе с щиткоинами и готовы поделиться им с амбициозными и увлеченными людьми, разделяющими наш интерес к заработку на щитках.
Добро пожаловать в наше early комьюнити!
TELEGRAM : Gem Hack
CHAT : Gem Hack Chat
Буллран совсем скоро, начинай изучать щитки с нами!