- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Мошеннические транзакции парализуют обычных пользователей программного обеспечения Bitcoin
Ошибка разработчика Bitcoin кошелька помешала пользователям перезапустить программное обеспечение Bitcoin клиента на этой неделе.

На этой неделе начались сбои в работе нескольких версий Bitcoin клиента после того, как мошенническая транзакция помешала пользователям перезапустить программное обеспечение.
Проблемы впервые проявились рано утром в понедельник по американскому времени, когдасообщение на форуме Bitcoin Talk.
«Только что открыл свой ноутбук, запустил Bitcoin QT и получил сообщение о повреждении блокчейна. Я нажал «ОК», и теперь там написано «Переиндексация блоков — 204 недели», — написал автор поста. «Кроме того, мои биткоины не подтверждены. Что случилось, почему появилось сообщение?»
Другие быстро сообщили об этой же ошибке на нескольких компьютерах, на которых запущены разные версии Bitcoin-QT, стандартной версии клиента Bitcoin с графическим пользовательским интерфейсом (GUI). Переиндексация блоков с использованием клиента Bitcoin не решила проблему. Та же проблема затронула Bitcoind, версию клиента без графического пользовательского интерфейса.
Проблема возникла из-за ошибки, изначально появившейся в версии 0.8.0 Bitcoin клиента, которая была впервые выпущенв феврале. Эта версия была основным релизом, который переключил базу данных, используемую для хранения цепочки блоков, с Berkeley DB на LevelDB, чтобы решить проблему безопасности.
«Это ошибка в нашем коде, который проверяет несоответствия базы данных LevelDB, появившиеся, когда мы перешли на хранилище LevelDB в версии 0.8.0, в сочетании с ошибкой, которая проверяет номер версии в транзакциях», — сказал Гэвин Андресен, главный разработчик. «Транзакция с неправильным номером версии вызвала проблему».
Грегори Максвелл, еще один член CORE команды разработчиков, опубликовал обходной путь для проблемы вчера утром. Он объяснил CoinDesk , что с версии 0.8.0 программное обеспечение неправильно хранило транзакции с отрицательными номерами версий в локальной версии цепочки блоков.
«Это некорректное поведение само по себе безвредно, и до вчерашнего дня не было ни одной транзакции с отрицательной версией».
Однако в понедельник такая транзакция была выпущена и сохранена в клиенте. Поскольку программное обеспечение применяет строгую проверку согласованности базы данных, которая выполняется при каждом запуске, оно отказалось запускаться после того, как эти транзакции были включены в цепочку, сказал он.
Ни Андресен, ни Максвелл не сказали, что увидели какие-либо свидетельства значительного нарушения работы сети. Андресен указал, что это T влияет на самые крупные, критические части сетевой инфраструктуры, такие как майнинговые пулы, торговцы или биржи, поскольку они, как правило, KEEP свое программное обеспечение Bitcoin в рабочем состоянии, обычно с несколькими узлами.
«Поскольку эту проблему легко обойти (если вы найдете инструкции), я подозреваю, что это означает, что она, скорее всего, является гораздо большим источником разочарования, чем фактическим нарушением», — сказал Максвелл.
Итак, откуда взялись транзакции? Максвелл отследил их до нескольких повторно используемых адресов. Он указал на разработчика Bitcoin кошелька, чье программное обеспечение не смогло инициализировать версию перед отправкой транзакции. «Это сложная ошибка, особенно в коде C», — сказал он, добавив, что страница кошелька на Github теперь отключена. «Возможно, он отключил ее из-за этой ошибки».
Ошибка могла быть просто раздражающей, но она также показывает, как можно организовать сетевые атаки — даже непреднамеренно и не злонамеренно — просто предоставив транзакцию, которая сбивает систему с толку благодаря давней ошибке. В этом случае это была просто неправильно сформированная транзакция, искажающая часть данных, которая не использовалась активно клиентом Bitcoin .
«Если бы ошибка была в чем-то, что использовалось, это был бы очень серьезный баг, создающий форк», — сказал Максвелл. Однако для этого потребовалась бы соответствующая уязвимость в коде.
CORE команда разработчиков сейчас работает над исправлением. «Как только мы будем уверены, что у нас есть хорошее исправление и проблема T может быть вызвана каким-либо другим способом, мы выпустим версию 0.8.5», — заключил Андресен.
Danny Bradbury
Дэнни Брэдбери — профессиональный писатель с 1989 года, а с 1994 года работает внештатным автором. Он пишет статьи о Технологии для таких изданий, как Guardian.
