Обхідні шляхи для фатальних недоліків

У MasterChef є певні недоліки, які можна виправити під час використання, але тільки якщо користувачі знають про них і що вони можуть зробити. Ось обхідний шлях, згідно з Гліб Зиков та Влад Коровников HashEx.

Децентралізовані обміни (DEX) раніше були досить рідкісними лише два короткі роки тому, а сьогодні здається, що вони є скрізь. Численні проекти мають власні персональні DEX. Це сталося тому, що, коли блокчейн-проект вирішує запустити DEX, вони не роблять це повністю з нуля. Натомість основою коду DEX часто є форк одного з двох основних DEX — Заміна суші or Обмін млинців.

Розумний контракт Masterchef

Ці дві біржі зробили значну революцію в просторі DEX завдяки спеціальному розумному контракту під назвою MasterChef. MasterChef з’являється в обох, і тому він також з’являється в будь-якому DEX, створеному як форк одного з цих двох. Кожен новий DEX отримує однакові функції. Але це також означає, що він поділяє недоліки та вразливості MasterChef. 

Тож давайте подивимося, з якими проблемами можуть зіткнутися користувачі та розробники під час роботи з MasterChef. На що вони повинні звернути увагу? І як до них підходити?

Як працюють DEX?

Перше, що слід зазначити, це те, що контракт MasterChef — це смарт-контракт, написаний на Solidity, який контролює, що може робити ферма та як вона може це робити. У більшості проектів є кілька розумних контрактів, які розподіляють відповідальність і роботу. Але коли справа доходить до протоколів на основі MasterChef, це єдиний контракт, який піклується про все, що стосується фермерства.

Децентралізовані біржі дозволяють обмінювати криптовалюти без необхідності вносити гроші на біржі кошелек. Замість цього ви вкладаєте кошти в смарт-контракти зі свого власного гаманця. Ви єдина людина, яка контролює це і має доступ до своїх власних коштів, якщо контракти не мають бэкдорів або вразливостей.

Інша відмінність полягає в тому, що CEX використовують книги замовлень для купівлі та продажу. Це означає, що вони порівнюють покупців з продавцями, а DEX використовують AMM (Автоматизований ринок Виробник) протоколи для торгівлі, що розраховує ціну активів залежно від того, скільки ліквідності вкладено.

Ліквідність надходить від пулів ліквідності, які є пулами, до яких користувачі можуть вкладати кошти для певних пар і робити кошти доступними для протоколу. Потім, коли хтось намагається купити активи за допомогою цієї пари, його замовлення негайно виконується за рахунок коштів з пулу. Тим часом люди, які внесли кошти в пул ліквідності, отримують токени LP для цього конкретного пулу. Це дає їм право ділитися винагородою.

І якщо вони коли-небудь захочуть повернути свої кошти, все, що їм потрібно зробити, це повернути отримані токени LP.

Як ви знаєте, існує кілька способів створення врожайність з криптохолдингів. Ферми дають додаткові винагороди за надання ліквідності. Користувачі додають ліквідність до DEX, отримують токени LP і ставлять їх у ферми.

MasterChef: вразливості та недоліки

Ми розповіли, як працюють DEX і як працюють пули ліквідності. Отже, давайте детальніше розглянемо, де з’являються вразливості MasterChef, як вони впливають на процес, а також який підхід потрібно застосувати, щоб усе йшло гладко.

MasterChef — це єдиний смарт-контракт, який використовується для вирощування врожаю шляхом надання ліквідності в DEX. На жаль, він має певні недоліки, які можна виправити під час використання, але лише якщо користувачі знають про них і що вони можуть зробити.

Зламані облікові записи

Одна з найбільших проблем, на яку слід звернути увагу, пов’язана з скомпрометацією облікових записів власників. По суті, SushiSwap винайшов метод, який дозволив йому отримати перевагу проти Uniswap. Цей метод полягає в перенесенні активів з однієї біржі на іншу. Це обробляється контрактом за допомогою окремої функції, яка доступна лише власнику контракту.

Однак ця міграція може в кінцевому підсумку бути налаштована на будь-який контракт, без будь-яких обмежень, що в кінцевому підсумку стало серйозною помилкою. Отже, якщо обліковий запис власника скомпрометовано, це може призвести до нового контракту на міграцію, який надсилатиме всі базові токени LP у всіх фермерських пулах на довільну адресу. Це призведе до значної втрати інвестованих активів.

