Найти в Дзене
Александр Новицкий

Bitcoin головоломка на 8 миллиардов рублей

Оглавление

В мире криптовалют существует одна из самых сложных и технически интересных задач — биткоин-головоломка, созданная в 2015 году. Эта загадка требует глубоких знаний в области криптографии, вычислительной мощности и терпения. На кону находится награда в размере 936 биткоинов (~8 миллиардов рублей), которая ждет своего решателя.

Технические Основы Головоломки

Создание Головоломки

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

  • Первый адрес (1 бит): 0.001 BTC
  • Второй адрес (2 бита): 0.002 BTC
  • Третий адрес (3 бита): 0.003 BTC
  • ...
  • Последний адрес (256 бит): 0.256 BTC

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

Ограничение RIPEMD-160

В марте 2017 года сообщество обратило внимание на важную деталь: биткоин использует хэш-функцию RIPEMD-160 , которая ограничивает энтропию всего 160 битами . Это сделало адреса от 161 до 256 бит бесполезными, так как их невозможно использовать в реальности.

Создатель головоломки признался, что это он её придумал, и объявил об исправлении ошибки. Все средства с адресов от 161 до 256 бит были собраны и равномерно распределены между первыми 160 адресами.

Современный Дистрибутив

На данный момент общая сумма, находящаяся в "игре", составляет около 936 биткоинов (~8 миллиардов рублей). Эти средства распределены по адресам с уровнем сложности от 1 до 160 бит.

Технический Процесс Взлома

1. Понимание Структуры Приватного Ключа

Приватный ключ — это число длиной 256 бит, которое используется для генерации публичного ключа через алгоритм Elliptic Curve Digital Signature Algorithm (ECDSA) . Затем публичный ключ преобразуется в биткоин-адрес через следующие шаги:

  1. Хэширование публичного ключа с использованием SHA-256 .
  2. Применение функции RIPEMD-160 к результату SHA-256.
  3. Добавление версионного номера (0x00 для основной сети).
  4. Вычисление контрольной суммы через двойное хэширование SHA-256.
  5. Преобразование результата в формат Base58Check .

2. Перебор Приватных Ключей

Основная задача заключается в переборе приватных ключей для каждого адреса. Приватные ключи генерируются случайным образом в заданном диапазоне. Например:

  • Адрес с 1 битом : перебор осуществляется в диапазоне от 0 до 1.
  • Адрес с 2 битами : перебор осуществляется в диапазоне от 2 до 3.
  • Адрес с 3 битами : перебор осуществляется в диапазоне от 4 до 7.
  • ...

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

3. Проверка Публичного Ключа

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

  1. Генерация публичного ключа из приватного ключа с помощью ECDSA.
  2. Преобразование публичного ключа в биткоин-адрес.
  3. Сравнение полученного адреса с целевым адресом.

Если адрес совпадает, значит, приватный ключ является правильным.

4. Подтверждение Адреса

После подтверждения соответствия приватного и публичного ключей можно получить доступ к средствам на адресе.

Особенности Головоломки

Открытые Публичные Ключи

Через каждые 5 адресов публичный ключ становится известным. Это значительно упрощает процесс перебора приватных ключей, так как существуют специализированные алгоритмы, которые позволяют выполнять этот процесс намного быстрее.

Например:

  • Адреса с 67–70 битами содержат значительные суммы (~60 миллионов рублей за один адрес), но их взлом требует огромной вычислительной мощности.
  • Адреса с более низкой сложностью уже были успешно взломаны.

Инструменты и Технологии

GPU/FPGA для Параллельных Вычислений

Для эффективного перебора приватных ключей используются высокопроизводительные устройства:

  • GPU (Graphics Processing Unit) : Идеально подходят для параллельных вычислений благодаря множеству ядер.
  • FPGA (Field-Programmable Gate Array) : Предоставляют возможность настраивать аппаратное обеспечение под конкретные задачи.

Специализированное ПО

Для решения головоломки используются следующие программы:

  • BitCrack : Утилита для перебора приватных ключей с использованием GPU.
  • VanityGen : Программа для генерации биткоин-адресов с определенными характеристиками.
  • Bitcoin Core : Официальный клиент Биткоина, который позволяет проверять транзакции и работать с кошельками.

Оптимизация Алгоритмов

Для повышения эффективности используются следующие методы:

  • Метод Рабина-Миллера : Для проверки простоты чисел при генерации приватных ключей.
  • Метод Поллинга : Для ускорения перебора в определенных диапазонах.

Современное Состояние

На данный момент значительная часть адресов уже была взломана, но многие всё ещё остаются недоступными. Вот несколько примеров:

  • Адреса с низкой сложностью (до 10 бит) давно выпотрошены.
  • Адреса с высокой сложностью (например, 67–70 бит) всё ещё ждут своего часа.

Будущее Головоломки

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

Если вы хотите попробовать свои силы, вам понадобится:

  • Глубокие знания в области криптографии.
  • Высокопроизводительное оборудование (GPU/FPGA).
  • Оптимизированные алгоритмы и программы.

Заключение

Биткоин-головоломка — это настоящий вызов для тех, кто хочет продемонстрировать свои технические способности в области криптографии. Она предлагает невероятные награды для тех, кто готов рискнуть своим временем и ресурсами.

Не забывайте следить за обновлениями и делиться своими мыслями в комментариях. Удачи в вашем криптографическом путешествии! 🚀

Головоломка Биткоин: Охота за 8 Миллиардами Рублей — Блог Александра Новицкого