Logo
Поділитися цією статтею

Атака «миттєвої позики» DeFi, яка змінила все

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

Хасіб Куреші є керуючим партнером Dragonfly Capital, транскордонного Крипто фонду. Подовжена версія статті представлена ​​на Середній.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку The Protocol вже сьогодні. Переглянути Всі Розсилки

Останнім часом флеш-кредити були в центрі уваги. Нещодавно два хакери використали флеш-позики для атаки на протокол маржинальної торгівлі bZx, вперше в Атака вартістю 350 000 доларів США, а потім імітаційна атака вартістю 600 000 доларів США.

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

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

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

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

Що таке флеш-кредит?

Поняття термінової позики вперше було названо Мармуровий протокол у 2018 році. Marble рекламував себе як «банк розумних контрактів», і його продуктом була проста, але блискуча інновація DeFi: кредити з нульовим ризиком через смарт-контракт.

Як кредит може мати нульовий ризик?

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

Миттєві кредити зменшують обидва ризики. Миттєва позика в основному працює так: я позичу вам стільки грошей, скільки ви забажаєте, за цю єдину операцію. Але до кінця цієї операції ви повинні заплатити мені принаймні стільки, скільки я вам позичив. Якщо ви не зможете це зробити, я автоматично відкачу вашу транзакцію! (Так, розумні контракти можуть зробити це.)

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

Щось подібне могло існувати лише на блокчейнах. Ви не можете робити флеш позики, скажімо, на BitMEX. Це пояснюється тим, що платформи смарт-контрактів обробляють транзакції по ONE , тому все, що відбувається в транзакції, виконується послідовно як пакетна операція. Ви можете думати про це як про «час заморожування» транзакції під час її виконання. Централізована біржа, з іншого боку, може мати такі умови змагання, що частина вашого замовлення не заповниться. У блокчейні вам гарантовано, що весь ваш код виконується ONE рядок за наступним.

Код експлойту флеш-кредиту, через Remco Bloemen
Код експлойту флеш-кредиту, через Remco Bloemen

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

Флеш-кредити бувають різними. Флеш-кредити не мають ризику та альтернативних витрат! Це пов’язано з тим, що позичальник «заморозив час» на час дії своєї швидкої позики, тому в очах будь-кого іншого капітал системи ніколи не був під загрозою та ніколи не був обтяжений, тому він не міг отримати відсотки в іншому місці (тобто він не мав альтернативних витрат).

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

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

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

Швидке кредитування робить капітал справжнім товаром. Ця гонка до дна неминуче призводить до нульової комісії або до невеликої номінальної комісії. DYDX [торгова платформа] наразі не стягує комісій за флеш-кредитування. Aave, з іншого боку, стягує 0,09 відсотка від основної суми для термінових позик. Я підозрюю, що це не є стійким, і, справді, їхня спільнота має закликав скоротити гонорари до нуля. (Зверніть увагу, що жодна з атак, які ми бачили, не використовувала Aave як пул флеш-позик.)

Флеш-атаки мають великі наслідки для безпеки

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

Є дві основні причини, чому швидкі позики особливо привабливі для зловмисників.

1. Багато атак вимагають великого початкового капіталу (наприклад, атаки маніпулювання оракулами). Якщо ви отримуєте позитивну рентабельність інвестицій на 10 мільйонів доларів ETH, це, ймовірно, не арбітраж — ви, ймовірно, задумали якусь нісенітницю.

2. Миттєві кредити зводять до мінімуму загрозу для зловмисників. Якщо я маю уявлення про те, як маніпулювати оракулом за допомогою ефіру в 10 мільйонів доларів, навіть якщо я володію такою кількістю ефіру, я, можливо, не захочу ризикувати своїм власним капіталом. Мій ETH буде зіпсований, біржі можуть відхилити мої депозити, і його буде важко відмити. Це ризиковано! Але якщо я візьму миттєвий кредит на 10 мільйонів доларів, кого це хвилює? Це все з ніг на голову. Це не те, що заставний пул DYDX вважатиметься зіпсованим, тому що саме звідти прийшов мій кредит — пляма на DYDX просто випаровується.

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

