Як перевірки інтелектуальних контрактів DAO допомагають у посиленні безпеки? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як перевірки інтелектуальних контрактів DAO допомагають у посиленні безпеки?

Час читання: 6 протокол

Створення DAO є унікальним для web3, який використовує компетенцію блокчейну в управлінні протоколами без залучення централізованих організацій.  

DAO значною мірою зосереджено навколо двох аспектів – шифрування та розподіленого зберігання. Це дає їм можливість працювати на основі колективного рішення членів спільноти.

Як і з будь-яким протоколом Web3, проблеми з безпекою також існують навколо протоколів DAO. 

Ця стаття має на меті висвітлити базову інфраструктуру DAO та вказівки щодо вдосконалення безпеки смарт-контрактів, щоб витримувати атаки.   

Призначення DAO

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

У цьому відношенні Розумні контракти DAO призначені для виховання Управління в мережі

Управління в ланцюжку — це засіб, за допомогою якого впроваджуються зміни в проекти блокчейну. Правила закодовані в протоколах, і розробники пропонують зміни через оновлення коду. Запропонована зміна вноситься на основі голосування членів/учасників спільноти.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управління в ланцюжку, що підтверджує той факт, що спільноти керують виключно блокчейном. 

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

Для ілюстрації на прикладі розглянемо контракт токенів ERC-20. Він створений на основі стандартів ERC-20 із такою інформацією, як адреса контракту, постачання токенів, назва токена, умови передачі токена тощо. 

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

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

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

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

Кроки, пов’язані з налаштуванням смарт-контрактів DAO

Механіка Росії Управління в мережі

Управління в ланцюжку — це засіб, за допомогою якого впроваджуються зміни в проекти блокчейну. Правила закодовані в протоколах, і розробники пропонують зміни через оновлення коду. Запропонована зміна вноситься на основі голосування членів/учасників спільноти.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>керування в ланцюжку виконується за допомогою набору контрактів – токена, регулятора та блокування часу . З’ясуємо роль кожного з них. 

Маркерів: Жетони визначають право голосу членів спільноти для участі Управління в мережі

Управління в ланцюжку — це засіб, за допомогою якого впроваджуються зміни в проекти блокчейну. Правила закодовані в протоколах, і розробники пропонують зміни через оновлення коду. Запропонована зміна вноситься на основі голосування членів/учасників спільноти.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>керування в мережі. Контракт токена забезпечує перевірку балансу для відновлення повноважень і дозволяє учасникам висловити свій вибір щодо пропозицій щодо управління. 

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

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

Блокування часу: Аспект Timelock передбачає налаштування AcessControl для запропонованої ролі, ролі виконавця та ролі адміністратора. Інтеграція компонента блокування часу з системами управління дає учасникам свободу піти у разі незгоди з рішенням. 

Загальний погляд на страхи безпеки для DAO. 

Залежність DAO від смарт-контрактів дає їм відповідальність за голосування за управління та обслуговування казначейства. І кожен із цих елементів має свої проблеми безпеки; давайте розгорнемо їх нижче. 

Питання безпеки в розумному контракті

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

Рекурсивний виклик — це умова, яка може посилатися на себе та знову і знову викликати їх у циклі. Рекурсивна функція використовує базовий випадок (if) і індукційний випадок (else). Атаки повторного входу виконуються шляхом використання рекурсивних викликів у коді.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>рекурсивні виклики. 

Контракт містив 12.7 млн ​​ефірів, з яких хакер викрав 3.6 млн ETH, скориставшись лазівкою в контракті.

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

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

Проблеми безпеки щодо управління

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

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

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

Пропозиції зі злими намірами викликають a серйозна проблема безпеки щодо змін, внесених у протокол. AAVE та Compound у минулому потерпали від подібних хаків. 

Проблеми безпеки під час виконання

MakerDAO, запущений у мережі Ethereum у 2017 році, почувався добре. Поки не стався ринковий крах у 2020 році, коли ціна ефіру впала на 50%. Це була найважливіша застава, яка використовувалася в MakerDAO, і обвал цін спровокував величезну ліквідність.

MakerDAO не був розроблений для такої масштабної ліквідації, яка призвела до більших фінансових втрат. Хоча кодування тут було сильним, помилка була у виконанні механізму ліквідації. 

Відтоді виконання механізму DAO також було додано до списку інших існуючих проблем безпеки. 

Контрольний список для аудиту смарт-контрактів DAO

Безпека є переважаючим аспектом у Управління в мережі

Управління в ланцюжку — це засіб, за допомогою якого впроваджуються зміни в проекти блокчейну. Правила закодовані в протоколах, і розробники пропонують зміни через оновлення коду. Запропонована зміна вноситься на основі голосування членів/учасників спільноти.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>керування в ланцюжку, щоб захистити потужність від потрапляння в погані руки. Отже, з точки зору безпеки, давайте знайдемо вказівки для розробки надійних контрактів DAO.

Дзвінки низького рівня: З викликами довільних контрактів, які отримують довільні дані, слід поводитися обережно. 

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

Авуари ETH: Виходячи з висновків аудиту, було багато випадків, коли ETH не оброблявся належним чином у контрактах, пов’язаних з управлінням. Таким чином, пропонується забезпечити спосіб надсилання ETH, коли контракти на управління вимагають обробки ETH.

Інший запобіжний захід, якого слід дотримуватися, — використання msg.value, що дозволяє пакетні виклики. Цілком імовірно, що ця схема може піти не так. 

Утримайтеся від експлойтів Flash-loan: На флеш-кредити покладаються експлуататори, які хочуть вплинути на рішення управління та розпочати атаку. Вони беруть миттєві позики та забезпечують голоси керівного складу через холдинги токенів, щоб маніпулювати рішенням про управління. 

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

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

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

Включити затримки за допомогою контракту блокування часу: Дії із затримкою в часі дозволяють спільноті переглянути зміни до протоколу до того, як вони набудуть чинності. Ці часові затримки можна реалізувати за допомогою контрактів Timelock. 

Уразливості, пов'язані з протоколом: Програмне забезпечення, яке використовується для кодування протоколу, працює на певній бізнес-логіці, яка може відрізнятися одна від одної. Так само й проблеми, які виникають під час виконання змін у цій системі. 

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

Видатність QuillAudits в аудиті смарт-контрактів DAO

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

Управління в ланцюжку — це засіб, за допомогою якого впроваджуються зміни в проекти блокчейну. Правила закодовані в протоколах, і розробники пропонують зміни через оновлення коду. Запропонована зміна вноситься на основі голосування членів/учасників спільноти.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>керування в мережі. Таким чином, сфера швидко розвивається і процвітає відповідно до потреб їх спільноти. 

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

16 думки

Часова мітка:

Більше від Квілхаш