Resolv Protocol зламано: $80 млн USR створено за $100 тис., $25 млн вкрадено

iconOdaily
Поділитися
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconКороткий зміст

expand icon
Resolv Protocol був використаний, коли атакуючий випустив 80 мільйонів USR за допомогою лише $100 000 USDC через ваду у функції випуску. Дані в ланцюжку показують, що атакуючий продав токени на Curve Finance та інших ліквідних пулах, змусивши ціну впасти до 2,5 цента і вивівши $25 мільйонів. Проблема пов’язана з дизайном дельта-нейтрального стейблкоїну, що розкриває ризики, пов’язані з офлайн-підписувачами та перевіркою оракулів. Альткоїни, за якими слід стежити, можуть включати ті, що мають подібні механізми. Збитки торкнулися власників токенів RLP, тоді як плечеві позиції USR зазнали ліквідації на Morpho та інших протоколах. Атака підкреслює ризики швидкого зростання TVL без належної безпеки.

Автор оригіналу: Бочай Бочай (X: @bocaibocai_)

Основні висновки

Метод атаки: Зловмисник використав лише близько 100 000 доларів США USDC, експлуатуючи критичну вразливість у функції мінтування USR — можливо, через маніпуляції з оракулом, витік приватного ключа підписувача поза ланцюгом або відсутність перевірки суми між запитом на мінтування та його виконанням — і створив 80 мільйонів USR (на суму близько 80 мільйонів доларів США), після чого швидко обміняв їх на реальні активи.

Арбітражний шлях: атакуючий поступово продавав незаконно відлиті USR у ліквідні пули, такі як Curve Finance, що призвело до падіння ціни USR до мінімуму 2,5 цента. Під час хаосу відмітки від прив’язки було отримано приблизно 25 мільйонів доларів США, після чого арбітражний дохід було конвертовано в ETH для виведення.

Розподіл збитків: Згідно з логікою двохрівневої архітектури ризиків Resolv, дефіцит забезпечення, спричинений цією атакою, спочатку несе власниками страхового пулу RLP (ціна RLP знизиться разом із чистою активною вартістю протоколу), тоді як власники USR теоретично захищені до призупинення викупу протоколом; однак леверидж-позиції Looping на протоколах позичання, таких як Morpho, через відміну від прив’язки були змушені бути закриті, що призвело до вторинних збитків.

Додаткова угоди: Основні DeFi-протоколи, що постраждали: Curve Finance (потік ліквідності USR/USDC миттєво зруйнувався), Morpho (плечові позиції з USR як забезпечення викликали кліренс), Fluid та Euler (також мали циклічні позиції USR/RLP).

Попередження галузі: Цей інцидент виявив фундаментальну слабкість стабільних монет з дельта-нейтральністю — точка зв’язку логіки чеканки з підписами поза ланцюжком/прогнозувачами є найвразливішим місцем для атаки; будь-який дизайн ефективності капіталу «1 долар за 1 долар» повинен ґрунтуватися на надзвичайно строгому аудиті безпеки контрактів.

Одна. RESOLV та USR: щоб зрозуміти цю атаку, спочатку розумійте цю систему

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

Основний механізм USR: дельта-нейтральна стабільна монета

USR — це не стабільна монета, як USDT, підтримувана банківськими депозитами, ні як DAI, забезпечена надмірним залученням активів. Вона є стабільною монетою з нейтральним дельта-риском — архітектура, яка досягає чистого ризикового нейтралізму шляхом «одночасного утримання спот-ETH та короткої позиції по вечірнім ф’ючерсам ETH» [Примітка 1].

Логіка така:

Коли ви вносите 1 долар США в ETH для відлиття 1 USR, протокол Resolv одночасно відкриває рівнозначну коротку позицію по ETH на ринку ф’ючерсів. Коли ETH росте — ви заробляєте на споті, але втрачаєте на ф’ючерсі; коли ETH падає — ви заробляєте на ф’ючерсі, але втрачаєте на споті — обидва показники взаємно компенсуються, і ваша чиста вартість завжди залишається приблизно рівною 1 долару США. Це дозволяє USR від’єднатися від ціни ETH, зберігаючи при цьому прив’язку 1:1 до долара США [примітка 2].

