Скануйте, щоб завантажити додаток Gate
qrCode
Більше варіантів завантаження
Не нагадувати сьогодні

Аудит смарт-контрактів: ваша інвестиційна безпека чи податок на інтелект?

robot
Генерація анотацій у процесі

Перед інвестуванням у проекти DeFi ви, безумовно, бачили рекламу на кшталт “пройшло аудит CertiK”. Але чи справді audit report вартий таких грошей? Сьогодні ми розберемося в нюансах аудиту смарт-контрактів.

Чому необхідно проводити аудит?

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

Історично найвідомішим прикладом негативного досвіду є атака хакерів на The DAO у 2016 році, яка призвела до крадіжки ETH на суму 60 мільйонів доларів. Ця подія змусила Ethereum провести hard fork, щоб виправити ситуацію. Усе це сталося через вразливість повторного входу (re-entrancy).

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

Як проходить процес аудиту?

Повний аудит зазвичай поділяється на чотири етапи:

Перший крок: Розробник проекту подає код смарт-контракту (зазвичай написаного на Solidity) компанії-аудитору, повідомляючи їм, для чого призначений цей контракт і яку суму він буде обробляти.

Другий крок: Аудиторська команда запускає автоматизовані сканери + ручна перевірка коду, одночасно моделюючи різні атаки. Тут будуть виявлені різні проблеми — від critical (фатальних) до minor (дріб'язкових).

Третій крок: Аудиторська компанія надає проектній стороні первинний звіт, в якому перераховані всі помилки. На цьому етапі проектна сторона повинна або виправити, або надати причину, чому не виправляти (ця причина є дуже важливою).

Четвертий крок: після внесення змін проектною командою, аудиторська компанія видає фінальний звіт. У звіті повинні бути чітко зазначені, які проблеми були вирішені, а які все ще існують.

Що насправді перевіряє аудит?

1. Вразливість безпеки (це головна страва)

Звичні кілька типів багів:

  • Атака повторного входу: Зовнішній контракт викликає ваш контракт, поки ви ще не оновили баланс рахунку, і повторно викликає його, безпосередньо виводячи кошти.
  • Цілісне переповнення/недостатність: під час арифметичних операцій було перевищено межу значення (зазвичай це 18 знаків після коми), що призвело до повного безладдя в обчисленні балансу
  • Переднє виконання (Front-running): Хтось бачить, що ваша транзакція на купівлю монет ще в mempool, і він перший виконує транзакцію, щоб швидше потрапити в ланцюг, використовуючи інформаційний арбітраж.

2. Газова ефективність

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

3. Уразливості безпеки платформи

Не тільки сам смарт-контракт, аудит також розгляне Чи є ризики для мережі, яка його підтримує (наприклад, BSC, Polygon), чи є ймовірність, що фронтальний веб-сайт буде зламано, чи безпечний API? Деякі проекти зазнали атак на фронтальний сайт, і гаманці користувачів безпосередньо підключалися до шкідливих контрактів. Хто нестиме відповідальність за цю ситуацію?

Як виглядає аудиторський звіт?

Офіційний аудиторський звіт класифікує проблеми за ступенем серйозності:

  • Критичний(致命):баг, що може безпосередньо вкрасти гроші
  • Високий(高危):може призвести до втрати коштів
  • Середній (середній): функціональні збої, але не призводять до втрати грошей
  • Low/Info(низький ризик/інформація):проблеми зі стилем коду

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

Хто займається цим бізнесом?

CertiK

Головний гравець на ринку аудиту Web3 вже провів аудит кількох сотень проектів. PancakeSwap та багато проектів екосистеми Binance були перевірені ними. CertiK також опублікував рейтинг, де ви можете перевірити оцінки аудиту будь-якого проекту.

ConsenSys Diligence

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

Скільки коштує аудит?

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

Останнє слово

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

Тому просто дивитися на те, чи є аудит, вже не так цінно. Ти насправді повинен зробити наступне:

  1. Яка компанія проводила аудит (наскільки вона відома)
  2. Відкрийте звіт і подивіться, скільки критичних помилок ви знайшли (якщо багато, це означає, що код поганий)
  3. Чи серйозно команда проекту виправила ці проблеми (уважно, якщо уникають виправлення)
  4. Найважливіше: не тільки дивіться на аудит, але й враховуйте фон проекту, фінансування, розмір спільноти для комплексної оцінки

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

ETH-4.07%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити