Liquid Sidechain приостановлен после вывода 3,998 BTC из кошелька федерации в рамках предполагаемого white-hat-вывода
Ключевые выводы
- •Почти весь bitcoin, обеспечивавший L-BTC, — около 3,998 BTC на сумму примерно $320 million — покинул кошелек федерации Liquid, оставив там только 197.47 BTC.
- •Liquid заявил, что средства были выведены через SideSwap Peg-out Authorization Key и что ключи не были скомпрометированы, но не объяснил, как вывод обошел документированный путь авторизации.
- •Сеть отключила bridge nodes, попросила биржи остановить депозиты и выводы L-BTC и заявила, что активы вроде USDT и DePix, выпущенные на Liquid, не затронуты.
- •Получатель назвал себя white hats в onchain-сообщении, а Blockstream ответил onchain с просьбой связаться по адресу security@blockstream.com.
- •Peg wallet использует схему multisig 11-of-15, а запланированный Blockstream bridge в стиле BitVM 1-of-n, предназначенный для снижения доверия к федерации, на момент инцидента еще не был запущен.

Liquid Sidechain приостановлен после вывода 3,998 BTC из кошелька федерации в рамках предполагаемого white-hat-вывода
Сайдчейн Blockstream Liquid был приостановлен после того, как в воскресенье почти все bitcoin, находившиеся в его кошельке федерации, были выведены, а получатель идентифицировал себя onchain как white hats. Потери, составляющие примерно $320 million, относятся к числу крупнейших единичных инцидентов с участием bridge, связанного с bitcoin, — категории кроссчейн-инфраструктуры, которая неоднократно становилась целью одних из самых дорогостоящих взломов в криптоиндустрии.
По словам Liquid, средства ушли через работающий ключ авторизации, а не через украденный, что оставляет маршрут входа в peg без объяснения. Кошелек, обеспечивающий каждый L-BTC в обращении, теперь хранит 197.47 BTC.
Перемещение произошло в двух транзакциях. Первая, подтвержденная в block 965780 в 14:01 UTC, отправила 2.5 BTC. Вторая, 27 минут спустя, отправила 3,995.99999857 BTC. Обе поступили на bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte, который теперь хранит 3,998.49748445 BTC — около $319.5 million по цене bitcoin $79,901, согласно CoinGecko. За день bitcoin вырос на 0.10%.
Мы — whitehats
Через четыре часа после второго вывода адрес консолидировал средства в один output и добавил сообщение в поле OP_RETURN: "we are whitehats. contact us on chain." Та же транзакция отправила 1,000 satoshis обратно в кошелек федерации, который только что был опустошен.
Blockstream ответил onchain час спустя, отправив 1,000 satoshis на этот адрес с сообщением "Please contact security@blockstream.com."
Liquid опубликовал свою версию инцидента в 4:25 p.m. ET. "Предположительно white-hat хакеры вывели 4,000 BTC ($320 million) из Liquid Federation wallet," — написала сеть. "Насколько мы знаем на данный момент, средства были выведены через SideSwap PAK (Peg-out Authorization Key), но этот ключ не был скомпрометирован, как и никакие другие."
Bridge nodes были отключены, чтобы новые транзакции нельзя было отправлять; биржам было рекомендовано приостановить депозиты и выводы L-BTC; USDT, DePix и другие активы, выпущенные на Liquid, не затронуты, заявила сеть. "Liquid wallets will be impacted, and we’re sorry for any inconvenience," — написала она. Уязвимость сеть не описала.
Три дня на изменение
Согласно spending script в транзакциях вывода, peg wallet — это 11-of-15 multisig, а peg-out дополнительно ограничиваются списком PAK. Bitcoin может уйти только на адрес, контролируемый авторизованным пользователем, и, согласно документации Liquid, "it takes three days to update the PAK list. This allows the network to detect an attacker that is able to compromise a set of functionaries before the attacker is able to make a withdrawal to their own wallet."
SideSwap, чей ключ был использован, — это участник федерации, выполняющий peg-outs от имени пользователей Liquid.
По данным peg accounting обозревателя, L-BTC принял 18,356.88 BTC в виде peg-ins против 18,149.60 BTC peg-outs и 10.03 BTC burned, оставив около 197.25 BTC в обращении при том, что в кошельке все еще находится 197.47 BTC. Поскольку транзакции Liquid по умолчанию конфиденциальны, эти итоги не позволяют исключить L-BTC, созданные вне peg.
Появляется номер Signal
Через два часа после первого сообщения третья транзакция отправила 69,093 satoshis на тот же адрес с текстом "Please contact us on Signal @m671aw.70."
Samson Mow, генеральный директор JAN3 и бывший chief strategy officer Blockstream, написал в ответ на обсуждение инцидента, что "the request for Signal did not come from the same address." Данные onchain подтверждают его слова: сообщение было отправлено на адрес, который держал средства, а не с него.
Charles Guillemet, chief technology officer в Ledger, ранее в той же ветке написал, что такое поведение не соответствует responsible disclosure. "White hats don't drain a bridge and then solicit an 'on-chain' contact," — написал он, сравнив инцидент с атакой на Ronin bridge. После появления сообщения Signal он допустил и другую интерпретацию. "It doesn't look like usual white hats practices, but usual criminal orgs don't usually try to contact their victims either," — написал он. "There's hope. This could be people with good intentions that intensively played with recent LLMs and are not used to responsible disclosures."
Bridge, который Blockstream хотел заменить
Генеральный директор Blockstream Adam Back на момент публикации публично не комментировал ситуацию, и аккаунт Liquid не публиковал ничего после своего заявления.
В мае Blockstream опубликовал roadmap Liquid, в который была включена работа над "BitVM-style 1-of-n bridge", призванным уменьшить доверие к группе functionaries. Этот дизайн пока не запущен. Воскресный вывод прошел через federated peg, который он должен был заменить.
Liquid был запущен в 2018 году как settlement layer для бирж и трейдеров, а затем был развит в smart-contract chain для bitcoin, в последнее время — с Simplicity. Это вторая за две недели bitcoin-adjacent сеть, которая остановилась вместо продолжения работы через проблему безопасности, после того как maintainers Core Lightning 26 Aug. попросили node operators отключиться без публикации патча.