Insights

Чому кросчейн-мости настільки вразливі до зламів

Кросчейн-мости втратили понад $2 млрд усього за один рік унаслідок зламів — ось чому мости постійно зазнають невдач і що дійсно може допомогти.

Опубліковано Команда Netts 13 хв читання

Інші мови: EnglishРусскийEspañol中文ไทยFrançaisTürkçeहिंदीفارسیالعربيةHausaPortuguêsTiếng Việt한국어日本語Bahasa IndonesiaDeutschTagalog

Чому кросчейн-мости настільки вразливі до зламів
Зміст
  1. Що таке міст і навіщо він потрібен
  2. Чотири злами, чотири різні збої за спільної архітектури
  3. Блокчейни створювалися вдумливо. Їхні зв'язки — ні
  4. Що відбувається з вами, коли міст зазнає зламу

Грудень 2021 року — Log4j є широко поширеною бібліотекою логування, яку використовує неймовірно великий відсоток світового коду на Java. Цей недолік крився не в операційній системі чи великому додатку. Це була службова утиліта, про яку більшість користувачів навіть ніколи не чула, і яка жила в надрах систем, що роками перевірялися, обслуговувалися та захищалися. Уже за кілька годин після публічного оприлюднення сканери вразливостей перевіряли на її наявність кожен доступний сервер в Інтернеті! Знадобилися місяці, щоб патч розійшовся остаточно.

Це історія не про блокчейн. Проте це найкраща призма для розуміння того, чому кросчейн-мости продовжують зламувати. Окремі блокчейни — Bitcoin, Ethereum, Solana — створювалися з винятковою ретельністю щодо механізмів консенсусу, криптографічних аксіом та систем стимулювання валідаторів. Їхні базові протоколи пройшли роки досліджень і стрес-тестувань за несприятливих умов. Їхні зв'язки виковувалися окремо, під впливом суворих обмежень і руками різних команд, і вони рідко піддавалися дійсно ретельному аудиту. І саме ці зв'язки утримують величезні гроші.

Що таке міст і навіщо він потрібен

Блокчейни не мають нативної взаємодії між собою. Bitcoin взагалі ніяк не може дізнатися, що відбувається в мережі Ethereum. Те саме стосується смартконтрактів Ethereum, які не бачать стану Solana. Знову ж таки, за задумом кожен блокчейн ізольований — це закрита система, безпеку якої забезпечує сама її ізоляція. Валідатори мережі погоджуватимуть лише те, що відповідає її правилам, без будь-яких зовнішніх даних, які вони не в змозі самостійно перевірити.

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

Найбільш поширеною архітектурою мостів є модель Lock-and-mint (блокування та випуск). Користувач вносить токени в мережі A і блокує їх у смартконтракті. Цей депозит відстежується та підтверджується кворумом валідаторів або мультисиг-комітетом. Після цього в мережі B створюється еквівалентна кількість «обгорнутих» (wrapped) токенів — синтетичний актив, підкріплений обіцянкою того, що забезпечення існує для повної відповідності вартості на іншому боці. Вихід із системи — користувач спалює обгорнуті токени в мережі B, валідатори фіксують цю подію, і заблоковані активи розблоковуються в мережі A.

Елегантність цієї моделі є водночас і її слабким місцем. Усі ці заблоковані активи зберігаються в одному-єдиному смартконтракті. Вони не рухаються. Вони накопичуються. Міст перетворюється на сховище.

Сайдчейни та їх реалізація в кросчейн-контрактах уперше були формалізовані в документі 2014 року. Атомарні свопи (atomic swaps) — криптографічні протоколи для прямого однорангового (P2P) обміну активами між різними мережами без довіри — з'явилися у 2018 році. Обидва ці ранні методи згодом зіткнулися з жахливими, очевидними проблемами масштабованості. Через використовувані механізми консенсусу атомарні свопи є двосторонніми та вимагають зіставлення покупців і продавців ще до того, як транзакція відбудеться; вони не здатні функціонувати як універсальна ліквідна інфраструктура. Мости моделі Lock-and-mint вирішили питання масштабованості завдяки створенню пулу заблокованого забезпечення, з якого будь-хто міг брати активи — і в результаті фактично створили привабливий «ханіпот» (honeypot).