Слід зазначити, що ця функція тепер знайома розробникам, і тому її відразу видаляють вилки. Однак, якщо він залишається присутнім, це слід негайно сприймати як червоний прапор.

Ще слід зазначити, що в деяких форках MasterChef власник контракту може змінювати рівень викидів без будь-яких обмежень. Однак, якщо обліковий запис зламано, зловмисник може встановити дуже великий рівень викидів, що призведе до знецінення токена.

Існує досить простий спосіб вирішити цю проблему, просто переконавшись, що всі функції, доступні власнику контракту, вимагають авторизації кількох підписів. Таким чином, якщо одна адреса буде скомпрометована, погані актори не зможуть багато чого зробити з нею. Інша річ, яку потрібно зробити, це додати тимчасовий блок (контракт Timelock) для виклику функції міграції. Таким чином, користувач має більше часу для прийняття рішення, і біржа повинна буде повідомити вас про міграцію або будь-яку іншу підозрілу транзакцію.

Додавання ідентичних сільськогосподарських пулів

Інша досить очевидна, але ігнорована проблема виникає, коли в оригінальному контракті не враховано обробку ідентичних сільськогосподарських пулів, а це означає, що контракт загрожує неправильним розрахунком винагороди за сільськогосподарське виробництво.

Це не є великою проблемою, якщо MasterChef використовується правильно, оскільки власник навмисне не додаватиме однакові пули. Насправді, на біржах, що працюють належним чином, ці речі перевіряються, і створення дублікатів пулу суворо заборонено. Отже, якщо ви починаєте створення пулу, і ви прямуєте по шляху створення дубліката існуючого пулу, система повинна мати можливість повідомити про помилку. Або запропонуйте додати свої кошти до наявного пулу, а не створювати новий.

Не розраховується кількість депонованих токенів

Чомусь люди, як правило, забувають про те, що може статися, якщо токени з комісійними за переказ або токени перебазування будуть додані як пули до контракту MasterChef. Що відбувається, так це руйнування способу обчислення винагород, оскільки код контракту додає активи до пулів лише шляхом виклику певних функцій. Це означає, що додавання маркерів до адреси об’єднає їх із активами, які вже є в пулі. Але розрахунки винагород за такі токени можуть бути порушені, що призводить до вразливостей.

Належно діючі платформи повинні окремо розраховувати кількість коштів, переданих для фермерства, перевіряючи фактичну перераховану суму з урахуванням комісій. Таким чином, розрахунок винагороди здійснюється правильно.

МастерШеф: Висновок

MasterChef — це єдиний смарт-контракт, який використовується для вирощування врожаю шляхом надання ліквідності в DEX. На жаль, він має певні недоліки, які можна виправити під час використання, але лише якщо користувачі знають про них і що вони можуть зробити. 

Вище ми розглянули кілька речей, які можуть статися, і як цих проблем можна уникнути. Але варто зазначити, що їх більше, наприклад, розбавлення винагород, якщо токени надсилаються безпосередньо на адресу контракту, проблеми зі змінами стартового блоку, оптимізація газу тощо. 

Іншими словами, є вразливі місця та проблеми, про які слід пам’ятати та стежити за ними. Але в цілому MasterChef — це революційний контракт, який значною мірою увімкнув децентралізовані біржі. Отже, якщо ви продовжуєте використовувати його обережно та знатимете про його недоліки та як їх виправити, у вас все в порядку.

Про авторів

Гліб Зиков

Гліб Зиков є співзасновником і технічним директором компанії a Defi безпеку та аналітична компанія HashEx.

​​Влад Коровников є молодшим аудитором і розробником Smart Contract.

ОтримавtВи можете сказати про обхідні шляхи Masterchef чи щось інше? Напишіть нам або приєднуйтесь до обговорення в нашій Telegram-канал. Ви також можете зловити нас Tik Tok, Facebookабо Twitter.

відмова

Вся інформація, що міститься на нашому веб-сайті, публікується добросовісно та лише для загальної інформації. Будь-які дії, які читач вживає щодо інформації, розміщеної на нашому веб-сайті, суворо на свій страх і ризик.

Джерело: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/