Что такое хешрейт простыми словами

Разбираясь в теме майнинга криптовалют, пользователь сталкивается с множеством новых понятий. В том числе, узнает и про хешрейт, что это единица измерения вычислительной мощности оборудования в процессе нахождения хеша. Узнаёт, но понимает в таком определении зачастую далеко не всё. Поэтому в статье мы попробуем простыми словами рассказать, что такое хешрейт и почему этот параметр важен в добыче криптомонет.

Общие принципы эффективности вычисления хеша

В классическом виде добыча криптовалют (майнинг) представляет собой серию аппаратных вычислений, целью которых становится нахождение некоего результата, отвечающего условиям поставленной сетью задачи – то есть, нахождение хеша с определенными заданными свойствами. Поиск хеша осуществляется путем перебора возможных вариантов в поисках «правильного». В прикладном смысле производится несколько последовательных действий:

  1. В вычислительное устройство пользователя (центральный процессор компьютера, видеокарту, специализированный ASIC-майнер), подсоединенного к выбранной криптосети, входит необработанный массив цифровых данных.
  2. Прибор начинает, по установленному в системе алгоритму, перебирать данные, пытаясь найти такое значение, которое бы соответствовало поставленным условиям. Другими словами, из произвольного набора входящих символов вычислительное устройство пытается составить битовую строку установленной алгоритмом длины. В зависимости от алгоритма хеширования (хеш-функции), результат вычислений может выглядеть по-разному. Например, при вычислении с помощью алгоритма SHA-1, строка хеш-кода выглядит приблизительно так: 7DD9788F846400078F5B03C068365A4969057B3A0.
  3. Количество «подборов» результата за одну и ту же единицу времени будет на разных устройствах отличаться. Одни устройства за секунду перебирают десяток миллионов вариантов «правильного ответа». Другие устройства – сотни и тысячи миллионов. Это количество вычислительных операций за единицу времени и называется хешрейтом (hashrate) устройства или его вычислительной мощностью. (Часто в Рунете можно встретить написание через «э» – «хэшрейт»). Поскольку «количество операций за единицу времени» – это, по сути, скорость работы устройства, этот показатель в ряде случаев «скоростью» и называют.

Схема хэширования

Единицы измерения хешрейта ввели для того, чтобы не писать длинные числа с множеством нулей. Но если их соотнести между собой, то получится следующая таблица:

  • 1 kH/s (килохеш/сек) = 1000 хеш/сек.
  • 1 MH/s (мегахеш/сек) = 1 000 000 (единица с 6 нулями) хеш/сек.
  • 1 GH/s (гигахеш/сек) = 1 000 000 000 (единица с 9 нулями) хеш/сек.
  • 1 TH/s (терахеш/сек) = 1 000 000 000000 (единица с 12 нулями) хеш/сек.
  • 1 PH/s (петахеш/сек) = 1 000 000 000 000000 (единица с 15 нулями) хеш/сек.

Как следует из описания процесса поиска необходимого результата, вычисления майнинговым устройством производятся по определённому алгоритму. Это тот алгоритм, на основе которого работает конкретная криптовалютная система. Некоторые вычислительные приборы специально делаются так, чтобы максимально быстро перебирать варианты по заданной хеш-функции. (Это специализированные интегральные схемы – ASIC-майнеры, которые, главным образом, состоят из собранных на платах чипов и системы охлаждения).

Используемых в индустрии хеш-функций существует множество. На каждом из них, как правило, работает несколько криптосистем. Так, например, на алгоритме SHA256 функционирует не только Bitcoin, но и Bitcoin Cash, Peercoin, Emercoin, Syscoin и ряд других валют; на алгоритме Ethash не только знаменитый Ethereum, но и Metaverse ETP, Ubiq и др., на основе Scrypt – Litecoin, BitConnect, Dogecoin и масса других.

Функции хэширования

В числе существующих в криптографии алгоритмов хеширования есть и алгоритм Equihash (криптовалюты Zcash, Komodo, ZenCash, MinexCoin и др.). В теме хешрейта он примечателен тем, что для обозначения скорости вычисления в поиске решения тут используется другая маркировка единицы измерения: Sol/s. Расшифровывается это как «solution» и иллюстративно переводится как «решение». То есть, это показатель количества обрабатываемых «решений в секунду». Другими словами, это та же самая характеристика, что и «хешрейт в секунду», только данная единица измерения используется в криптосетях, работающих на алгоритме Equihash.