Перші практичні мости почали з'являтися у період між 2020 та 2022 роками, коли бум DeFi породив реальний попит на переміщення капіталу між мережами. Втіленням цього покоління став Ronin Bridge, розроблений для ігрової екосистеми Axie Infinity. Wormhole, який зв'язав Solana та Ethereum, а також Harmony Horizon Bridge, що з'єднав блокчейн Harmony з Ethereum, отримали таку ж популярність. Усі вони використовували невеликі комітети валідаторів для підписання підтверджень кросчейн-переказів — групи зазвичай складалися з п'яти–дванадцяти підписантів (відомих як комітет), чий колективний підпис був обов'язковим для схвалення будь-якого виведення коштів. Це було дешево в підтримці й оперативно в роботі. Але водночас це стало єдиною точкою відмови, математичні шанси зламу якої зловмисники могли легко розрахувати —

Чотири злами, чотири різні збої за спільної архітектури

У 2022 році стався спалах експлойтів мостів, через що сукупні збитки перевищили $2 млрд. Проте чотири випадки вирізняються особливо — не тому, що вони були технічно схожими (вони такими не були), а тому, що кожен із них наочно ілюструє різні способи відмови однієї й тієї самої архітектури.

Найбільший одиночний DeFi-експлойт в історії. Подією, що увійшла в історію як найбільший злам у сфері DeFi усіх часів, став злам Ronin Bridge на $624 млн 23 березня 2022 року. Для авторизації виведення коштів набір валідаторів Ronin покладався на схему підписів 5 з 9. Лише в березні чотири ключі, що належали Sky Mavis — розробникам гри Axie Infinity, — були скомпрометовані через цільову фішингову атаку з використанням фальшивої пропозиції про роботу. Проте за кілька місяців до цього інциденту Sky Mavis неофіційно надали їм тимчасові права підпису для п'ятого ключа, щоб упоратися зі зростанням обсягу транзакцій, і це делегування так і не було скасовано. У нападників опинилися всі п'ять підписів. За дві транзакції вони вивели з мережі 173,600 ETH та $25.5 млн USDC. На виявлення зламу знадобилося шість днів.

У лютому 2022 року Wormhole втратив $326 млн через абсолютно інший тип збою, що поклало край семитижневому падінню. Помилка безпеки, пов'язана із застарілою функцією у смартконтракті Solana — кодом, який мав бути видалений під час планового оновлення, але залишився, — дозволила зловмиснику обійти перевірку підписів. Нападник згенерував підроблене підтвердження депозиту, випустив 120,000 обгорнутих Ether без жодного забезпечення та вивів реальний Ether з боку Ethereum. Було зазначено, що вразливість виникла через тимчасовий код, який не прибрали до кінця, і ніхто не помітив цього під час аудиту.

Nomad зазнав краху в серпні 2022 року за сценарієм, який був ще більш принизливим. Під час звичайного оновлення критичний параметр валідації було скинуто до нуля, внаслідок чого контракт почав вважати будь-який доказ переказу дійсним. Щойно це було виявлено та публічно оприлюднено, понад 300 різних адрес — не досвідчені зловмисники, а здебільшого звичайні опортуністи — кинулися спорожняти міст за принципом «хто перший встиг». $190 млн зникли.

Зловмисникам потрібно було лише здобути два ключі підпису, критично важливі для функціонування мосту Harmony Horizon, — якраз досягнувши скомпрометованого порога. Водночас жодних офіційних публічних підтверджень щодо того, як саме було отримано ці ключі, не було надано. Головний висновок полягає в тому, що поріг підпису 2 з 5 для мосту з активами на дев'ятизначну суму — навіть якщо код написаний добре — абсолютно неприйнятний.

