320 миллионов долларов в биткоинах исчезли. Взлома не было
0xUnstuck
0:00 / 0:00
320 миллионов долларов в биткоинах исчезли. Взлома не было
33 просмотра · 6 дней назад
0xUnstuck
76 подписчиков
33 просмотра · 6 дней назад
Сеть Liquid Network потеряла 320 миллионов долларов 6 сентября 2025 года из-за сбоя механизма кэширования, обошедшего стандартные средства защиты.
Этот инцидент наглядно демонстрирует, как оптимизация, предназначенная для повышения производительности, может создать критическую уязвимость программного обеспечения. Атака не основывалась на взломе криптографии или краже ключей; вместо этого она манипулировала системой, чтобы получить правильный ответ на некорректную транзакцию. Исправление этой проблемы уже было включено в основную ветку за пять дней до атаки, но так и не было выпущено в продакшн, оставив сеть уязвимой.
Мы анализируем хронологию этого сбоя Liquid Network и обсуждаем, почему использование невыпущенных изменений кода является опасным пробелом в стратегии развертывания. Понимание того, как эта уязвимость обошла существующие средства защиты, имеет важное значение для всех, кто отслеживает безопасность протокола в средах с высокой ценностью. В конце вы увидите, как незначительные архитектурные решения в области безопасности блокчейна могут привести к огромным потерям, даже если базовая логика технически верна.
Подписывайтесь на еженедельные обзоры безопасности и оставляйте комментарии ниже, если считаете, что отрасли необходимы более строгие протоколы выпуска критически важных исправлений.
6 сентября кто-то вывел из сети Liquid около **320 миллионов долларов**, не нарушив криптографию, не украв ключи и не обнаружив ошибок в вычислениях.
Они обнаружили кэш. Обычная оптимизация производительности — такая есть почти в каждом серьёзном коде — которой был задан вопрос, и она дала правильный ответ на неправильную транзакцию.
Мы разобрали его с нуля: что такое кэш (записка на двери с надписью «это уже проверено» — и эта надпись несёт всю ответственность), что проверялось (доказательство диапазона: математическое подтверждение того, что скрытая сумма является корректной, без её раскрытия — как доказательство того, что вам 18+, без указания даты рождения), и почему проверка не удалась — что вообще не имеет никакого отношения к криптографии.
Проверка доказательства диапазона — дорогостоящий процесс, поэтому Elements кэшировал результат. Но поиск выполнялся до криптографии, а это значит, что попадание в кэш полностью пропускало проверку, а не подтверждало её. Ключ кэша был создан путем склеивания четырех полей переменной длины без разделителей — таким образом, ничего не записывало, где заканчивается одно поле и начинается следующее.
Перемещение на 67 байт за эту границу приводит к тому, что две совершенно разные транзакции создают идентичный по байтам ключ длиной 4301 байт. Вы можете воспроизвести коллизию на своей машине менее чем за секунду; скрипт находится в репозитории и ничего не требует установки.
Никто не был взломан. Ни один ключ федерации не был скомпрометирован. Фиксация работала точно так, как было задумано. Каждый компонент вел себя корректно — ложь была внесена в единственном месте, которое никто не проверял.
А исправление, четыре байта длины на поле, находилось в основной ветке уже пять дней.
⏱️ Разделы
00:00 320 миллионов долларов, и ни одна криптография не была взломана
00:45 Что было на кону — привязка Liquid
01:50 ⭐ Во-первых: что такое кэш на самом деле
03:16 ⭐ Что проверялось — доказательство диапазона
04:50 Строка, которая отвечает до проверки
06:02 ⭐ Метка, простыми словами
07:16 Две транзакции, один ключ — воспроизведено
08:36 Тридцать шесть минут
10:00 Никто не был взломан
11:04 Исправление занимает 4 байта — и оно было выпущено на 5 дней позже
12:14 Та же форма, уже четыре раза
13:15 Всё в пяти строках
14:10 Поддержите канал
14:28 Остальная часть шаблона
🧰 Концепции: конфиденциальные транзакции и доказательства диапазона · кэши проверки · неоднозначная конкатенация / канонический кодирование · префикс длины · сайдчейны Bitcoin и привязка · secp256k1 · задержка между патчем и релизом
🔗 Воспроизведение коллизии: https://github.com/nikshev/unstuck/tr...
🔗 rekt.news — Liquid Network: https://rekt.news/liquid-network-rekt
#Bitcoin #LiquidNetwork #Blockstream #cryptosecurity #infosec #sidechain #cryptonews #web3security #appsec #onchain
Источники / доказательства
rekt.news/liquid-network-rekt — механизм, построение ключа кэша, детали 67-байт / 4301-байт
CertiK forensic reconstruction, 7 сентября 2026 г. — «неоднозначное кодирование ключа кэша в rangeproof» кэш проверки»
Отчет об инциденте в сети Liquid Network (8 сентября, 19:10 UTC) · crypto.news · CryptoSlate · TechTimes · KuCoin
Elements v23.3.4 — «защищенные ключи кэша с защитой от перебора диапазонов»; Исправление объединено с основной веткой примерно 1 сентября, релиз с меткой не будет развернут до 6 сентября
☕ Поддержка:
SOL 3bQPvjmVr2hXdZuzByxmoo3kwkjUwTdnerUUDYUweF2K
ETH 0xf96102f5f500f1E51E3A1e9B576977fB2EaC83E5
USDT (Tron) TXA9qxr9yZjV3yEPiN9gGYzV6agfCUbizj
Ko-fi https://ko-fi.com/0xunstuck
🔔 Подписаться: / @0xunstuck .