Американские инженеры придумали способ увеличить прибыльность майнинга биткоинов на 30%

image

Доктор Ракеш Кумар из Иллинойсского университета в Урбане-Шампейне в своей работе «Майнинг биткоинов с приближением» описал механизм, при помощи которого можно увеличить прибыль от майнинга биткоинов на 30% — в пересчёте на единицу потраченных процессорных мощностей. Метод основан на использовании приблизительных расчётов — если допустить появление небольшого количества ошибок, результирующая эффективность подсчётов вырастает.

Приближённые расчёты часто используются в науке для упрощения математических выкладок. Доктор Кумар подсчитал, что при использовании железа, считающего с определённой, но не 100%-й точностью, можно повысить эффективность майнинга на 30%.

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

В связи с постоянным плановым увеличением сложности расчётов биткоинов, майнеры постепенно переходили с CPU на GPU, FPGA или ASIC. Увеличение сложности требует увеличения потребления энергии процессорами. Кумар со своими студентами задумались — нельзя ли разобраться в технологии майнинга и уменьшить потребление энергии, увеличив прибыль?
В результате они обратились к идее приблизительных расчётов. По утверждению Кумара, довольно много приложений, работающих на компьютере,- например, визуализация,-
могут работать с расчётами, точными не на 100%. Такие программы устойчивы к ошибкам и могут спокойно работать даже на неточно работающем железе. Исследователи выяснили, что майнинг биткоинов обладает теми же свойствами и «прощает» некоторые неточности.

Исследователи обнаружили, что процессор, обязанный гарантировать 100%-ю точность операций, в некоторых случаях потребляет энергии в 2 раза больше, чем процессор, который должен выдавать 99%-ю точность.

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

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

Доктор Кумар утверждает, что использование железа, считающего хэши приблизительно, позволит упаковать большее количество модулей в то же самое пространство, по сравнению с обычным железом. В результате, время для подсчёта хэша уменьшается вдвое — майнер может генерить в два раза больше хэшей в единицу времени. Из-за периодических ошибок реальная производительность увеличивается примерно на 30%.

Доклад на основе своей работы доктор Кумар будет делать в июне 2016 года на конференции, посвящённой дизайну электроники и автоматизации.

© Geektimes