Ця тенденція продовжилася й у 2023 році. Multichain, найвідоміший протокол кросчейн-маршрутизації, який втратив $126 млн у липні 2023 року, зазнав краху не через рядки вразливого коду, а тому, що його генерального директора було затримано в Китаї, а його особисті приватні ключі були використані для виведення коштів мосту. Orbit Chain зазнав атаки, коли було зламано 7 із 10 мультисиг-ключів, що призвело до втрати $81 млн. Найважливішою причиною того, чому кожен із цих експлойтів ставав катастрофічним, а не просто серйозною проблемою, було те, що всі активи були заблоковані в одному смартконтракті, який контролювався лише кількома ключами.

Блокчейни створювалися вдумливо. Їхні зв'язки — ні

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

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

У січні 2022 року, за кілька тижнів до першого великого зламу мосту того року, Віталік Бутерін прямо звернув увагу на цей структурний ризик. Він попередив, що мости створюють системний ризик, оскільки атака 51% теоретично може поставити під удар усі активи, заблоковані на різних мережах. Хоча його конкретне занепокоєння стосувалося не стільки атак на ключі валідаторів, які трапилися насправді, скільки більш абстрактної ідеї про те, що кросчейн-системи одночасно переймають і примножують ризики залучених мереж, цей принцип повністю підтвердився на практиці.

Кожне наступне покоління провідних мостів намагалося вирішити окремі проблеми, але зберігало ту саму фундаментальну вразливість, і ось чому:

Невеликі мультисиг-комітети — дешеві, швидкі та банально вразливі до крадіжки ключів і фішингу — Покоління 1 (2020–2022)

Покоління 2 → (2023–2024) Гаманці з розширеними наборами валідаторів, які використовують економічно мотивовані мережі верифікаторів, щоб зменшити ризик компрометації ключів і мінімізувати необхідність довіряти сумлінності офчейн-операторів.

Це перша архітектура, яка повністю усуває необхідність довіри людським операторам — за допомогою доказів із нульовим розголошенням (zero-knowledge proofs), що дозволяють математично перевіряти кросчейн-стан (Покоління 3 — 2025–дотепер), проте вона створює нові труднощі: висока вартість генерації доказів, затримки (latency) та коректність роботи схем (circuits).

Навіть найбезпечніше покоління мостів не розв'язало цю проблему остаточно. Це означає, що докази з нульовим розголошенням надійні рівно настільки, наскільки надійні схеми, на базі яких вони створені. Водночас помилки в ZK-схемах не є чимось нечуваним. А економічні стимули, які залучають у мости величезний TVL, пропорційно приваблюють і добре фінансованих хакерів.

Мабуть, найбільш значущою архітектурною зміною є заміна довірених посередників математичною верифікацією. На відміну від ситуації, де постійно постає питання «чи можемо ми довіряти валідаторам?», ZK-міст генерує криптографічний доказ того, що певна транзакція справді відбулася у вихідній мережі, і надсилає цей доказ у мережу призначення для ончейн-верифікації. У такому разі спроба скомпрометувати групу людей стає безглуздою — безпека гарантується стійкістю самої криптографії.

Chainlink залучає десятки незалежних мереж для забезпечення роботи свого протоколу Cross-Chain Interoperability Protocol (CCIP), а також додаткову мережу управління ризиками (Risk Management Network), яка виявляє аномальну поведінку. Жодне кросчейн-повідомлення не може бути виконане без згоди обох мереж. Жодна зі сторін не може в односторонньому порядку схвалити переказ. Це приклад глибокоешелонованого захисту, застосованого до самої архітектури мосту.