В интернете есть спекулятивные рассуждение на тему того, что Sol/s от H/s отличается в 2 раза (иногда говорят на 20%). Но вопрос этот уже был неоднократно освещён в тематических изданиях и эквивалентность величин была подтверждена. Соответственно и градацию хешей можно корректно перенести на измерение в «solution». То есть, 1 kSol/s = 1000 Sol/s и т.д.

Некоторые алгоритмы хеширования специально написаны так, чтобы затруднить вычислительный процесс для ASIC-майнеров – специализированного оборудования, которое с началом роста стоимости монет стало появляться на рынке. Это оборудование имеет в тысячи раз больший хешрейт в майнинге (то есть, в тысячи раз большую мощность в майнинге), чем видеокарты в миллионы раз большую мощность, чем процессоры компьютеров.

Для сравнения ASIC-майнер Baikal Giant X10, который «нацелен» на майнинг альткоинов на алгоритме X11, имеет заявленное значение хешрейта в 10 GH/s, а популярная видеокарта NVIDIA GTX 1080, запущенная для майнинга монеты на этом же алгоритме, имеет заявленное значение в 16.2 MH/s. Эти показатели «от производителя» отличаются от фактических и зависят от конкретных условий, которые мы рассмотрим ниже, но разницу между 10 000 000000 H/s и 16200000 H/s никакими специфическими условиями не устранить.

Вычислительные мощности любого количества приборов можно суммировать. Так, например, если у пользователя 2 карты имеют показатели в 16.2 MH/s, а две других – в 10 MH/s каждая, то совокупная мощность четырёх карт, собранных в майнинговую ферму, будет составлять 52.4 MH/s. В начале 2017 года в интернете появился видеоролик, рассказывающий о гигантской ферме-фабрике, расположенной на территории России. Фабрика состояла из более чем 3 тысяч мощных приборов Antminer S9, каждый из которых имел заявленной мощностью в 14 TH/s. Итоговая совокупная мощность этой промышленной фермы по майнингу биткоина составляла 38 PH/s.

Некоторые разработчики криптосетей, сопротивляющиеся майнингу на ASIC-ах, до сих пор стремятся сохранить идею децентрализации, которая была одной из основных в зарождающемся в 2009 году криптовалютном движении. Сопротивление объясняется тем, что владельцы большого числа ASIC-майнеров получали определенный контроль над сетью, а владельцы очень большого числа ASIC-ков могли децентрализованную систему, превратить её в полностью подконтрольную. Поэтому «идейные» разработчики формировали свои сети на таких алгоритмических принципах, при майнинге на которых многочисленные владельцы обычных персональных компьютеров могли майнить криптовалюту, не опасаясь быть вытесненными владельцами ASIC.

Примером такого алгоритма может служить хеш-функция CryptoNight, на базе которой функционируют сети Monero, Bytecoin, DigitalNote, Karbowanec и некоторые другие. Для майнинга криптовалют этих систем до 2018 года потенциально можно было использовать центральный процессор, хотя на практике чаще всё-таки майнили на более эффективных видеокартах. Для нашей темы здесь важно то, что в майнинге этих монет для обеспечения выполнения решения нужно было использовать большой объём оперативной памяти, с чем гораздо лучше асиков справлялись GPU (в составе видеокарты) и CPU (центральный процессор). В результате хешрейт подключенных устройств в этих сетях измерялся не более привычными мегахешами (MH/s) а килохешами (kH/s) или даже хешами (H/s), что для других сетей считалось «вчерашним» (или даже «позавчерашним») днем.

Например, для карты NVIDIA GTX 1070 заявленный хешрейт в криптосистемах на CryptoNight указан в значении всего 650 H/s и это ещё один из самых высоких показателей хешрейта. К сожалению для владельцев Monero, разработчики асиков, похоже, справились и с этой хеш-функцией. Включение в процесс майнинга мощного оборудования неизбежно сразу отразится на сложности этих сетей.

Сложность сети и хешрейт в майнинге

Сложность сети – это сложность задачи по созданию блоков в сети, которую выполняют вычислительные устройства криптодобытчиков, и она постоянно меняется – пересчитывается. В одних сетях сложность пересчитывается после каждого блока. В других сетях – через определённое количество блоков (например, в Bitcoin пересчёт происходит каждые 2016 блоков). В любом случае, задача автоматической программы управления сети состоит в том, чтобы обеспечить постоянную среднюю трудоемкость и скорость нахождения блока.

