Так как генерация криптовалюты требует значительных мощностей, то ее скорость напрямую зависит от «железа», установленного на ПК — видеокарты и процессора.
Поэтому для ускорения процесса генерации либо создаются «фермы» — энергозатратные компьютеры с несколькими мощными видеокартами, либо несколько майнеров объединяются в группу и совместными усилиями генерируют новые блоки, а вознаграждение за каждый новый блок делится между всеми майнерами-членами группы.
Программы для майнинга используют для генерации блоков следующие крипто-алгоритмы:
- SHA256
- Scrypt
- Scrypt-Jane
- scrypt-n и др.
Алгоритм SHA256
Все Биткоин майнеры используют алгоритм SHA256 — хеш-функцию, преобразующую массив данных произвольной длины в фиксированную битовую строку. Суть алгоритма заключается в том, что он хеширует массивы случайных данных до тех пор, пока в результате не выйдет новый Bitcoin блок, который подтвердят другие пользователи. Преимуществом алгоритма SHA-256 является его простота, однако для скорости генерации с его помощью необходимо мощное аппаратное обеспечение — видеокарты, графические процессоры.
Алгоритм Scrypt
Алгоритм SCRYPT является более сложным, так как его главное отличие от SHA256 в том, что он предусматривает хранение всех генерированных с начала работы алгоритма битовых строк для последующего их комбинирования с целью создания блока. При использовании SCRYPT упор делается на оперативную память, так как в ней должны храниться (и быстро извлекаться) все битовые строки — результаты хеширования. Этот алгоритм используют майнеры, добывающие Litecoin и менее известные Scrypt-монеты.