Инженер-программист Кен Ширрифф (Ken Shirriff) задался вопросом: можно ли рассчитывать хэши Bitcoin вручную, то есть буквально с помощью карандаша и бумаги? Теоретически, алгоритм SHA-256 достаточно прост, так что подобное должно быть возможно.

Эксперимент оказался успешным. Кен смог майнить биткоины со скоростью 0,67 хэшей в сутки. Конечно, это намного меньше, чем на любом процессоре, даже доисторическом, не говоря уже о GPU и платах ASIC. Тем не менее, автор доказал, что такое возможно. К тому же, исполнение алгоритма вручную даёт хорошее понимание того, как он работает.

Для цепочки блоков Bitcoin подходящим хэшем считается тот, который начинается с нескольких нулей. Найти такой хэш непросто: нужно миллиарды вычислительных операций, пока случайным образом не попадётся хэш с таким количеством нулей. В частности, чтобы получить хэш с 17 нулями в начале, нужно перебрать, в среднем 1,4х1020 хэшей.

003

Алгоритм SHA-256 принимает на входе блоки по 512 бит (64 байта), обрабатывает их с помощью криптографической функции и выдаёт 256 бит (32 байта) зашифрованных данных. На иллюстрации внизу показан один раунд SHA-256.

004

Кен Ширрифф вручную рассчитывал результат выполнения SHA-256. Единственный раунд процедуры хэширования, как показано на видео, занял у него 16 минут и 45 секунд.

С такой скоростью обсчёт целого блока Bitcoin займёт примерно полтора дня, так что производительность «ручного метода» можно оценить в 0,67 хэша в сутки. Автор даже рассчитал, сколько килокалорий он тратит на 1 хэш: получается примерно в 6-7 раз дороже, чем процессор на электричестве.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    14 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии