Поскольку проблема появления асиков на криптографических алгоритмах для видеокарт является достаточно актуальной — думаю имеет смысл сделать небольшой перевод статьи с Coinmetrics на эту тему. Тем более, что она достаточно интересная и снабжена наглядным материалом.

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

Для подбора хеша нужной длины блок постоянно модифицируется специальным программным обеспечением для майнинга. Это осуществляется с помощью специального числового поля в заголовке блока — так называемого «nonce field». Значение поля может варьироваться от 0 до некоторого верхнего предела, прописанного в протоколе монеты. Изменение проводится по специальному алгоритму прописанному в программе — это очень важный момент, объясняющий все последующие выкладки. 

Стратегий перебора значений «nonce field» может быть много. Что самое важное — они различны для майнингового ПО предназначенного для процессоров, видеокарт и асиков. Таким образом, можно попытаться понять в какой момент времени в сети той или иной монеты происходят изменения, связанные с внедрением нового софта для майнинга.

Вот как выглядит распределение плотности значений nonce от номера блока в сети биткоина:

Распределение плотности значений nonce от номера (высоты) блока в сети биткоина.
Распределение плотности значений nonce от номера (высоты) блока в сети биткоина.

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

Затем появились первые видеокарты и сложность выросла. Видно, что плотность значений nonce стала уходить в область больших чисел. А затем пришли асики… 

Асики перебирают хеши намного быстрее видеокарт. Для их работы требуется специальное ПО и особый алгоритм работы со значениями nonce. Именно эта особенность обусловливает появление характерных белых полос на плотности распределения nonce. Поэтому появление нового майнингового софта не получается «спрятать».

Рассмотрим сеть другой монеты — анонимного Монеро. Здесь для лучшего понимания происходящего совмещены графики сложности сети и распределения значений nonce от высоты блока:

Распределение плотности значений nonce от номера (высоты) блока в сети монеро.
Распределение плотности значений nonce от номера (высоты) блока в сети монеро.

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

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

Ну а что же творится с сетью эфира? Алгоритм даггер-хашимото действительно невозможно «сломать» или… ? Здесь у меня для вас две новости — хорошая и плохая. Плохая состоит в том, что в сети присутствует «инородный софт», привычная плотность распределения nonce нарушена. 

Хорошая — влияние посторонних устройств на общий хешрейт сети ограничено. По-видимому асики для эфира не позволяют добиться необходимого для этого превосходства в скорости хеширования. Впрочем, смотрите сами:

В сети эфира присутствует «инородный» софт для майнинга
В сети эфира присутствует «инородный» софт для майнинга

Авторы также нашли закономерность в вероятности распределения значений 41 бита в поле nonce между «0» и «1». В случае майнинга на видеокартах этот бит равновероятно мог принимать как одно, так и другое значение. Однако незадолго до анонса о создании Antminer E3 от Битмана 41 бит начал чаще принимать значение 0:

Незадолго перед анонсом о создании  Antminer E3 41 бит в поле nonce стал чаще принимать значение равное нулю (красными линиями выделены даты анонса асика и начала его отгрузок)
Незадолго перед анонсом о создании Antminer E3 41 бит в поле nonce стал чаще принимать значение равное нулю (красными линиями выделены даты анонса асика и начала его отгрузок)

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