Перевагою цієї архітектури є висока ефективність капіталу: для випуску 1 USR достатньо лише 1 долара ETH, без потреби у надмірному забезпеченні. Джерелами доходу є плати за фінансування позицій хеджування (платежі від лонгів до шортів) та дохід від стейкінгу ETH, завдяки чому власники USR отримують річну дохідність приблизно 5–6%, а ставка для стейк-версії stUSR ще вища [Примітка 3].

Двошарова архітектура: ізоляція ризиків між USR та RLP

Resolv розробив двохрівневу структуру токенів, щоб вирішити питання «хто несе ризики операцій протоколу»:

Рівень USR (вищий пріоритет): власники мають стабільну захисну прив’язку, і збитки не лягають на них;

Рівень RLP (підлеглий рівень): Власники RLP діють як «страховий пул» протоколу, приймаючи на себе ринкові ризики, ризики контрагента (наприклад, тривалий негативний фінансовий тариф) та потенційні ризики контракту, отримуючи за це вищий дохід (20–40% річних) [Примітка 4].

Правила чіткі: будь-які збитки спочатку відшкодовуються за рахунок RLP, а потім — за рахунок USR. Коли коефіцієнт забезпечення USR падає нижче 110%, викуп RLP автоматично блокується для пріоритетного захисту власників USR [примітка 5].

Це ключове передумова для розуміння розподілу збитків від цієї атаки.

Ядро атаки: у чому полягала проблема з функцією чеканки?

Це найважливіший, але найменш повністю відомий етап. Дані ланцюга підтвердили один факт: атакуючий «купив» USR на вартість 50 мільйонів доларів США за допомогою 100 тисяч доларів США [1]. Співвідношення 1:500 означає, що перевірка кількості монет у контракті повністю відключена.

Криптофонд D2 Finance запропонував три можливі гіпотези атаки [примітка 9]:

Гіпотеза A: Маніпуляція оракулом (Oracle Manipulation). Ціна випуску USR залежить від цінового оракула. Якщо атакуючий зможе тимчасово знизити ціну, що повідомляється оракулом, у одній транзакції (наприклад, за допомогою блискавкового кредиту), щоб контракт вважав, що активи, внесені користувачем, мають більшу вартість, він зможе випустити надмірну кількість USR [Примітка 6].

Гіпотеза B: Витік ключа підпису поза ланцюгом (Off-Chain Signer Compromise). Процес відлиття Resolv включає етап перевірки підпису поза ланцюгом — запити на відлив користувачів повинні бути підписані бекенд-сервісом протоколу, щоб бути виконаними. Якщо цей ключ підпису буде скомпрометований, зловмисник зможе підробити законні команди на відлив будь-якої суми, обійшовши всі обмеження ланцюга [2].

Гіпотеза C: Відсутність перевірки суми між запитом та виконанням (Validation Gap). Процес чекання поділений на два етапи: «відправлення запиту» та «виконання чекання». Якщо контракт під час виконання не перевіряє, чи збігається фінальна сума виконання з сумою запиту, зловмисник може змінити параметри після відправлення запиту, але до виконання, щоб здійснити надмірне чекання.

На момент написання звіту офіційний Resolv ще не опублікував повний аналіз кореневих причин вразливості (RCA), тому пріоритети трьох вищезгаданих гіпотез ще не можуть бути остаточно підтверджені.

Згідно з ефектами атаки, гіпотеза B (втеча ключа підписувача) або гіпотеза C (відсутність логіки перевірки) є більш ймовірними — оскільки маніпуляції оракулом зазвичай вимагають великих коштів і важко здійснити такі екстремальні відхилення цін; тоді як під час випуску 80 мільйонів USR атакуючий вклали дуже обмежені кошти, що краще відповідає ознакам "обходу перевірки контракту".

Як зловмисники грошують: класичний сценарій втечі з DeFi

Після отримання 80 мільйонів USDT атакуючі стикаються з викликом: як перетворити штучно створені стабільні монети на реальну вартість?

D2 Finance називає це «підручниковим шляхом виведення коштів хакерами з DeFi»: атакувачі поступово надсилали USR до кількох ліквідних протоколів, пріоритетно продавши велику кількість USR у парі USR/USDC на Curve Finance (найбільший ліквідний пул USR з щоденним обсягом торгів 3,6 мільйона доларів США) [Примітка 10].