Если рассматривать процесс изменения сложности последовательно, то получится следующая картина:
  1. Криптосистема в текущий момент времени имеет некую определенную сложность – при условном хешрейте сети в 500 GH/s. Это означает, что совокупный хешрейт всех подключенных к системе устройств равен 500 GH/s. Такая мощность в майнинге соответствует вычислительным возможностям 50 тыс. видеокарт по 10 MH/s каждая.
  2. Социальная и финансовая ценность монеты растет, и, чтобы её добыть, к сети подключается много новых пользователей – например, плюс ещё 10 тысяч видеокарт с тем же хешрейтом. Общий хешрейт сети становится уже 600 GH/s и, математически получается, что теперь 60 тысяч видеокарт произведут вычисления быстрее, чем 50 тысяч. Но этого не происходит, потому что автоматически включается защитный механизм – увеличивается сложность расчёта.
  3. Если мощность добывающих устройств, подсоединенных к криптосети, растёт, то система усложняет каждую отдельную процедуру пересчета. И время получения одного правильного результата всё равно выравнивается. Если сложность пересчитывается не каждый блок, а сеть изначально не очень популярна, то теоретически можно подключить большие мощности и помайнить какое-то время до момента очередного пересчета «в вольготном режиме». Некоторые «шахтёры» на такой «ловле момента» построили целую майнинговую бизнес-модель.
  4. Если монета перестаёт привлекать криптодобытчиков, и они массово начинают отключать своё оборудование, хешрейт сети падает. Чтобы меньшие мощности могли в том же темпе производить расчеты, что и большие, сложность сети пересчитывается и падает.
Вообще время вычисления для создания очередного блока (для одного майнера) высчитывается по формуле. Для Bitcoin она выглядит так:

time (средний период между блоками в секундах) = difficulty (сложность криптосети в текущий момент) * 2**32 / hashrate (количество хешей, найденных в секунду).

Сложность майнинга Биткоина

В прогрессивно развивающихся криптосистемах, к которым присоединяется все большее число майнеров, сложность постоянно растёт и при одних и тех же показателях хешрейта, количество добытых устройством монет будет меньшим. При этом предполагается, что, если одновременно с этим и пропорционально вырастает курс коина, то уровень заработка всё-таки останется прежним, а если курс вырастет сильно, то заработок может и увеличиться, хотя монет майнер (при прочих равных) будет добывать меньше.

Проблема практического определения показателей

Реальные показатели хешрейта зависят от множества дополнительных факторов, в том числе – от производителя оборудования. Например, один из двух крупнейших производителей графических процессоров, компания AMD, уже почти 10 лет не имеет собственного производства, размещая заказы на производствах компаний-партнёров. В результате одна и та же модель видеокарты от компаний-партнеров из-за особенностей сборки и комплектующих будет демонстрировать отличающиеся показатели (даже в виде заявленных в спецификациях).

Сравнительные характеристики одинаковых моделей видеокарт на одном хеш-функции в зависимости от производителя можно представить в следующей таблице:

Модель Марка Алгоритм майнинга Хешрейт
R9 280 ASUS Ethereum 20Mh/s
CLUB3D 26.5Mh/s
MSI 22Mh/s
SAPPHIRE 20Mh/s
XFX 21.5Mh/s

Поскольку количество произведённых вычислений зависит от формата произведения операций, в определении фактического хешрейта надо учитывать, монета какого криптографического семейства добывается. Средние показатели хешрейта одной и той же видеокарты, в зависимости от алгоритма хеширования представлены в примере:

Модель Марка Алгоритм майнинга Хешрейт
980 ti Classified EVGA Ethereum 22.356Mh/s
Blake256(Decred) 4449.140Mh/s
Lyra2Rev2 16.570Mh/s
Qubit 20.620Mh/s
Quark 28.640Mh/s
Neoscrypt 0.996Mh/s
WhirlpoolX 342.350Mh/s
nist5 46.140Mh/s
keccak 684.250Mh/s
X11 13.840Mh/s
X13 10.700Mh/s
X15 9.214Mh/s

