Исследователи, изучающие инцидент с участием примерно 320 миллионов долларов США в Liquid Network, выявили предполагаемый сбой в кэше проверки транзакций программного обеспечения, что позволяет дать более конкретное объяснение тому, как непокрытые токены могли быть обменены на реальный bitcoin.
Аккаунты также поднимают вопрос развертывания. Mononaut сказал, что эксплуатируемая уязвимость попала в главную ветку разработки Elements на прошлой неделе, но никогда не появлялась в помеченных релизах. По его словам, функционеры федерации Liquid запустили этот код, в то время как другие ноды отклонили недопустимые транзакции.
Этот деплоймент-аккаунт остается не подтвержденным Blockstream в доступных отчетах. Если он будет подтвержден, это поставит развертывание программного обеспечения в центр инцидента, при котором действительные ключи подписи авторизовали выпуск bitcoin против якобы созданного багом L-BTC.
Liquid — это биткоин-сайдчейн, токены L-BTC которого предполагается обеспечивать в соотношении один к одному биткоинами, хранящимися его федерацией. Как ранее сообщало CryptoSlate, SideSwap заявил, что клиент 6 сентября передал через его сервис peg-out 4 000 L-BTC, что спровоцировало выпуск примерно 3 996 BTC.
Liquid заявил, что ключ авторизации вывода SideSwap и другие ключи федерации не были скомпрометированы.
Возникающие технические аккаунты фокусируются на том, как токены достигли этого процесса вывода.
Калле описал уязвимость, связанную с доказательствами диапазона, которые позволяют нодам проверять, что скрытые суммы транзакций находятся в разрешённом диапазоне, не раскрывая эти суммы.
Конфиденциальные транзакции Liquid требуют больше, чем просто проверки баланса входов и выходов. Скрытый отрицательный выход может компенсировать больший положительный выход, создавая видимость математического баланса новых токенов.
Доказательства диапазона предназначены для предотвращения такого исхода. Поскольку проверка их требует больших вычислительных ресурсов, ноды кэшируют успешные результаты проверки для повторного использования.
Согласно аккаунту Калле, атакующий мог создать недопустимый выход и доказательство, совпадающие с ключом кэша, связанным с ранее действительной проверкой. Нода, обнаружившая этот закэшированный результат, пропустила бы проверку, которая должна была отклонить инфляционный выход.
Чарльз Гильеме подтвердил объяснение, описав специально созданную коллизию ключа кэша, которая позволила недопустимой конфиденциальной транзакции обойти проверку диапазона. Калле предупредил, что его аккаунт упростил механизм и может содержать ошибки.
Отдельная реконструкция транзакции Стю выявила транзакции настройки, за которыми следовала якобы недействительная транзакция в блоке Liquid 4 050 336. Стю заявил, что эта транзакция создала примерно 3 996,0183 L-BTC до последующего вывода через SideSwap.
Аккаунт Mononaut разделяет ноды, которые приняли транзакцию, и те, которые не приняли.
Он сказал, что функционеры федерации приняли транзакции эксплойта, одобрили выводы и продолжали строить блоки. Другие ноды, включая те, что обеспечивают работу проводника Liquid от mempool, отклонили затронутый блок. Это объясняет, почему проводник, следующий за отклоняющими нодами, может пропускать транзакции, видимые в других местах.
Заявленное расхождение делает затронутые версии программного обеспечения важными для понимания сбоя. Послеинцидентный анализ должен установить, какие функции кода были выполнены, почему они были развернуты, и как их поведение при проверке отличалось от нод, отклонивших блок.
В то же время лица, контролирующие извлеченный bitcoin, представили себя как whitehats и связали возврат большей части средств с устранением уязвимости на всех затронутых нодах. Доступные отчеты не подтверждают завершенный возврат или развертывание патча.
Восстановление bitcoin позволит устранить дефицит резервов. Объяснение того, почему ноды федерации приняли эти транзакции, и демонстрация того, что исправленное программное обеспечение отклоняет их, позволит устранить сбой, позволивший этим резервам покинуть систему.
Пост Tokens created out of thin air may explain how $320 million in Bitcoin left the Liquid sidechain появился первым на CryptoSlate.