Оскільки ліквідність Curve обмежена, коли 80 мільйонів USR раптово ввійшли, пул був повністю зруйнований — ціна USR за 17 хвилин впала з 1 долара до 2,5 цента. Зловмисники не планували продати всі USR по 1 долару, а поступово обмінювали їх на USDC/USDT у діапазоні від 0,25 до 0,5 долара, а потім перетворили арбітражні кошти на ETH для виведення.

PeckShield оцінює, що фінальна сума виведених коштів становить приблизно 25 мільйонів доларів США [примітка 11] — враховуючи прослизання, спричинене масовим продажем USR у дуже низькому ціновому діапазоні, ця цифра означає, що реальний коефіцієнт виведення атакуючими становить близько 30% (25 мільйонів / 80 мільйонів). Інші 70% «вартості» зникли через величезне прослизання при вичерпанні ліквідності.

Три: Після відміни прив’язки: що сталося з USR, RLP та системою забезпечення

Коефіцієнт забезпечення USR миттєво впав

Під час нормальної роботи USR підтримується 1:1 за рахунок ETH+ хеджованих позицій. Але після випуску 80 мільйонів незабезпечених USR, реальні активи, що підтримують загальний обсяг USR, значно не вистачає для викупу за курсом 1:1 — коефіцієнт забезпечення різко впав нижче 100%.

Це безпосередньо спрацювало механізм захисту шару RLP — протокол теоретично заморозить викуп RLP, щоб пріоритетно захистити власників USR. Але одночасно, оскільки USR вже втратив прив’язку (ціна на вторинному ринку становить близько 0,87 долара США), власники USR також стикаються з втратами при продажу за ринковою ціною.

Каскадне знищення кредитних угод

Це один із найменше оцінених побічних збитків цієї події.

Зростання Resolv значною мірою залежить від стратегії: користувачі вносять USR як забезпечення в протоколи позичання Morpho, Fluid, Euler, беруть у борг USDC, а потім купують більше USR, повторюючи цей процес, що створює лупінговий лівередж-позицію (Looping), де лівередж деяких користувачів досягає 10 разів [3].

Коли ціна USR різко впала з 1 долара до 0,87 долара і навіть нижче, вартість забезпечення цих плечових позицій миттєво зникла на 13%+. Оскільки кредитні протоколи автоматично виконують примусове закриття позицій, коли коефіцієнт забезпечення падає нижче рівня кліренсу, велика кількість USR була ліквідована роботами, що викинула ще більше USR на вторинний ринок і додатково знизила ціну — утворивши класичний тиск смертельного спіралю [Примітка 7].

На Morpho існує окремий «MEV Capital Resolv USR Vault», TVL якого до атаки досяг значних розмірів, і саме ці позиції стали основними постраждалими від побічних збитків[4].

Різке зменшення TVL протоколу

TVL Resolv до атаки зростав до кількох сотень мільйонів доларів США (колись досягав піку понад 650 мільйонів доларів США, що в основному було спричинено плечем на Morpho та Euler). Після призупинення протоколу користувачі не змогли вибрати USR, а обчислення цифри TVL стало хаотичним через відміну USR від прив’язки до курсу [5].

Чотири: Хто несе втрати? Аналіз ризиків для кожної сторони

Власники RLP є першим рівнем втрат за проектом. Дефіцит забезпечення, спричинений атакою (80 мільйонів некритичних USR було відлито), безпосередньо відобразиться у зниженні чистої вартості RLP — ціна RLP є правом власності на надлишково забезпечену частину протоколу, і коли протокол має непокритий борг, RLP втрачає вартість першим [6].

Власники плечових позицій USR зазнали найбільших втрат. Вони не лише стикалися зі зняттям позицій (яке зазвичай супроводжується штрафом у розмірі 5–10 %), але й продавали свої позиції під час відмінності USR від прив’язки за ціною нижчою за прив’язану, що призвело до незаперечного накопичення втрат.

Curve LP-провайдери несуть безповоротні втрати — коли атакуючий масово продавав USR, пул LP пасивно поглинав велику кількість USR (продавав USDC і утримував більше дешевого USR), що призводило до арбітражних втрат [примітка 8].

