Оскільки хакі DeFi стрімко зростають, цей стартап хоче працювати...

За останні пару років сотні нових децентралізованих фінансових програм і протоколів заполонили мережу Ethereum та інші блокчейни. У листопаді 2021 року загальна вартість, заблокована в усіх програмах DeFi, досягла приголомшливих 290 мільярдів доларів. 

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

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

Незважаючи на те, що 2021 рік був великим роком для DeFi, він, мабуть, був ще більшим для хакерів, згідно з нещодавнім звітом Chainalaysis виявлення що вони вкрали криптовалюти на загальну суму 3.2 мільярда доларів того року. Цей рік, ймовірно, буде таким же прибутковим для хакерів. За останніми даними CertiK звітом, DeFi та Web3 разом втратили більше 2 мільярдів доларів від хакерів за перші шість місяців року. 

У Chainalysis заявили, що хакери в криптосфері перейшли з гаманців та інших цілей і сьогодні майже виключно націлені на протоколи DeFi. За перші три місяці 2022 року майже 97% усіх коштів, викрадених хакерами, надійшли з DeFi, порівняно з 72% у 2021 році та лише з 30% у 2020 році. Швидкий огляд деяких із найбільших хакерів цього року пояснює, чому DeFi стати такою популярною мішенню для зловмисників. Суми, які вони можуть вкрасти, величезні. Найдорожчим хаком цього року був Порушення безпеки Ronin Validator. 23 березня особа або особи, відповідальні за атаку, змогли скомпрометувати вузли перевірки Ronin і Axie DAO Sky NMavis, зламати приватні ключі та здійснити незаконне виведення коштів. Лише за дві транзакції вони вкрали неймовірні 173,600 25.5 ETH і 615.5 мільйонів доларів США, що становить XNUMX мільйонів доларів США. 

На жаль, злом Ronin був не просто окремою подією. У лютому хакери скористався вразливістю безпеки під час перевірки підпису Wormhole, що дозволило їм отримати 120,000 326 WETH на Solana, сума, яка на момент атаки становила XNUMX мільйонів доларів. Подібним чином у квітні протокол Beanstalk жертва впала до одноденної затримки в рамках контракту пропозиції щодо управління $BEAN для завершення термінової позики. Зловмисник зміг вкрасти 70% загального числа насіння, забравши загалом 181 мільйон доларів. 

 

Виявлення вразливостей смарт-контракту

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

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

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

Аудит коду смарт-контракту та винагороди за помилки можуть допомогти захистити протоколи DeFi від звичайних хакерів через необроблені винятки та залежність порядку транзакцій. Проте перевірки, на жаль, не є безпомилковими – дослідження Chainalaysis показало, що 30% експлойтів цього року сталися на платформах, які перевірялися протягом останніх 12 місяців. Отже, хоча перевірки коду та премії за помилки можуть бути корисними, вони не надають жодних гарантій. Таким чином, протоколи DeFi, які керують коштами користувачів на мільярди доларів, повинні прийняти більш надійний підхід до безпеки. 

 

Переосмислення розумних контрактів

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

Команда Мова шифрування базується на популярній мові програмування Rust і зберігає більшість її функцій. Однак він, зокрема, додає низку спеціальних функцій на основі Radix Engine. Його можна розглядати як набір бібліотек і розширень для Rust, який надає функції, орієнтовані на ресурси, що дозволяє логіці в стилі Rust взаємодіяти з активами як рідний, першокласний громадянин. 

Найважливішою відмінністю Scrypto є те, що він фактично позбавляється розумних контрактів. Замість смарт-контрактів він використовує креслення та компоненти для обробки транзакцій. Чертежі — це скомпільований вихідний код, який живе в блокчейні, де ними може користуватися кожен. Їх роль полягає в наданні «функцій конструктора» для транзакцій DeFi з гнучкими параметрами, які інші можуть створювати. Зазвичай вони досить спеціалізовані з точки зору функціональності, хоча вони можуть підтримувати кілька різних випадків використання залежно від того, як саме вони створені. Інколи креслення можуть працювати з іншими кресленнями, розгорнуті разом як «пакет». 

Щоб активувати проект, його необхідно створити, викликавши одну з його функцій-конструкторів, щоб отримати адресу новоствореного екземпляра, відомого як «компонент». Компоненти використовуються для керування станом і можуть збирати, утримувати та розподіляти ресурси відповідно до логіки, пов’язаної з планом, який його створив. Іншими словами, компоненти в Scrypto нагадують смарт-контракти, однак вони походять від логіки, визначеної в плані, який його породив. 

Унікальна архітектура Scrypto дозволяє виконувати транзакції зовсім не так, як звичайні смарт-контракти, написані на Solidity або іншій мові. Замість того, щоб надсилати номер або посилання на деякі токени, Radix Engine передає право власності на токени від абонента компоненту. Щойно цей компонент отримує відро ресурсів або кілька відер, він може взяти ці ресурси та розмістити їх у сховищі, яке зберігає, або в іншому відрі. Потім Radix Engine гарантує, що абонент більше не зможе отримати доступ до сегмента чи сховища. 

Кінцевим результатом є те, що dApps, створені на Radix, мають набагато простіший і безпечніший спосіб транзакцій. Щоб краще зрозуміти, як це працює, Radix пропонує нам приклад машини для гумових кульок який приймає токени доларів США в обмін на токени, що зберігаються в його сховищі. 

У цьому прикладі користувач передає відро 0.25 доларів США методу insertCoins компонента MyMachine. Логіка плану бачить, що була сплачена правильна ціна, додає ці жетони до сховища, а потім бере 1 гумову кульку зі свого сховища і передає її назад абоненту. Він навіть може повернути здачу, якщо абонент передав забагато доларів США. 

Зі смарт-контрактами Ethereum на основі Solidity це набагато складніше та ризикованіше. У тій самій машині користувач викликав би смарт-контракт, щоб надати машині дозвіл виводити гроші з його гаманця від його імені. Вони сказали машині, що хочуть ввести 0.25 USD. Потім машина викликала б контракт у доларах США, щоб здійснити зняття коштів, а потім викликала смарт-контракт gumball, щоб надіслати gumbball користувачеві. Нарешті, це, ймовірно, також оновить внутрішній кеш кількості гумових кульок, що залишилися, щоб перевірити наявність еросу. Кожен із цих процесів використовує смарт-контракт, тому кожен з них ризикує бути зламаним через вразливість смарт-контракту. 

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

 

Висновок 

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

 

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

Джерело: https://cryptodaily.co.uk/2022/08/as-defi-hacks-soar-this-startup-wants-to-radically-overhaul-smart-contracts-to-prevent-them