Что такое хешрейт в майнинге

Хешрейт: как его измеряют, на что он влияет и зачем вообще нужен? Ответы на вопросы об одном из главных показателей любой криптосети ‒ в нашем обзоре.

Хешрейт: что это?

И начнем с главного: что такое хешрейт?

Хешрейт (hashrate, а иногда hash power) ‒ общая вычислительная мощность, которая используется майнерами при добыче блоков, обработке транзакций в сети. А если точнее, скорость, с которой решается задача по добыче блоков.

Да, сразу небольшое отступление: хешрейт это и есть вычислительная мощность.

Также хешрейт ‒ это скорость добычи отдельного майнера. Измеряется в H/s ‒ хешах за секунду. Хотя чаще ‒ в MH/s. Для крупных сетей используются более крупные цифры, например, гигахеши или терахеши.

Скорость ‒ наше все! Источник: freepik.com/master1305
Скорость ‒ наше все! Источник: freepik.com/master1305

Хеш и хеширование

Что же, с самыми основами разобрались. Теперь о том, что такое хеш и что это за задача по добыче блоков такая ‒ хеширование.

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

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

И точки важны. Особенно те, которые над Е
И точки важны. Особенно те, которые над Е

Нашла применение технология при обмене данными, создании электронных подписей и, конечно, во всевозможных блокчейн-решениях.

Хеширование в криптовалютных сетях

В криптовалютных сетях выглядит это так.

Некие юзеры проводят операцию, например, просто переводят биткоины. Данные об операции ‒ транзакции ‒ должны быть добавлены в следующий блок цепочки.

Примерно так представляют процесс перевода BTC обычные юзера. Источник: freepik.com/ksandrphoto
Примерно так представляют процесс перевода BTC обычные юзера. Источник: freepik.com/ksandrphoto

В игру вступают майнеры ‒ они соревнуются, пытаясь на основе определенных данных угадать, каким будет хеш следующего блока.

Это даже не совсем лотерея, а настоящее измерение того, у кого вычислительное устройство мощнее. Каждый новый хеш-код, в котором зашифрованы данные об операции и состоянии сети, случайный. Просто угадать его нельзя, поэтому майнеры берут нахрапом, выдвигая буквально миллионы догадок. Майнер, указавший правильный хеш, заполняет очередной блок с данными о транзакциях и добавляет его в блокчейн. При этом счастливчик получает установленную награду. Например, в сети биткоина она сейчас составляет 6,25 монеты.

Хеширование пошагово

Небольшое отступление для отличников и всех интересующихся о том, как компьютер преобразовывает данные о транзакциях, фразы в духе “Я люблю трейдинг” или Большую Советскую энциклопедию в это:

2hjhsvhfu75rthf954tjbkb59tjbb*

*ну, здесь мы на самом деле ничего не хешировали, а просто били лапками по клавиатуре.

Итак:

  1. Нам надо что-то преобразовать. Например, фразу I love CryptoCash.
  2. Умная машина преобразует ее в двоичный код. Путь это будет что-то вроде:111001000101111001.
  3. Первые 4 бита перемещаем слева направо:010001011110011110.
  4. Теперь четные в одну сторону, нечетные ‒ в другую:000011011 и 101110110.

    Вроде обошлось без очепяток, но это не точно.

  5. Каждому двоичному числу соответствует число обычное, десятичное. Преобразуем наши четные-нечетные в более привычные десятичные:Калькулятор от Calcus утверждает, что:

    000011011 = 27.

    101110110 = 374.

  6. Умножаем два числа: 27 * 374 = 10,098.
  7. Возводим в квадрат: 10,098 ^ 2 = 101,969,604.
  8. Конвертируем его обратно в двоичное: 110000100111110111011000100.
  9. Оставляем первые 16 цифр ‒ бит ‒ отсекая остальное:1100001001111101.
  10. Далее по определенной схеме эти 16 бит превращаются в набор цифр и латинских букв. Например:8ubjb96bbbkl6.

На самом деле, разные криптовалюты могут использовать разные алгоритмы хеширования. ZCash использует алгоритм Equihash, а Bitcoin и Bitcoin Cash ‒ SHA256.