Звичайні власники USR: за дизайном, якщо протокол нормально активує механізм призупинення, власники USR можуть викупити їх за співвідношенням 1:1 за залишковими реальними забезпеченнями. Але проблема в тому, що після атаки протокол призупинив усі функції, вік викупу закрито, і фактичні продавці можуть укладати угоди лише за ринковою ціною 0,87 долара, несучи втрати в розмірі 13% через відхилення від прив’язки.

П’ять: Реагування на надзвичайні ситуації: заходи команди RESOLV

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

На момент написання звіту Resolv підтвердила публічно факт атаки, але повний звіт про наслідки (Post-Mortem) та офіційний план компенсації ще не опубліковано. Це відповідає типовому графіку реагування на інциденти безпеки DeFi — команди зазвичай потребують 48–72 годин для завершення ланцюгового розслідування та підтвердження вразливості, перш ніж оприлюднити детальний план виправлення.

Варто зазначити, що Resolv раніше співпрацювала з Immunefi для впровадження програми винагород за виявлення вразливостей та встановила систему активного моніторингу безпеки Hypernative [7]. Остання теоретично мала здатність виявити попереджувальні сигнали щодо аномального чекання — що викликає питання: чи була система попередження активована вчасно, чи швидкість атаки перевищила часовий проміжок для ручного втручання?

З урахуванням екстремальної швидкості падіння USR до 2,5 цента за 17 хвилин, атака була виконана з високою ефективністю, а часова вікна для реакції були дуже обмежені.

Шість: Попередження щодо аналогічних протоколів: системний ризик DELTA-нейтральних стабільних монет

Ця подія з Resolv не є ізольованою — це типовий провал у секторі DeFi зі «синтетичними доларами».

Основний урок один: офлайн-підписувачі є централізованим ризиком. Для досягнення ефективного створення стабільних монет з нейтральною дельтою зазвичай вводяться офлайн-бекенд-сервіси для перевірки замовлень. Цей «офлайн-компонент» є суттєво централізованою вузловою владою — якщо його приватний ключ витікне, атакувальник отримає повноваження на друкування монет протоколу. Це перенесення слабких місць безпеки Web2 у Web3[8].

Другий ключовий урок: «капітальна ефективність 1:1» — це меч з двома гострими краями. Філософія проектів з надмірним забезпеченням (наприклад, MakerDAO) полягає в тому, що навіть при наявності невеликих вразливостей у контракті, надмірний запас забезпечення здатний поглинути частину втрат. Системи з дельта-нейтральністю зводять запас до нуля — будь-яка невдача в логіці чеканки безпосередньо призводить до пропорційної відсутності в системі, без будь-якого резерву.

Три важливих уроки: аудит не встигає за швидким зростанням TVL. TVL Resolv збільшився з менше ніж 50 мільйонів доларів США до понад 650 мільйонів доларів США за три місяці, головним чином завдяки стратегії левериджу на Morpho. Швидке зростання складності системи та кількості точок інтеграції створило величезний тиск на аудит. Подібні уроки неодноразово траплялися в історії DeFi: Euler Finance (березень 2023 року, збитки 197 мільйонів доларів США), Inverse Finance (квітень 2022 року, 15,6 мільйона доларів США) — це трагедії, коли дизайн здавався логічним, але в логіці мінтування/позичання були дрібні вразливості [9].

Сім. Основні висновки

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

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

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

Створення 80 мільйонів USR вимагало лише 100 000 доларів США, 17 хвилин і ціни на дні — 2,5 цента. Зловмисник вивів 25 мільйонів доларів США реальної вартості, залишивши протоколу чорну діру, яку потрібно виправити — а також рахунок, складений власниками RLP, користувачами плечей і Curve LP, який має реальні витрати.

Побічні збитки від таких периферійних протоколів, як Curve, Morpho, Fluid, Euler, — це інша сторона «суперкомпозиційності» (Hypercomposability) у світі DeFi: інтеграція між протоколами в звичайний період підсилює прибутки, а під час кризи так само підсилює ризики. У підсумку, цей випадок має попереджальне значення: у DeFi кожне відкрите вікно ефективності — це кожен відкритий вектор атаки. Наявність підписувачів поза ланцюгом робить протоколи більш гнучкими, але також додає їм централізований смертельний слабкий місце.

Примітки

