Коротко

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


Представити

Аудит безпеки розумних контрактів є дуже поширеною діяльністю в екосистемі децентралізованих фінансів (DeFi). Якщо ви інвестували в проект блокчейну, результати аудиту коду смарт-контракту – це те, що вам потрібно враховувати.

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


Що таке аудит смарт-контрактів?

Аудит безпеки смарт-контракту — це процес перевірки та коментування коду смарт-контракту проекту. Як правило, ці контракти написані мовою програмування Solidity та доступні через GitHub. Аудит безпеки особливо важливий для проектів DeFi, оскільки вони обробляють блокчейн-транзакції на мільйони доларів або з великою базою користувачів. Перевірки зазвичай складаються з чотирьох етапів:

1. Смарт-контракт надається групі перевірки для первинного аналізу.

2. Інспекційна група представляє свої висновки проекту, щоб він міг знайти рішення.

3. Команда проекту вносить зміни на основі виявлених проблем.

4. Команда сайту планує опублікувати остаточний звіт із оглядом будь-яких змін або помилок, що залишилися.

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


Навіщо нам потрібні аудити смарт-контрактів?

З великою кількістю транзакцій або блокуванням розумні контракти стали привабливими цілями для зловмисних атак з боку хакерів. Невеликі помилки в коді можуть призвести до великих крадіжок грошей. Наприклад, злом DAO на блокчейні Ethereum позбавив ETH на суму близько 60 мільйонів доларів і навіть призвело до хардфорку мережі Ethereum.

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


Як відбувається аудит смарт-контрактів?

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

1. Визначити обсяг перевірки. Розумні контракти та технічні характеристики визначаються проектом (їх цільовим призначенням) і загальною архітектурою. Специфікація допомагає команді тестування зрозуміти цілі проекту під час написання та використання коду.

2. Надайте початкову цінову пропозицію на основі необхідної роботи.

3. Виконайте тест. Їх точний характер буде відрізнятися залежно від команди перевірки, її інструментів і методів аналізу. Зазвичай проводиться як ручне, так і автоматичне тестування.

4. Створіть перший проект звіту зі знайденими помилками та надайте його команді проекту для відгуків і подальших виправлень.

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


Методи аудиту смарт-контрактів

ККД газу

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

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

Потенційні лазівки в договорі

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

1. Проблеми повторного входу: коли смарт-контракт здійснює зовнішній виклик до іншого зовнішнього контракту до виконання будь-яких дій. Тоді зовнішній контракт може рекурсивно викликати оригінальний смарт-контракт і взаємодіяти з ним у спосіб, який інакше він не міг би зробити, оскільки баланс оригінального контракту не оновлено.

2. Переповнення цілого числа: коли смарт-контракт виконує арифметичну операцію, але результат перевищує ємність сховища (зазвичай 18 знаків після коми). Це може призвести до неправильного розрахунку суми.

3. Передові можливості: погано структурований код може надавати попередню інформацію про операції купівлі чи продажу на ринку. Це може дозволити іншим використовувати інформацію та торгувати на свою користь.

Недоліки безпеки платформи

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


Що таке акт перевірки?

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

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


Де я можу переглянути результати аудиту смарт-контракту проекту?

Кілька служб аудиту смарт-контрактів стали відомими своїми послугами. Серед них особливо популярні дві компанії, звіти яких містять досить багато інформації.

CertiK

CertiK є лідером галузі, коли мова йде про аудит смарт-контрактів. Вони провели аудит смарт-контрактів сотень проектів. Прикладом є PancakeSwap, найбільша автоматизована платформа BSC (AMM). Нижче наведено результати тестування PancakeSwap на Certik.


Крім того, контракти більшості проектів, які підтримує Binance Labs, перевіряються за допомогою CertiK. CertiK створив рейтинг перевірених проектів і дозволяє порівнювати показники безпеки кожного проекту. Зверніть увагу, що крім Ethereum CertiK також перевіряє проекти на BSC і Polygon.


Ретельність ConsenSys

ConsenSys, якою керує співзасновник Ethereum Джозеф Лубін, є одним із найбільших імен у сфері розробки блокчейнів криптовалютної індустрії. За даними ConsenSys Diligence, компанія надає послуги аудиту смарт-контрактів Ethereum. Вони також надають послугу, яка автоматично перевіряє контракти віртуальної машини Ethereum (EVM) на наявність типових помилок.


Скільки коштує аудит смарт-контрактів?

Точна вартість аудиту залежить від кількості смарт-контрактів, які підлягають аудиту. Як правило, перевірка коштує тисячі доларів. Конкретний великий проект може легко коштувати понад 10 000 доларів США за перевірку. Інспекційна компанія та її репутація також впливатимуть на те, скільки ви платите.


резюме

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

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