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