Ошибка высокой степени серьезности в программном обеспечении Биткойн обнаружена через 2 года после исправления

Ошибка «высокой» серьезности в программном обеспечении Биткойн обнаружена через 2 года после исправления - ошибка Bitcoin CoreОсновная ошибка в программном обеспечении Bitcoin Core, не путать с Биткойн-система, мог позволить злоумышленникам украсть средства, отложить сделки или разделить большую сеть блокчейнов на конфликтующие версии, если бы это не было тайно исправлено два года назад.

Ошибка в коде

В статье, опубликованной в среду Брайдоном Фуллером, инженером по протоколу на сайте криптовалюты Purse, и Джаведом Ханом, старшим разработчиком протокола рукопожатия, говорится, что они обнаружили уязвимость в июне 2018 года.

Ошибке присвоен уровень серьезности 7,8 по шкале от 1 до 10, что считается «высоким» (от 9 и выше считается «критическим»). По словам Хана, проблема была вызвана тем, что «удаленные узлы» не смогли удалить недействительные транзакции из своей памяти.

Неспособность отменить такие транзакции может привести к атаке, которая загружает узел-жертву устаревшими данными, что называется «неконтролируемым потреблением ресурсов», что в конечном итоге приводит к отключению узла, говорится в документе.

Решения уровня 2 (L2), такие как Lightning Network, экспериментальная платежная система, построенная на блокчейне Биткойн, подвергались риску из-за этой ошибки. С другой стороны, полные узлы Биткойна не рисковали потерять средства.

Как пишут Хан и Фуллер, никаких попыток использовать эту проблему обнаружено не было. По словам Фуллера, уязвимость не раскрывалась публично более двух лет, так как операторам узлов требовалось больше времени, чем ожидалось.

Хотя ошибка была исправлена, ее раскрытие подчеркивает трудности построения глобального денежного стандарта на искусственных языках программирования, не говоря уже о высоких технических барьерах при разработке крупнейшей криптовалюты в мире.

Проблема в коде была вставлена ​​в Bitcoin Core в ноябре 2017 года. Согласно документу, около 50% узлов Bitcoin в то время потенциально подвергались атаке. Предыдущие версии Bitcoin Core не сталкивались с подобными проблемами.

Не только Bitcoin Core

Хан сказал, что уязвимость могла позволить злоумышленнику украсть средства с узлов, у которых были открытые каналы на Lightning. Версии 0.16.0 и 0.16.1 Bitcoin Core были проанализированы и исправлены разработчиком Мэттом Коралло после раскрытия информации Фуллером команде Core в июле 2018 года.

Биткойн Core - это эталонная реализация или стандартная версия сетевого программного обеспечения, на котором основаны многие другие. Согласно документу, ошибка также могла быть связана с несколькими другими реализациями Биткойна и его производных:

  • Биткойн-узлы v0.16.0
  • Все бета-версии Bcoin до v1.0.0-pre
  • Все версии Btcd до v0.20.1-beta
  • Лайткоин ядро ​​v0.16.0
  • Ядро Namecoin v0.16.1
  • Все версии Dcrd до v1.5.1.

Все эти реализации исправлены.