Хакер украл деньги, так смог ли Суй их ограбить?
Автор: Четырнадцать июня
Это событие является победой капитала, а не пользователей, и это регресс для развития отрасли.
Биткоин слева, Суй справа, и каждый шаг отрасли, который встряхивает децентрализацию, укрепляет веру в биткоин.
Мир нуждается не только в более совершенной глобальной финансовой инфраструктуре, но и в группе людей, которые всегда будут нуждаться в свободе.
Когда-то давно цепочка альянсов была более процветающей, чем публичная цепочка, потому что она отвечала нормативным потребностям той эпохи, а сейчас упадок альянса фактически означает, что он просто соответствует этому спросу, а не потребностям реальных пользователей.
1. Предыстория
события22 мая 2025 года Cetus, крупнейшая децентрализованная биржа (DEX) в экосистеме публичной сети Sui, подверглась хакерской атаке, вызвав резкое падение ликвидности и крах нескольких торговых пар, с убытком более 220 миллионов долларов.
На момент публикации хронология выглядит следующим образом:
- утром 22 мая хакеры атаковали Cetus для арбитража на $230 млн, Cetus срочно приостановил действие контракта и выступил с объявлением
- Во второй половине дня 22 мая хакеры перевели около $60 млн по цепочкам, а оставшиеся $162 млн все еще находились на адресе цепочки Sui, и узел-валидатор Sui быстро принял меры по добавлению адреса хакера в «Список запрещенных». Заморозка средств
- Вечером 22 мая Sui CPO @emanabio написал в Твиттере, чтобы подтвердить: средства заморожены, и возврат начнется в ближайшее время
- 23 мая Cetus начал устранять уязвимость и обновлять контракт
- 24 мая Sui открыл исходный PR, объяснив, что средства будут восстановлены через алиасинг и белый список
- 26 мая Sui запустил голосование по управлению в сети, предложив провести обновление протокола и перевести взломанные активы на адрес условного депонирования
- 29 мая были объявлены результаты голосования, при этом более 2/3 узлов валидатора поддержали вес; Обновление протокола готово к выполнению С
- 30 мая по начало июня обновление протокола вступило в силу, указанный хеш транзакции был выполнен, а активы хакеров были «законно переведены»
2.
Моментально уронил цену торгового пула на
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 + консенсус узла;
- На этапе clawback для обхода черного списка требуется обновление протокола в цепочке + голосование сообщества + выполнение назначенных транзакций.
3. Механизм заморозки SuiВ
цепочке Sui существует специальный механизм Deny List (deniallist), который осуществляет заморозку средств хакеров. В придачу к этому, стандарт токенов Sui также имеет модель «регулируемых токенов» со встроенной функцией заморозки.
Эта экстренная заморозка использует эту функцию: узлы валидатора быстро добавляют адреса, связанные с украденными средствами, в свои локальные конфигурационные файлы. Теоретически каждый оператор узла может самостоятельно модифицировать TransactionDenyConfig для обновления черного списка, но для обеспечения согласованности сети Sui Foundation имеет централизованную координацию в качестве первоначального издателя конфигурации.
Фонд сначала официально выпустил обновление конфигурации, содержащее адрес хакера, и валидатор вступил в действие синхронно согласно стандартной конфигурации, так что средства хакера были временно «запечатаны» на цепочке, которая на самом деле имеет за собой высокую степень централизации,
ичтобы спасти жертву от замороженных средств, команда Sui немедленно запустила патч для механизма белого списка.
Это для последующих переводов обратно средств. Законные транзакции могут быть сконструированы заранее и зарегистрированы в белом списке, даже если адрес фонда все еще находится в черном списке, он может быть принудительно выполнен.
Эта новая функция transaction_allow_list_skip_all_checks позволяет предварительно добавлять определенные транзакции в «Список отказов», что позволяет им пропускать все проверки безопасности, включая подписи, разрешения, черные списки и т. д.
Важно отметить, что патчи из белого списка не крадут хакерские активы напрямую; Это дает возможность обойти заморозку только определенным транзакциям, а перевод реальных активов все равно должен быть выполнен с юридической подписью или дополнительным модулем разрешений системы.
На самом деле, основная схема заморозки в отрасли часто происходит на уровне контракта токена и контролируется эмитентом для мультиподписи.
Если взять в качестве примера USDT, выпущенный Tether, то в его контракт встроена функция черного списка, и компания-эмитент может заморозить адрес нарушителя, чтобы тот не смог перевести USDT. Эта схема требует, чтобы мультиподпись инициировала запрос на замораживание в цепочке, а мультиподпись согласовывается до того, как она фактически выполняется, поэтому возникает задержка выполнения.
Несмотря на то, что механизм заморозки Tether эффективен, статистика показывает, что в процессе мультиподписи часто есть «период окна», что оставляет преступникам возможности для использования.
В отличие от этого, зависание Sui происходит на уровне базового протокола, коллективно управляется узлами валидатора и выполняется гораздо быстрее, чем обычные вызовы контрактов.
В этой модели, чтобы быть достаточно быстрой, это означает, что управление этими узлами валидатора само по себе очень единообразно.
3. Принцип реализации «переработки переводов» Sui
еще более удивителен тем, что Sui не только заморозил активы хакера, но и планировал «перевести и восстановить» украденные средства с помощью ончейн-апгрейдов.
27 мая Cetus предложил сообществу проголосовать за обновление протокола для отправки замороженных средств на кастодиальный кошелек с мультиподписью. Затем Sui Foundation инициировал голосование по управлению в сети.
29 мая были объявлены результаты голосования, и около 90,9% валидаторов поддержали схему. Суи официально объявил, что как только предложение будет одобрено, «все средства, замороженные на двух хакерских счетах, будут возвращены на кошелек с мультиподписью без подписи хакера».
Хакеру не нужно подписываться, а это такая разница, что такого фиксинга в блокчейн-индустрии еще не было.
Как видно из официального PR Sui на GitHub, в протоколе реализован механизм псевдонимизации адресов. Обновление включает в себя предварительное указание правил псевдонимов в ProtocolConfig, чтобы определенные разрешенные транзакции можно было обрабатывать так, как если бы законная подпись была отправлена со взломанной учетной записи.
В частности, хэш-список спасательных транзакций, которые должны быть выполнены, привязан к адресу назначения (т.е. адресу хакера), и любой исполнитель, который подписывает и публикует сводку этих фиксированных транзакций, считается инициировавшим транзакцию в качестве действительного владельца хакерского адреса. Для этих конкретных транзакций система узлов валидатора обходит проверку списка запрещенных файлов.
На уровне кода Суй добавляет следующее суждение к логике проверки транзакций: когда транзакция заблокирована черным списком, система перебирает ее подписанта, чтобы проверить, является ли protocol_config.is_tx_allowed_via_aliasing(sender, signer, tx_digest) истинным.
До тех пор, пока подписант удовлетворяет правилу псевдонима, то есть транзакция разрешена, предыдущая ошибка перехвата игнорируется, и обычное выполнение пакета продолжается.
4.
160 миллионов просмотров, разрывающих на части глубочайшее основополагающее убеждение индустрии
Инцидент с Cetus, с личной точки зрения автора, это может быть буря скоро пройдет, но эта модель не будет забыта, потому что она ниспровергла основу отрасли, а также нарушила традиционный консенсус о том, что блокчейн не может быть подделан под одним и тем же набором реестров.
В блокчейн-дизайне контракт — это закон, а код — судья.
Но в этом случае код дал сбой, вмешалось управление, и власть взяла верх над шаблоном, сформировав шаблон поведения при голосовании, оценивающем результаты кода.
Это связано с тем, что прямое присвоение транзакций Суи сильно отличается от работы с хакерами в основных блокчейнах.
Это не первый случай, когда консенсус был подделан, но он самый тихий в
истории:
- инцидент с Ethereum 2016 The DAO использовал хардфорк для отката перевода, чтобы компенсировать потери, но это решение привело к расколу двух цепочек, Ethereum и Ethereum Classic, процесс очень спорный, но в конце концов разные группы сформировали разные консенсусные убеждения.
- Биткоин-сообщество столкнулось с аналогичными техническими проблемами: в 2010 году разработчики срочно исправили уязвимость, связанную с побочным эффектом стоимости, а правила консенсуса были обновлены, что полностью уничтожило около 18,4 миллиарда незаконно сгенерированных биткоинов.
Это та же модель хардфорка, которая откатывает реестр к тому уровню, в котором он был до возникновения проблемы, а затем пользователь все еще может решить, какую систему реестра продолжать использовать в случае проблемы.
По сравнению с хардфорком DAO, Sui не стал разделять цепочку, а точно нацелился на это событие, обновив протокол и настроив псевдонимы. При этом Суй поддерживает непрерывность цепочки и большинство правил консенсуса, а также показывает, что базовый протокол может быть использован для реализации целевых «спасательных операций».
Проблема в том, что исторически сложилось так, что «разветвленный откат» — это выбор веры пользователя; «Коррекция протокола» Суи заключается в том, что цепочка принимает решение за вас.
Не ваш ключ, не ваша монета? Боюсь, что уже нет
В долгосрочной перспективе это означает, что в цепочке Sui демонтируется идея «не ваши ключи, не ваши монеты»: даже если приватный ключ пользователя не поврежден, сеть все равно может заблокировать поток активов и перенаправить их через изменения в коллективном договоре.
Если это станет прецедентом для реагирования блокчейна на масштабные инциденты безопасности в будущем, это даже будет считаться практикой, которой можно будет следовать снова.
«Когда сеть может нарушать правила ради справедливости, у нее есть прецедент нарушения любых правил».
Как только происходит успех «захвата денег на общественное благосостояние», в следующий раз это может быть операция в «моральной двусмысленности».
Так что же происходит?
Хакер действительно украл деньги пользователя, так может ли голосование толпы отнять у него деньги?
Голосуйте на основе того, на чьих деньгах больше (pos) или больше людей? Если победит тот, у кого больше денег, то скоро придет конечный продюсер Лю Цысиня, а если победит тот, у кого больше людей, то групповой сброд также будет шумным.
В рамках традиционной системы вполне нормально, когда незаконные доходы остаются незащищенными, а замораживание и перевод являются обычными операциями традиционных банков.
Но то, что это невозможно сделать технически, не является корнем развития блокчейн-индустрии.
Сейчас палка отраслевого комплаенса продолжает бродить, сегодня вы можете заморозить для хакеров и изменить баланс счета, а завтра вы можете сделать произвольные модификации под географические факторы и противоречивые факторы. Если цепочка становится частью регионального инструмента.
Стоимость этой отрасли сильно снизилась, и в лучшем случае это более сложная финансовая система.
Это также причина, по которой автор твердо привержен отрасли: «Блокчейн ценен не потому, что его нельзя заморозить, а потому, что даже если вы его ненавидите, он не изменится для вас».
Регуляторные тренды, сможет ли сеть сохранить свою душу?
Когда-то давно цепочка альянсов была более процветающей, чем публичная цепочка, потому что она отвечала нормативным потребностям той эпохи, а сейчас упадок альянса фактически означает, что он просто соответствует этому спросу, а не потребностям реальных пользователей.
Является
ли эффективная централизация необходимым этапом для развития блокчейна с точки зрения развития отрасли? Если конечная цель децентрализации заключается в защите интересов пользователей, можем ли мы мириться с централизацией как средством перехода?
Слово «демократия» в контексте ончейн-управления на самом деле имеет вес токенов. Итак, если хакер владеет большим количеством SUI (или в один прекрасный день DAO будет взломана, и хакер будет контролировать голоса), может ли он также «законно проголосовать за отмывание себя»?
В конце концов, ценность блокчейна заключается не в том, можно ли его заморозить, а в том, решит ли группа не делать этого, даже если у нее есть возможность заморозить.
Будущее цепи определяется не технической архитектурой, а набором убеждений, которые она предпочитает защищать.