Хешрейт и майнинговые устройства

Перейдем к тому, ради чего мы здесь собрались, ‒ хешрейту и майнингу. Узнать хешрейт ЦПУ/видеокарты/АСИКа, а заодно подсчитать потенциальную прибыль от добычи предлагает ряд сервисов.

Например, Whattomine и Nicehash.

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

МодельРелизХешрейт, MH/sАлгоритмДоход в сутки, $Прибыль в сутки, $
NVIDIA GeForce RTX 3090Сентябрь 2020 г.114Ethash9,658,88
AMD Radeon VIIАвгуст 2017 г.93Ethash7,877,39
NVIDIA GeForce RTX 3080Сентябрь 2020 г.91,5Ethash7,757,20
NVIDIA GeForce RTX 3080 TiИюнь 2021 г.260Autolykos7,096,41
AMD Radeon RX 6900 XTДекабрь 2020 г.6,3MTP6,225,69

Можно подсчитать все вручную, но с погрешностью 146%:

<вероятность добычи следующего блока> = <ваш хешрейт> / <общий хешрейт>

<кол-во блоков за месяц> = <кол-во секунд в месяце> / <среднее время блока>**

<кол-во блоков, добытых за месяц> = <вероятность добычи след. блока> * <кол-во блоков за месяц>

<доход за месяц> = <награда за блок> * <кол-во блоков, добытых за месяц>

<прибыль за месяц> = <доход за месяц> – <затраты>

**о нем чуть ниже

Или отрывок кода калькулятора прибыльности добычи Эфириума:

$scope.ethPrice = ethereumStats.priceUsd;

$scope.netHashGH = (ethereumStats.difficulty / ethereumStats.blockTime) / 1e9;

$scope.blockTime = ethereumStats.blockTime;

$scope.earnings = {};

$scope.computeProfits = function() {

var userRatio = $scope.userHash * 1e6 / ($scope.netHashGH * 1e9);

var blocksPerMin = 60.0 / $scope.blockTime;

var ethPerMin = blocksPerMin * 5.0;

$scope.earnings.min = userRatio * ethPerMin;

$scope.earnings.hour = $scope.earnings.min * 60;

$scope.earnings.day = $scope.earnings.hour * 24;

$scope.earnings.week = $scope.earnings.day * 7;

$scope.earnings.month = $scope.earnings.day * 30;

$scope.earnings.year = $scope.earnings.day * 365;

};

Весь код здесь. Можно тыкать в Notepad++. В Python IDLE не надо.

И немного о “среднем времени блока”. Для сети биткоина эта цифра составляет 10 минут. То есть, новый блок в сети появляется каждые 10 минут. Но с погрешностью это может быть и несколько минут, и больше получаса. Средняя цифра должна оставаться неизменной.

Чтобы это было так, каждые 2,016 блока ‒ примерно каждые 2 недели ‒ в сети корректируется сложность добычи блоков:

  • вычислительная мощность растет ⇒ блоки добываются быстрее ⇒ сложность корректируется в сторону повышения;
  • вычислительная мощность падает ⇒ блоки добываются медленнее ⇒ сложность корректируется в сторону понижения.

Измеряется сложность майнинга в T ‒ терахешах.

Те читатели, которые дочитали материал до сюда, узнали себя? Источник: freepik.com/ufabizphoto
Те читатели, которые дочитали материал до сюда, узнали себя? Источник: freepik.com/ufabizphoto

В целом достаточно уметь оперировать хешрейтом, но коли уж интересно, то…

Объяснить рост/снижение можно так:

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

Да, похоже, резко растет не только сложность добычи биткоина, но и наших объяснений. Возьмем пример для любителей карточных игр:

Есть стандартная колода ‒ от двоек до тузов ‒ всего 52 карты. Вы просите кого-то выбрать случайную карту ниже дамы. Таких у нас 40 штук ‒ шансы на успех высоки, около 80%. Во второй раз мы просим вытянуть карту ниже семерки ‒ таких всего 20, и шансы на успех заметно снижаются ‒ примерно до 40%.

Фактический и заявленный хешрейт

Если вы добываете монеты в пуле, то хешрейта у вас будет два: фактический и заявленный.

