Материалы по расчёту хешей для новичка?

Ищу подробную статью (неважно русские или английский) на тему майнинга вообще, хешей, эффективности CPU, видеокарт. В частности есть вопросы:

Сейчас в большинстве своём майнят на видеокартах, т.к. это более эффективно. Отбросим конкретно майнинг, биткоины и любые криптовалюты, вопросы чисто о технической стороне:
1) Что происходит непосредственно во время расчёта хешей на видеокарте, что это за операция, какие у неё входящие данные и какой результат
2) В чём специфика этих вычислений? Почему их эффективнее на видеокартах производить чем на CPU?
3) Тем не менее, есть несколько криптовалют которые майнят на CPU. У них внутри другой алгоритм. Чем он отличается. Кто и почему сделал его другим?
  • Вопрос задан
  • 674 просмотра
Решения вопроса 1
1) Как ни странно - операция хеширования. Это функция. На вход принимает массив байтов произвольной длинны (+ закодированная длинна массива) дополненного нулями при необходимости до кратного размера. На выходе - массив байтов фиксированного размера.
С точки зрения математики это сюръективное отображение бесконечного счётного множества в конечное.
2) Один хеш CPU посчитает намного быстрее GPU. Вот только современные десктопные 4 ядерные процессоры одновременно могут вычислять только 4 хеша (по количеству ядер). А в видеокартах тысячи вычислительных блоков, и каждый может независимо считать хеш. Поэтому когда нужно миллионы хешей вычислить, видеокарты выигрывают.
3) Only-CPU алгоритмы отличаются в первую очередь требуемым объёмом памяти. Для каждой итерации требуется свой кусок памяти. Если хеш для вычисления требует 2 гигабайта памяти, то видеокарта с 4 гигабайтами может за раз считать только 2 хеша (а то и вообще один - не забываем про накладные расходы). И CPU с таким объёмом памяти может считать то же количество хешей. Только CPU это сделает намного быстрее.
Сделали это в первую очередь не против видеокарт, а против ASIC.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы