Как стать автором
Обновить

Майнинг на микроконтроллере ESP32 оказался не очень выгоден

Время на прочтение2 мин
Количество просмотров27K


20-летний немецкий программист Джейк описал свой эксперимент по майнингу на микроконтроллере ESP32.

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

Джейк говорит, что на этот проект его вдохновила инициатива коллеги по майнингу на микроконтроллере ESP8266. Тот рассчитал вероятность успешного нахождения блока как 1 из 1e16. Блоки появляются каждые десять минут, так что это своеобразная лотерея, только шансы на выигрыш исчезающе малы.


Майнинг на микроконтроллере ESP8266

Так или иначе, но для проверки концепции Джейк взял уже найденный блок 56333 и вычислил такие начальные параметры, чтобы микроконтроллер «нашёл» этот блок через небольшое количество раундов вычисления двойного SHA256, как в реальной сети Bitcoin.

Код опубликован на Github. Он использует TLS-библиотеку mbed (см. руководство), осуществляет хеширование, проверяет каждый полученный хеш, затем останавливается в случае валидного результата или увеличивает значение nonce в противном случае — и продолжает считать. Когда программа останавливается на валидном хеше, то выдаёт результат в консоль:

Started mining...
Valid Block found!
Hash: 0000000000000000000740ba375bbafbb871e0e201ded9c260a8b6aa1537c3f0
With nonce: 423644052 | 0x19404b94
In 10000 rounds, 831.635000 ms
Hash Rate: 12.024506 kH/s


Как можно видеть, микроконтроллер майнит со скоростью 12 kH/s, то есть в десять раз быстрее, чем ESP8266. И это только одно ядро ESP32, пишет автор, так что потенциально скорость можно увеличить до 24 килохешей/с.

Впрочем, даже десятикратное ускорение не позволит обогатиться. Сам автор подсчитал, что ботнет даже из 100 млн устройств намайнит всего лишь $150 в год.

Если же майнить на единственном микроконтроллере, то он должен найти блок через 24 ZH / 24 kH/s = 1018 секунд = 277 777 млрд часов = 11 574 млрд дней = 31 млрд лет, что в два с половиной раза превышает возраст Вселенной.
Теги:
Хабы:
Всего голосов 23: ↑20 и ↓3+17
Комментарии11

Другие новости