Фактический хешрейт. Точный показатель, основанный на количестве правильных хешей, отправленных с вашего оборудования в пул. Также учитывает шары ‒ показатель того, сколько вычислительных ресурсов в поиск блоков вложил конкретный майнер, включая отклоненные и опоздавшие. И другие факторы.

Заявленный хешрейт. Менее точный показатель, отображается на стороне майнера.

Из-за разницы между двумя показателями хешрейта и возникает часть споров в духе “Пул ресурсы крадет!”. Впрочем, некоторые и, правда, крадут, да.

Алгоритмы хеширования

Расскажем о некоторых популярных, набирающих обороты и просто интересных алгоритмах хеширования.

Autolykos. Разработанный недавно алгоритм. Используется криптовалютой ERGO. Представлен на рынке мощностей NiceHash с июня 2021 г. В отличие от классического SHA256, задействованного биткоином, Autolykos требователен к памяти. Это снижает разрыв между владельцами специализированных ASIC и видеокарт при добыче монет.

YesPowerR16. Можно встретить при добыче нескольких криптовалют, наиболее известная из которых ‒ Yenten. Исключает добычу на асиках и видеокартах ‒ только ЦПУ. В большей степени дружественен к процессорам Intel, чем AMD.

SHA256. Разработанный Агентством национальной безопасности США, SHA256 лежит в основе биткоина и множества других валют. Открыт для добычи крипто любыми способами, из-за чего среди BTC-майнеров сегодня преобладают крупные пулы, владеющие новейшими ASIC. Хорошо зарекомендовал себя ‒ ни одна монета на базе SHA256 до настоящего времени не была взломана.

Equihash. Разработанный в 2016 году алгоритм используется ZCash, Bitcoin Gold и меньшими валютами. Требует минимум 2 ГБ ОЗУ на устройстве. Позволяет вести добычу на процессоре или мощных видеокартах.

Атака 51% и 34%

Ну, с законными способами приумножения криптовалюты все ясно. А как насчет незаконных? CryptoCash.guru ‒ научим плохому!

На дворе стояли нулевые, солнышко светит, MTV со всех телеэкранов, а Макс Покровский поет не абы какую “Хара Мамбуру”, а песню о том, что не на всяком заборе нарисуют…
На дворе стояли нулевые, солнышко светит, MTV со всех телеэкранов, а Макс Покровский поет не абы какую “Хара Мамбуру”, а песню о том, что не на всяком заборе нарисуют…

Атака 51% ‒ популярный способ взлома криптовалютных сетей. Основан на том, чтобы взять под контроль больше половины вычислительных мощностей. Управляя 51% хешрейта, группа майнеров ‒ пул ‒ может подтверждать блоки с заведомо мошенническими транзакциями.

Примеры взломанных сетей ‒ Ethereum Classic, Bitcoin SV, Bitcoin Gold, Grin.

Более “бюджетный” вариант ‒ атака 34%. Сконцентрировав в руках треть мощностей, злоумышленники могут отклонять или проводить транзакции в сети IOTA. Причина кроется в особенностях технологии ‒ вместо блокчейна, в основе IOTA лежит технология Tangle. Однако, хакерам также придется учитывать некоторые другие переменные.

Можно ли поменять свой хешрейт?

Если речь о том, чтобы снять ограничения, наложенные производителем видеокарты, и майнить больше с ее помощью ‒ да. Старый-добрый оверклокинг.

Одна из утилит для разблокировки мощностей ‒ MSI Afterburner. Видео о том, как правильно пользоваться инструментом:

Разумеется, в этом случае устройство будет нагреваться сильнее ‒ стоит задуматься о надежной системе охлаждения.

Хешрейт, майнинг и стекинг. О перспективах

Когда мы говорим “хешрейт”, то, конечно, имеем в виду те сети, где предусмотрен майнинг, то есть Proof-of-Work, или PoW. Используется ли понятие хешрейта в сетях PoS ‒ Proof-of-Stake? Нет. Например, Ethereum с переходом на версию 2.0 откажется от майнинга и перейдет к стекингу ‒ управлению с помощью ставок токенов.

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

Понравилась статья? Поделиться с друзьями: