Статья Уязвимости Bitcoin с 2009 до 2013 года

  • Приглашаем разместиться на бесплатной основе в разделе Маркет -> услуг. Наш ТГ: @ble_lol
    Для просмотра КУРСОВ надо статус VIP, КУПИТЬ МОЖНО ТУТ: https://ble.lol/account/upgrades

    Запрещенно работать RU и СНГ! Блок навечно!

В период с 2009 по 2013 годы в сети Биткоина было несколько уязвимостей, которые могли поставить под угрозу приватные ключи или функциональность сети. Вот ключевые моменты:


1.​

  • Описание: Некоторые кошельки, особенно на Android и в библиотеке Java, использовали слабые или неправильные генераторы случайных чисел (например, java.util.Random). Это делало приватные ключи предсказуемыми.
  • Последствия: Хакеры могли вычислить приватный ключ, зная публичный ключ, особенно если использовались одинаковые случайные числа (nonce) при подписи транзакций.
  • Пример: В 2013 году были зафиксированы случаи взлома Android-кошельков из-за уязвимости в реализации генерации случайных чисел.

2.​

  • Описание: Ошибка в коде позволяла создать транзакции с некорректным количеством монет. В результате, в блоке 74,638 (15 августа 2010 года) была создана транзакция на 184 миллиарда BTC.
  • Решение: Блок был отвергнут сетью после быстрого обновления кода, а ошибка исправлена в версии Bitcoin Core.

3.​

  • Описание: Проблема связана с повторным использованием одного и того же случайного числа (nonce) при создании цифровой подписи (ECDSA). Если два разных сообщения подписаны одним и тем же k (nonce), приватный ключ легко вычислить.
  • Последствия: Хакеры могли атаковать кошельки и узнавать приватные ключи.
  • Пример: Несколько онлайн-кошельков страдали от этой проблемы.

4.​

  • Описание: В 2012 году начались обсуждения об уязвимости алгоритма SHA-1. Хотя Биткоин использовал SHA-256 для майнинга, в некоторых частях кода и библиотеках могли использоваться SHA-1 для других функций.
  • Риск: Возможные атаки на старые реализации криптографии, использующие SHA-1.

5.​

  • Описание: Уязвимость позволяла двойную трату (double spend) из-за некорректной проверки очередности транзакций.
  • Решение: Код был обновлен в версии Bitcoin Core 0.8.

6.​

  • Описание: Многие ранние кошельки (до версии Bitcoin Core 0.4) хранили приватные ключи без шифрования или использовали слабую защиту паролем.
  • Риск: Любой доступ к устройству мог привести к краже приватных ключей.

7.​

  • Описание: Некоторые майнинговые пулы, например, GHash.io, достигали 51% мощности сети. Это создавало угрозу атак "51%", при которых можно было переписывать блокчейн, отменять транзакции и проводить двойные траты.
  • Решение: Распределение майнинговой мощности было улучшено за счет появления новых пулов и самостоятельных майнеров.

Итоги​

Многие из этих уязвимостей были исправлены благодаря оперативным обновлениям Bitcoin Core и переходу на более безопасные библиотеки. Важно понимать, что ранние годы Биткоина были экспериментальными, и эти проблемы помогли укрепить систему, сделав ее более защищенной.