Майнинг биткоина с помощью карандаша и бумаги

image

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

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

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

image

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

image

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

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

xakep.ru

Реклама

Оставить сообщение

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s