Третій напрям базується на інтентах (intent-based bridges). Замість накопичення величезного пулу заблокованого забезпечення, який потенційно може спустошити будь-хто, вони зіставляють користувачів із професійними постачальниками ліквідності — «солверами» (solvers), які виконують кросчейн-переказ за рахунок власних резервів. Солвер отримує оплату від користувача, а сам міст не має загального пулу заставних коштів, що міг би стати мішенню («ханіпотом»). Площина атаки зміщується з масштабу «пограбувати центральне сховище» на «обдурити окремого солвера», що є значно менш привабливою здобиччю.

Більш надійний підхід полягає у створенні розширеної структури між двома мережами — системи, яка є не просто мостом, а радше рівнем спільної безпеки. Це додає технічної стійкості, але вимагає прямої участі команд самих блокчейнів, а не сторонніх розробників. Найближче до практичної реалізації цієї концепції сьогодні підійшла модель парачейнів Polkadot, де блокчейни підключаються до спільного релей-чейну та успадковують його безпеку. Проблема в тому, що це працює лише в межах екосистеми Polkadot. Щоб реалізувати аналогічний міст між Ethereum та Bitcoin, знадобляться зміни до протоколу Bitcoin, впроваджувати які спільнота вже неодноразово відмовлялася.

Усе це набагато легше описати, ніж побудувати. Створення ZK-доказів для складного стану кросчейн-мереж є дорогим завданням і вимагає глибокої криптографічної експертизи. Щоб докази коректно генерувалися, схеми потребують формальної верифікації — помилки в ZK-схемах кардинально відрізняються від звичайних багів у смартконтрактах: вони трапляються рідше, проте несуть значно більшу руйнівну силу. Чому? Тому що помилка в ланцюжку прувера нівелює всю математичну гарантію, заради якої взагалі обирався цей підхід. Це означає, що система повинна підтримувати достатню конкуренцію серед солверів, щоб гарантувати справедливе ціноутворення та захистити систему від маніпуляцій із боку користувачів. Нарешті, якщо рішення вимагає змін на рівні базового протоколу блокчейнів, воно стикається з найповільнішим шляхом реалізації — консенсус серед спільноти, специфікація оновлень, розробка, ретельне тестування та фінальне розгортання в мережах, які захищають сотні мільярдів доларів.

Що відбувається з вами, коли міст зазнає зламу

Практичні наслідки для користувачів під час експлойту мосту можна чітко класифікувати, і жоден із них не є суто абстрактним.

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

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

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

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

Останнє, про що слід сказати відверто: платформи та протоколи мають давню звичку применшувати масштаби інцидентів безпеки та приховувати особливості своєї архітектури, поки обставини не змусять їх розкрити правду. Команди мостів замовчували відомі вразливості, називали масштабні збитки «паузою для розслідування» та продовжували роботу, фактично не усунувши фундаментальних передумов, які робили їх доступними для атаки. Було проігноровано публічні попередження про те, що критично низький поріг підписів зберігався впродовж 83 днів, перш ніж прогнозована атака нарешті відбулася. Попри повне спустошення TVL мосту, злам Ronin залишався непоміченим цілих шість днів.

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

Для операторів у мережі TRON, які шукають прозоре ціноутворення без сюрпризів — Netts надає послуги оренди Energy, де вартість Energy оновлюється динамічно залежно від поточного стану мережі TRON. Різниця між низьким тарифом на TRON Energy вночі (мінімум 23 sun нараховується з 01:00 до 11:00 UTC) та максимальними ставками (37 sun стягується з 14:00 до опівночі) означає, що поінформований користувач може значно скоротити витрати на перекази USDT просто за рахунок вибору часу транзакції або попередньої оренди Energy в найвигідніший період — проста оптимізація витрат, яка залежить лише від розуміння деталей. Якщо вам потрібна недорога Energy без регулярної підписки та обов'язкових великих обсягів, Netts працює за моделлю No Subscription, де всі збори вже включені в кінцеву ціну для клієнта.

поділитися X Telegram LinkedIn Reddit

Наступний крок