Но проблема в том, что приведенные показатели (указанные в спецификациях к оборудованию) демонстрируют не фактические, а только потенциальные возможности. На фактические же показатели хешрейта влияет способ подключения устройства (даже тип разъема шнура), выбор программного обеспечения, пула, в составе которого майнится криптовалюта, перегрев чипов, степень разгона, специфические дефекты «железа» и др.

Тем не менее, в первом приближении оценить хешрейт устройства можно и по заявленным производителем характеристикам. Так, по крайней мере, можно отбросит заведомо неподходящие варианты. В интернете существуют таблицы хешрейтов майнингового оборудования, аналогичные тем, которые мы привели выше. В каждой такой таблице сотни строк, но пользователю обычно не приходится перебирать и сравнивать всю продукцию, выпущенные с моменты раскрутки геймер- и майнинг-индустрии:

  1. Часть продуктов уже давно не выпускается.
  2. Еще большую часть сегодня просто не достать ни в магазинах, ни с рук – они раскуплены оптовиками и расставлены по майнинговым фермам.
  3. Некоторые из асиков вообще окажутся за пределами внимания, поскольку криптодобытчик обычно понимает, на какую именно группу криптовалют будут направлены его вычислительные мощности и станет рассматривать только то оборудование, на котором майнятся выбранные криптовалюты. (Правда, многие «шахтёры» предпочитают универсальные видеокарты, чтобы проще было переключаться между монетами или одновременно добывать сразу несколько).

Во втором приближении, лучше всего подробнее ознакомиться на форумах с практикой использования выбранного оборудования – узнать, в каких пулах майнинг даёт лучший результат, с помощью какого софта (программ-майнеров) осуществляется подключение к криптосети, эффективен ли разгон устройства. Так, например, если перестараться в разгоне устройства, то, помимо перегрева и износа «железа», можно «добиться» того, что майнинг просто не запуститься – то есть, хешрейт вместо добавленных 5-10% упадёт вообще до нуля.

В целом, хешрейт может изменять постоянно, но в норме не должен выходить за границы определенного диапазона – обычно +/-5% (в рамках погрешности, которую закладывают сами производители). Майнеры, нередко, стараются выжать из своих видеокарт всё возможное, разгоняя их с помощью функционала программы управления или специальных программ (например, MSI Afterburner).

«Разогнать», в данном случае, означает предельно увеличить скорость вычисления в секунду – то есть, увеличить количество перебираемых в секунду вариантов – поднять хешрейт. Постоянная работа «на пределе», чаще всего, не проходит бесследно для оборудования, поэтому и рекомендуется на вторичном рынке приобретать видеокарты у геймеров, которые не стремятся достигнуть пиковых нагрузок. В любом случае, лучше в процессе работы всё время отслеживать показатели видеокарт (например, с помощью GPU-Z) и тестировать комплектующие в случае работы в экстремальных условиях.

На этом же этапе приближения можно ввести параметры устройств и криптосети (хешрейт видеокарты или асика, хеш-функция майнинга, производителя-модель и т.д.) в онлайн-калькулятор, подсчитывающий реальные возможности приборов в конкретной системе в текущий момент времени с учетом изменяющейся сетевой сложности (пример калькулятора: coinwarz.com). Калькуляторов много и функционал каждого из них отличается, но общий принцип работы одинаков.

В третьем приближении для определения хешрейта нужно уже непосредственно протестировать устройство в майнинге, что и дает самое точное представление о его работе. Желательно только, по возможности, «поиграть» с разным софтом и настройками, чтобы достигнуть максимальных значений хешрейта.

Таким образом, определить точный хешрейт устройства до его практического тестирования можно только с определённой долей погрешности. Однако принципиальную разницу между оборудованием установить, конечно, можно ещё до покупки, поскольку, например, понятно, что при майнинге криптовалют на алгоритме SHA256 (Bitcoin, Bitcoin Cash, Syscoin, Peercoin, и др.) у Antminer S4 с его 2 TH/s производительность и при идеальной настройке будет стабильно ниже, чем у Antminer S7 с 4.86 TH/s, и гораздо ниже, чем у Antminer S9 с 14 TH/s, даже если у последнего «повылетает» треть чипов.

При этом, ключевым показателем для возможности намайнить монету в конкретной сети всё-таки остаётся соотношение показателей сложности сети и используемой вычислительной мощности криптодобытчика.

Автор статьи: Κирилл Τретьяков

Отзывы, комментарии и обсуждения