Аналіз смарт-контрактів
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 Limits дозволяє встановлювати обмеження на торгівлю/передачу токенів (transfer) на розсуд власників контракту. Скамери можуть використовувати цей механізм для сценарію, коли користувач може купити необмежену кількість токенів, а продати може тільки невелику їхню частину (і то не завжди та з затримками за часом). Тому дуже важливо розбирати структуру Transfer Limits у кожному конкретному випадку.

Небезпеки смарт-контрактів із функцією TransferLimits:

  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