Автор: Чотирнадцять Чер
Ця подія – перемога капіталу, а не користувачів, і це регрес для розвитку галузі.
Біткоїн ліворуч, Sui – праворуч, і кожен крок у галузі, який розхитує децентралізацію, призводить до сильнішої віри в біткоїн.
Світу потрібна не просто краща глобальна фінансова інфраструктура, а група людей, яким завжди потрібна буде свобода.
Колись ланцюжок альянсів був більш процвітаючим, ніж публічний, тому що відповідав нормативним потребам тієї епохи, а зараз занепад альянсу фактично означає, що він просто виконує цю вимогу, а не потреби реальних користувачів.
1. Передісторія заходу
22 травня 2025 року Cetus, найбільша децентралізована біржа (DEX) в екосистемі публічного ланцюга Sui, зазнала атаки хакерів, що спричинило різке падіння ліквідності та крах кількох торгових пар, що призвело до збитків у розмірі понад $220 млн.
Станом на час публікації графік виглядає наступним чином:
Вранці 22 травня хакери атакували Cetus, щоб витягнути $230 млн, і Cetus терміново призупинив контракт і опублікував оголошення
У другій половині дня 22 травня хакер переказав близько $60 млн по всьому ланцюжку, а решта $162 мільйони все ще перебували на ончейн-адресі Sui, і вузол валідатора Sui швидко вжив заходів, щоб додати адресу хакера до «Списку заборонених» і заморозити кошти
Увечері 22 травня @emanabio Sui CPO написав у Twitter, що кошти заморожені, і незабаром почнеться повернення
23 травня Cetus приступив до виправлення вразливостей та оновлення контрактів
24 травня Sui опублікувала PR-код, пояснивши, що збирається переробити кошти за допомогою псевдонімів і білого списку
26 травня Sui ініціювала голосування в управлінні ланцюгом, пропонуючи, чи виконувати оновлення протоколу та переносити зламані активи на адресу умовного зберігання (ескроу)
29 травня були оголошені результати голосування, і понад 2/3 вузлів-валідаторів були зважені на підтримку; Оновлення протоколу готове до виконання
З 30 травня до початку червня набув чинності апгрейд протоколу, зазначений хеш транзакції був виконаний, а зламані активи були «законно передані»
2. Принцип атаки
Принцип подій пов'язаний між собою, і в галузі було багато заяв, тому ось лише огляд основних принципів:
З точки зору потоку атак:
Спочатку зловмисник скористався швидким кредитом для надання кредиту близько 10 024 321,28 га SUI, що миттєво знизило ціну торгового пулу
99.90%。 Цей величезний ордер на продаж знизив ціну цільового пулу приблизно з 1,8956×10^19 до 1,8425×10^19, майже досягнувши дна.
Згодом зловмисник створює позицію ліквідності на Cetus з надзвичайно вузьким діапазоном (нижня межа Тік 300000, верхня межа 300200 і ширина інтервалу всього 1,00496621%). Такий вузький інтервал посилює вплив подальших помилок розрахунків на кількість необхідних токенів.
Основний принцип атаки:
У функції get_delta_a є вразливість цілочисельного переповнення, яку Cetus використовує для розрахунку необхідної кількості токенів. Зловмисник навмисно заявив, що хотів додати величезну кількість ліквідності (близько 10^37 одиниць), але насправді вклав у контракт лише 1 токен.
Через неправильну умову виявлення переповнення checked_shlw контракт був урізаний на високому рівні під час розрахунку зі зміщенням вліво, що призвело до серйозного заниження необхідної кількості haSUI, таким чином обмінявши величезну кількість ліквідності за дуже невелику вартість.
Технічно вищезазначена вразливість пов'язана з тим, що Cetus використовує неправильні маски та умови судження в смарт-контракті Move, в результаті чого будь-яке значення менше 0xffffffffffffffff << 192 може обійти виявлення; Після переміщення на 64 біта вліво високорівневі дані обрізаються, і система стягує лише дуже невелику кількість токенів, щоб врахувати, що вона набрала багато ліквідності.
Після інциденту було проведено 2 офіційні операції: «Заморожування» vs «Відновлення», що складається з двох фаз:
Фаза заморожування завершується консенсусом вузлів Deny List +;
На етапі зворотного зв'язку для обходу чорного списку потрібне оновлення протоколу в ланцюжку + голосування спільноти + виконання визначеної транзакції.
3. Механізм заморожування Sui
У самому ланцюжку Sui є спеціальний механізм Deny List, який реалізує заморожування хакерських коштів. Мало того, стандарт токенів Sui також має модель «регульованого токена» з вбудованою функцією заморожування.
Це екстрене заморожування використовує цю функцію: вузли-валідатори швидко додають адреси, пов'язані з вкраденими коштами, у свої локальні файли конфігурації. Теоретично, кожен оператор вузла може самостійно модифікувати TransactionDenyConfig, щоб оновити чорний список, але для забезпечення стабільності мережі Sui Foundation має централізовану координацію як видавець оригінальної конфігурації.
Фонд спочатку офіційно випустив оновлення конфігурації, що містить адресу хакера, і валідатор вступив в силу синхронно відповідно до конфігурації за замовчуванням, так що кошти хакера були тимчасово «запечатані» в ланцюжку, за яким насправді стоїть високий ступінь централізації
Для того, щоб врятувати потерпілих із заморожених коштів, команда Sui негайно запустила патч для механізму Whitelist.
Це для подальших переказів назад коштів. Законні транзакції можуть бути побудовані заздалегідь і зареєстровані в білому списку, навіть якщо адреса фонду все ще знаходиться в чорному списку, це може бути примусово застосовано.
Ця нова функція transaction_allow_list_skip_all_checks дозволяє попередньо додавати конкретні транзакції до «контрольного списку», дозволяючи їм пропустити всі перевірки безпеки, включаючи підписи, дозволи, чорні списки тощо.
Важливо зазначити, що виправлення білого списку безпосередньо не крадуть активи хакерів; Він лише дає можливість певним транзакціям обійти заморожування, а передача реальних активів все одно повинна здійснюватися з юридичним підписом або додатковим модулем дозволу системи.
Насправді, основна схема заморожування в галузі часто відбувається на рівні контракту токенів і контролюється емітентом для мультипідпису.
Візьмемо для прикладу USDT, випущений Tether, його контракт має вбудовану функцію чорного списку, і компанія-емітент може заморозити адресу-порушника, щоб не змогла перевести USDT. Ця схема вимагає, щоб мультипідпис ініціював запит на заморожування в ланцюжку, і мультипідпис узгоджується до того, як він фактично виконаний, тому виникає затримка виконання.
Незважаючи на те, що механізм заморожування Tether ефективний, статистика показує, що в процесі мультипідпису часто настає «період вікна», залишаючи можливості для злочинців, якими вони можуть скористатися.
На противагу цьому, зависання Sui відбувається на рівні базового протоколу, колективно керується вузлами-валідаторами та виконується набагато швидше, ніж звичайні виклики контрактів.
У цій моделі, щоб бути досить швидким, це означає, що управління самими вузлами валідатора є дуже одноманітним.
3. Принцип реалізації Sui «transfer recycling»
Що ще більш дивно, так це те, що Sui не тільки заморозила активи хакера, але й планувала «перевести та повернути» вкрадені кошти за допомогою оновлень у мережі.
27 травня Cetus запропонував провести голосування спільноти за оновлення протоколу, щоб надсилати заморожені кошти на кастодіальний гаманець з мультипідписом. Потім Sui Foundation ініціював голосування щодо управління в мережі.
29 травня були оголошені результати голосування, і близько 90,9% валідаторів підтримали схему. Sui офіційно оголосила, що як тільки пропозиція буде схвалена, «всі кошти, заморожені на двох хакерських рахунках, будуть відновлені на гаманець з мультипідписом без підпису хакера».
Для підписання хакеру не потрібно, що є настільки великою різницею, що такого виправлення в блокчейн-індустрії ще не було.
Як видно з офіційного GitHub PR Sui, протокол вводить механізм псевдоніма адрес. Оновлення включає попереднє визначення правил псевдоніма в ProtocolConfig, щоб певні дозволені транзакції можна було розглядати так, ніби законний підпис було надіслано зі зламаного облікового запису.
Зокрема, хеш-лист аварійних транзакцій, які мають бути виконані, прив'язаний до адреси призначення (тобто адреси хакера), і будь-який виконавець, який підписує та публікує підсумок цих фіксованих транзакцій, вважається ініціатором транзакції як дійсний власник хакерської адреси. Для цих конкретних транзакцій система вузла валідатора обходить перевірку «Список заборонених».
На рівні коду Sui додає наступне судження до логіки перевірки транзакції: коли транзакція блокується чорним списком, система перебирає свого підписувача, щоб перевірити, чи відповідає protocol_config.is_tx_allowed_via_aliasing(відправник, підписувач, tx_digest).
До тих пір, поки підписант задовольняє правилу псевдоніма, тобто транзакцію дозволено пройти, попередня помилка перехоплення ігнорується і триває нормальне виконання пакета.
4. Точка зору
160 мільйонів, розрив на частини є найглибшим переконанням, що лежить в основі галузі
З особистої точки зору автора, це може бути буря, яка скоро пройде, але ця модель не буде забута, тому що вона підриває фундамент індустрії і ламає традиційний консенсус про те, що блокчейн не може бути підроблений під одним і тим же набором бухгалтерських книг.
У дизайні блокчейну контракт – це закон, а код – суддя.
Але в цьому випадку кодекс зазнав невдачі, втрутилося управління, і влада перекреслила шаблон, сформувавши модель поведінки виборців, що визначають результати кодексу.
Це пов'язано з тим, що пряме привласнення транзакцій Sui сильно відрізняється від поводження з хакерами в основних блокчейнах.
Це не перший випадок, коли консенсус підробляють, але він був найбільш тихим
Історично:
Інцидент з DAO Ethereum у 2016 році використовував хардфорк для відкату переказів для покриття збитків, але це рішення призвело до розколу між Ethereum і Ethereum Classic, що було суперечливим, але в кінцевому підсумку різні групи сформували різні консенсусні переконання.
Біткойн-спільнота зіткнулася з подібними технічними проблемами: уразливість переливу вартості в 2010 році була терміново усунена розробниками, а правила консенсусу були оновлені, повністю стерши близько 18,4 мільярда незаконно згенерованих біткойнів.
Це та сама модель хардфорка, яка відкочує реєстр до точки, де він був до проблеми, і тоді користувач все ще може вирішити, яку систему реєстру продовжувати використовувати в рамках цієї проблеми.
У порівнянні з хардфорком DAO, Sui не вирішив розділити ланцюг, а точно націлився на цю подію, оновивши протокол і налаштувавши псевдоніми. Роблячи це, Sui підтримує безперервність ланцюжка та більшість правил консенсусу, але також показує, що базовий протокол може бути використаний для реалізації цілеспрямованих «рятувальних операцій».
Проблема в тому, що історично склалося так, що «роздвоєний відкат» – це вибір віри користувача; «Корекція протоколу» Sui полягає в тому, що ланцюг приймає рішення за вас.
Не твій ключ, не твоя монета? Боюся, що вже ні.
У довгостроковій перспективі це означає, що ідея «не ваші ключі, не ваші монети» демонтується в ланцюжку Sui: навіть якщо приватний ключ користувача цілий, мережа все одно може заблокувати потік активів і перенаправити їх через зміни колективного договору.
Якщо це стане прецедентом для реагування блокчейну на масштабні інциденти безпеки в майбутньому, це навіть вважається практикою, яку можна повторити знову.
«Коли ланцюг може порушувати правила заради справедливості, він має прецедент порушення будь-яких правил».
Як тільки буде досягнутий успіх «захоплення грошей на користь суспільного забезпечення», наступного разу це може бути операція в умовах «моральної двозначності».
Так що ж відбувається?
Хакер дійсно вкрав гроші користувача, тож чи може голосування натовпу вкрасти у нього гроші?
Голосуйте на основі того, чиїх грошей більше (pos) чи більше людей? Якщо виграє той, у кого більше грошей, то скоро прийде кінцевий продюсер Лю Цисіня, а якщо переможе той, у кого більше людей, то груповий набрід теж буде гучним.
У традиційній системі цілком нормально, що незаконні прибутки залишаються незахищеними, а заморожування та переказ коштів є рутинними операціями традиційних банків.
Але той факт, що це неможливо зробити технічно, не є коренем розвитку блокчейн-індустрії.
Зараз палиця галузевого комплаєнсу продовжує бродити, сьогодні можна заморозити для хакерів і змінити баланс рахунку, а завтра можна зробити довільні модифікації за географічними факторами і суперечливими факторами. Якщо ланцюжок стає частиною регіонального інструменту.
Цінність цієї галузі сильно знизилася, і в кращому випадку це більш складна фінансова система.
Це також є причиною, чому автор твердо відданий галузі: «Блокчейн цінний не тому, що його не можна заморозити, а тому, що навіть якщо ви його ненавидите, він не зміниться для вас».
Регуляторні тренди, чи може мережа зберегти свою душу?
Колись ланцюжок альянсів був більш процвітаючим, ніж публічний, тому що відповідав нормативним потребам тієї епохи, а зараз занепад альянсу фактично означає, що він просто виконує цю вимогу, а не потреби реальних користувачів.
З точки зору розвитку галузі
Ефективна централізація, чи є вона необхідним етапом у розвитку блокчейну? Якщо кінцевою метою децентралізації є захист інтересів користувачів, чи можемо ми терпіти централізацію як засіб переходу?
Слово «демократія» в контексті управління в ланцюжку насправді є зваженим за токенами. Отже, якщо хакер володіє великою кількістю SUI (або одного разу DAO зламають, і хакер контролює голоси), чи може він також «законно голосувати, щоб відмити себе»?
Зрештою, цінність блокчейну полягає не в тому, чи можна його заморозити, а в тому, чи вирішить група не робити цього, навіть якщо у нього є можливість заморозити.
Майбутнє ланцюга визначається не технічною архітектурою, а набором переконань, які він вирішив захищати.
Показати оригінал