Я работаю в вычислительной исследовательской лаборатории, и мы изучаем Биткойн. Я пытаюсь разработать симуляцию майнинга биткойнов для несуществующей компьютерной архитектуры.
Я хочу имитировать добычу одного блока (скажем... блока Сатоши), не выполняя на самом деле работу. Насколько я понимаю, у каждого блока в цепочке есть выигрышный одноразовый номер, который позволил майнеру добыть блок, но я также хочу перечислить:
Частью нашей симуляции является математика нашей симуляции (и гипотетическая архитектура), которая может работать со всеми возможными хэшами одновременно.
256-битный хэш для всех 2^32 одноразовых значений[1] блока составляет всего 2^(8+32) бит или около 137,4 гигабайт.
Я знаю, что это звучит как глупый вопрос, но есть ли место, где можно скачать все 137,4 гигабайта хэшей для блока Сатоши или какого-то другого блока? В противном случае, как лучше всего их генерировать? Могу ли я взять старый майнер ASIC и заставить его записывать каждый хэш на жесткий диск?
Сноски:
[1] Я знаю, что есть дополнительные источники вариаций в списке транзакций, одноразовом номере coinbase, отметке времени и т. д., но в настоящее время мы ограничиваем объем нашего моделирования только исходным одноразовым номером, сохраняя при этом все остальное постоянным.
Я знаю, что это звучит как глупый вопрос, но есть ли место, где можно скачать все 137,4 гигабайта хэшей для блока Сатоши или какого-то другого блока?
Неа.
В противном случае, как лучше всего их генерировать?
Вот программа, которая делает то, что вы просили. Это модификация примера программы майнинга Кена Ширрифа . Он добывает блок генезиса.
На моем ноутбуке он производит хэши со скоростью 2 МБ/с.
Могу ли я взять старый майнер ASIC и заставить его записывать каждый хэш на жесткий диск?
Возможно, но на самом деле это не будет быстрее, чем делать это с вашим процессором.
Дэвид Шварц