В Bitcoin білий папір, це відоме затвердження Сатоші Bitcoin (BTC) захищений від атак, оскільки:

«[Зловмиснику] слід вважати, що грати за правилами […] вигідніше, ніж підривати систему та обґрунтованість власного багатства».

Завдяки флеш-позикам зловмисникам більше не потрібно мати скін у грі. Флеш-кредити істотно змінюють ризики для зловмисника.

Хасіб Куреші
Хасіб Куреші

І пам’ятайте, що термінові кредити можуть накопичуватися! За умови дотримання ліміту GAS ви можете буквально об’єднати кожен флеш-позиковий пул в одній транзакції (понад 50 мільйонів доларів США) і перевести весь цей капітал, що громить, до одного вразливого контракту. Це таран вартістю 50 мільйонів доларів, яким тепер будь-хто може вдарити будь-яку піньяту на ланцюзі, доки прийдуть гроші. Це страшно.

Що все це означає в довгостроковій перспективі?

Я вважаю, що атаки bZx все змінили.

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

Для протоколів флеш-атаки означають зміну моделі загрози. Потрапити під флеш-атаку після хаків bZx буде так само незручно, як отримати удар повторний вхід після злому DAO: ви станете посміховиськом Крипто. Ви повинні були це побачити.

Нарешті, ці епізоди змусили мене задуматися про стару концепцію в Крипто: майнерська вартість (MEV). MEV — це загальна вартість, яку майнери можуть отримати з системи блокчейн. Це включає в себе винагороди та комісії за блокування, але також включає більш шкідливі форми вилучення вартості, такі як зміна порядку транзакцій або вставка шахрайських транзакцій у блок.

По суті, ви повинні розглядати всі ці флеш-атаки як окремі транзакції в мемпулі, які приносять купу грошей. Наприклад, друга атака bZx призвела до отримання $645 000 прибутку в ETH за одну транзакцію. Якщо ви майнер і збираєтеся почати видобуток нового блоку, уявіть, що ви дивитеся на транзакції попереднього блоку і говорите собі… "Почекай, що? Чому я збираюся спробувати видобути новий блок за ~$500, коли останній блок містить 645 тисяч доларів прибутку??"

Ми все ще далекі від стійкої архітектури для побудови фінансової системи майбутнього.

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

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

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

Але поки що це все досить наукова фантастика. Шахтарі, очевидно, сьогодні цього T роблять.

Чому T вони?

Безліч причин. Це важко, це багато роботи, віртуальну машину Ethereum погано моделювати, це ризиковано, виникнуть помилки, які призведуть до втрати коштів або блоків-сиріт, це спричинить обурення, а пул майнінгу-шахрая може мати PR-кризу та бути названим «ворогом Ethereum». На даний момент майнери, ймовірно, втратили б більше в бізнесі та осиротілих блоках, ніж вони виграли б, намагаючись зробити це.

Це правда сьогодні. Це T буде правдою.

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

Щоб ці системи працювали в масштабі, вам потрібна остаточність — нездатність майнерів переписувати підтверджені блоки. Це захистить попередні блоки від повторного привласнення. Крім того, якщо протоколи DeFi існують на окремих шардах Ethereum 2.0, вони T будуть вразливі до флеш-атак.

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

Наразі термінові позики стануть новою нормою. Можливо, у довгостроковій перспективі всі активи на Ethereum будуть доступні для швидкого кредитування. Усю заставу зберігають біржі, Uniswap, можливо, самі ERC-20.

Хто знає — це лише кілька рядків коду.

Примітка: Погляди, висловлені в цьому стовпці, належать автору і не обов'язково відображають погляди CoinDesk, Inc. або її власників та афіліатів.

Haseeb Qureshi

Хасіб Куреші є керуючим партнером Dragonfly Capital, транскордонного Крипто фонду.

Haseeb Qureshi