Из федеративного кошелька сайдчейна Liquid, запущенного компанией Blockstream в 2018 году, 6 сентября ушли около 4 000 BTC — примерно 320 млн долларов по курсу того дня. В кошельке осталось около 197 BTC из 4 200. Через сутки большая часть средств вернулась: атакующий отдал 3 400 BTC после того, как разработчики закрыли уязвимость, и оставил себе 598,5 BTC — около 47,3 млн долларов.
Коротко
Ключи федерации не крали. Ошибка сидела в самом протоколе: кэш проверки диапазонных доказательств в клиенте Elements позволил создать L-BTC, которых не существовало, а затем вывести их через штатный peg-out уже настоящими биткоинами. Blockstream отключил и пропатчил узлы моста, после чего атакующий вернул 85% суммы, удержав остальное как самоназначенное вознаграждение.
Что именно произошло
Liquid — сайдчейн биткоина: пользователь блокирует BTC в основной сети и получает эквивалент L-BTC внутри Liquid, где переводы быстрее и конфиденциальнее. Обратный обмен идёт через peg-out — сжигание L-BTC и выдачу биткоинов из общего федеративного кошелька, которым распоряжается набор независимых функционеров по схеме мультиподписи.
6 сентября из этого кошелька последовательно ушли почти все монеты. Оператор сети подтвердил вывод публично на следующий день, узлы моста были остановлены. Общение с атакующим шло двумя каналами: сообщениями в OP_RETURN биткоин-транзакций и PGP-шифрованным текстом.
В чём была ошибка
Liquid работает на конфиденциальных транзакциях: суммы скрыты, а корректность подтверждается диапазонными доказательствами — криптографической конструкцией, которая гарантирует, что спрятанное число неотрицательно и не переполняет диапазон. Ради скорости результаты проверки кэшируются. Именно в этом кэше и оказался просчёт: система приняла как настоящие L-BTC, созданные из воздуха.
Дальше сработала обычная логика сети. Для peg-out узлам всё равно, откуда взялся L-BTC, — сжигание есть, значит, положены биткоины. Так ошибка в учёте внутри сайдчейна превратилась в реальный вывод BTC из общего кошелька.
Цифры инцидента
| Показатель | Значение |
|---|---|
| Выведено | ≈ 4 000 BTC (≈ 320 млн $) |
| Было в федеративном кошельке | ≈ 4 200 BTC |
| Осталось после вывода | ≈ 197 BTC |
| Возвращено | 3 400 BTC |
| Удержано атакующим | 598,5 BTC (≈ 47,3 млн $) |
| Условие возврата | Патч Elements и обновление всех узлов |
Почему деньги вернули
Атакующий с самого начала представился «белым» хакером и выдвинул одно условие: сначала исправить ошибку и обновить все узлы, иначе возвращённые монеты уведут повторно тем же способом. Blockstream подтвердил подписанным сообщением, что узлы моста пропатчены и средства можно отдавать. После этого вернулись 3 400 BTC.
Оставленные 598,5 BTC — это примерно 15% суммы. Формально это не согласованное вознаграждение за найденную уязвимость, а удержание в одностороннем порядке: программы поощрения такого размера у проекта нет.
Что это значит для сайдчейнов
Обычно риск сайдчейна описывают как риск хранения — так же, как в разборе взломов кросс-чейн мостов: ключи от общего кошелька у группы участников, договорятся или не договорятся. Здесь ключи остались на месте, а деньги ушли — потому что уязвимость была не в хранении, а в правилах учёта. Федерация из независимых функционеров такую ошибку не ловит: узлы честно исполняли протокол, просто протокол считал неправильно.
Отсюда практический вывод для тех, кто держит активы в обёртках и сайдчейнах: набор подписантов и их репутация — только половина картины. Вторая половина — код, который решает, сколько единиц вообще существует. Инфляционный баг в такой системе конвертируется в реальный вывод из общего резерва за одну транзакцию.
Частые вопросы
Пострадали ли биткоины в основной сети
Нет. Протокол биткоина не затронут, ошибка была в клиенте Elements, на котором работает сайдчейн Liquid. Вывод шёл из общего федеративного кошелька сайдчейна.
Сколько денег в итоге потеряно
598,5 BTC — около 47,3 млн долларов. Остальные 3 400 BTC вернулись после исправления уязвимости.
Почему это называют «белым» взломом
Атакующий сразу заявил о намерении вернуть средства и выполнил обещание после патча. При этом он удержал часть суммы без согласования, поэтому чистым «белым» случай назвать сложно.
Что такое peg-out
Обратный обмен: пользователь сжигает L-BTC внутри Liquid и получает биткоины из общего кошелька сети. Именно через этот механизм несуществующие L-BTC стали настоящими BTC.
Можно ли пользоваться Liquid сейчас
Узлы моста были остановлены на время инцидента и пропатчены. Текущее состояние сети стоит проверять в официальных каналах оператора, а не по сводкам.
Обсуждение
Добавить комментарий