[注1] Дельта-нейтральний (Delta Neutral): термін фінансових деривативів. Дельта вимірює чутливість ціни активу до змін ціни базового активу. "Дельта=0" означає, що позиція не приносить прибутку чи збитків від зростання чи падіння ціни базового активу — тобто повністю хеджована. Для Resolv це означає утримання 1 долара ETH (Дельта=+1) разом з короткою позицією у ф’ючерсах на таку саму кількість ETH (Дельта=-1), що дає чисту Дельту=0, тому це називається "дельта-нейтральним".

[注2] Перпетуальні ф'ючерси: вид ф'ючерсних контрактів без терміну дії, що є основним інструментом деривативів на ринку криптовалют. Позиція в коротких перпетуальних ф'ючерсах означає: отримання прибутку при падінні ціни ETH і збитків при її зростанні, що дозволяє хеджувати ризик ціни спот-ETH.

[注3] Ставка фінансування (Funding Rate): механізм балансування ринку перпетуальних ф’ючерсів. Коли позиції лонг переважають над позиціями шорт, лонги регулярно сплачують «фінансову плату» шортам, і навпаки. Resolv як шортова сторона зазвичай постійно отримує фінансову плату на бикому ринку криптовалют, що є його основним джерелом доходу.

[Примітка 4] Підлегла шара (Junior Tranche): у фінансовій структурі шарів інвестори підлеглої шари першими страждають при виникненні збитків (аналогічно «першому власнику збитків»), але при розподілі доходів отримують вищу премію за ризик. RLP відповідає підлеглій шарі протоколу Resolv, а USR — пріоритетній шарі.

[Примітка 5] Рівень тригера коефіцієнта забезпечення 110%: загальна вартість забезпечуючих активів USR становить 1,1 рази більше, ніж загальний обіг USR. При падінні нижче цього рівня викуп RLP призупиняється, щоб забезпечити пріоритетний викуп для власників USR.

[Примітка 6] Флеш-позика (Flash Loan): інструмент позичання без застави, властивий DeFi, який вимагає погашення позики в межах однієї транзакції (одного блоку). Зловмисники можуть використовувати це для тимчасового отримання великої суми коштів для маніпулювання цінами, доки позика не буде погашена до завершення транзакції, майже без витрат на кошти.

[Примітка 7] Смертельна спіраль (Death Spiral): самопідсилювальний крах під час процесу зменшення плеча: падіння ціни активу → запуск ліквідації → продаж більшої кількості активів → подальше падіння ціни → запуск більшої кількості ліквідацій, і так далі.

[Примітка 8] Тимчасова втрата (Impermanent Loss): Унікальний ризик для постачальників ліквідності в автоматичних маркет-мейкерах (AMM). Коли співвідношення цін двох активів у пулу відхиляється від початкового, вартість портфеля LP нижча, ніж якби вони просто тримали обидва активи; ця різниця і є тимчасовою втратою.

[注9] D2 Finance / CoinTelegraph аналіз, цитуючи коментар D2 Finance: "Або оракул був підігнаний, підписувач поза ланцюжком був скомпрометований, або перевірка суми між запитом і завершенням просто відсутня." Той саме джерело.

[Примітка 10] CoinTelegraph повідомляє, що 24-годинний обсяг торгівлі на кривій USR/USDC склав 3,6 мільйона доларів США, а ціна впала до 2,5 цента о 2:38 UTC.

[Примітка 11] Дані, оцінені PeckShield, згідно з CoinTelegraph, той саме джерело: «PeckShield оцінила, що атакувач зміг витягти близько $25 мільйонів під час деспігання USR».

Оригінальне посилання

Відмова від відповідальності: Інформація на цій сторінці може бути отримана від третіх осіб і не обов'язково відображає погляди або думки KuCoin. Цей контент надається лише для загального інформування, без будь-яких запевнень або гарантій, а також не може розглядатися як фінансова або інвестиційна порада. KuCoin не несе відповідальності за будь-які помилки або упущення, а також за будь-які результати, отримані в результаті використання цієї інформації. Інвестиції в цифрові активи можуть бути ризикованими. Будь ласка, ретельно оцініть ризики продукту та свою толерантність до ризику, виходячи з ваших власних фінансових обставин. Для отримання додаткової інформації, будь ласка, зверніться до наших Умов використання та Розкриття інформації про ризики.