Майнінг на алгоритмі RandomX

CryptoExplorer         Немає коментарів         Monero
38 переглядів
RandomX - це PoW-алгоритм, оптимізований для проведення обчислень на процесорах. У ньому використовується код зі зміною хеш-функції по псевдовипадковому алгоритму разом з використанням вимогливих до продуктивності пам'яті операцій. Завдяки цьому зменшується ефективність обчислень спеціалізованого обладнання типу ASIC'ів і FPGA.

Цей алгоритм викликає великий інтерес серед майнерів в зв'язку з тим, що в жовтні 2019 року на нього планується перевести одну з найпопулярніших анонімних криптовалют - Monero.

У цій статті розглядаються особливості алгоритму RandomX і майнінгу на процесорах і відеокартах за допомогою цього алгоритму.

Особливості алгоритму RandomX


Алгоритм RandomX був розроблений як анти-ASIC алгоритм програмістами під ніками Monero by tevador, hyc, vielmetti, antanst та SChernykh спеціально для криптовалюти Monero на комп'ютерах/пристроях з наступними архітектурами:

  • x86 (32-біт, від молодшого до старшого (little-endian);
  • x86-64 (64-біт);
  • ARMv7 + VFPv3 (32-bit);
  • ARMv8 (64-біт);
  • PPC64 (64-bit).

Завдяки використанню ряду нововведень, цей алгоритм буде використовуватися і в інших блокчейнах, наприклад, у проектів Wownero (починаючи з релізу 0.6, спрощений алгоритм з назвою RandomWOW), Arweave та інших.

Залежно від обсягу задіяної оперативної пам'яті, на алгоритмі RandomX можливий майнінг в двох режимах: Fast Mode (потрібно не менше 2080 MB оперативної пам'яті) і Light Mode (ОЗУ розміром не менше 256 Гб).

Fast Mode призначений для «чистого» майнінгу, а Light Mode - для валідації блоків на вузлах з невеликими апаратними можливостями, наприклад, на одноплатних ARM-комп'ютерах (Rock64 і т.д.).

Ефективний Майнінг (Fast Mode) на алгоритмі RandomX задіє понад 2 гігабайти оперативної пам'яті, що ускладнює маскування майнера при несанкціонованому використанні ресурсів комп'ютера, а також практично повністю виключає з процесу майнінгу слабкі комп'ютери і інші пристрої (інтернет речей) з невеликою обчислювальною потужністю (типу роутерів, смартфонів і т.д.).

Браузерний майнінг (web-майнінг) також практично неможливий через високу вимогливість до пам'яті та відсутність повноцінної підтримки обчислень з плаваючою комою в jаvascript і WebAssembly.

При обчисленнях на алгоритмі RandomX використовуються числові операції, що відповідають стандарту IEEE 754: додавання, віднімання, множення, ділення і обчислення квадратного кореня. Застосовуються фрагменти коду хеш-функцій від алгоритмів Argon2d, Blake2b.

Алгоритм RandomX написаний на мові програмування C++ і для його використання в системі повинні бути встановлені відповідні бібліотеки. При обчисленнях використовується віртуальна машина, яка виконує прошивки за спеціальними інструкціями, що включає змінні різних типів.

Блок-схема віртуальної машини RandomX:


Частина інструкцій може бути інтерпретована в процесорних командах відразу (як асемблерні програми), а частина виконується як програми з 256-бітною криптографічною хеш-функцією Blake2b.

Майнери, які можна використовувати на алгоритмі RandomX


Майнити Monero після переходу на RandomX можна за допомогою таких програм, як:


Після випуску відповідного оновлення на алгоритмі RandomX можна буде використовувати такі програми:


До хардфорку Monero перевірити хешрейт на алгоритмі RandomX можна за допомогою утиліти RandomX-benchmark-windows-x64-v1.0.4.

Крім того, швидкість майнінгу в мережі на алгоритмі RandomX можна дізнатися, запустивши майнер на тестовий пул за адресою randomx-benchmark.xmrig.com:7777.

Хешрейт популярних відеокарт на алгоритмі RandomX


У наступній таблиці представлені дані по хешрейту популярних відеокарт виробництва компанії Nvidia на алгоритмах RandomX і CryptonightR, в h/s:

Модель GPUCryptonightRRandomX
GTX 1660 Ti max overclock (2070/13760 MHz)626 (98 W)660 (103 W)
GTX 1660 Ti low power (1785/13760 MHz)604 (70 W)555 (70 W)
GTX 1070 (1850/7600 MHz)612 (89 W)609 (108 W)
GTX 1070 Ti (1900/7600 MHz)625 (97 W)769 (123 W)
GTX 1080 Ti (1930/10010 MHz)787 (145 W)1136 (190 W)
RTX 2080 (1980/13740 MHz)828 (142 W)1191 (189 W)
RTX 2080 Ti (1845/13600 MHz)1028 (191 W)1692 (235 W)
Titan V (1335/850 MHz)1436 (101 W)2199 (125 W)


У наступній таблиці представлені дані по хешрейту популярних відеокарт виробництва компанії AMD на алгоритмах RandomX і CryptonightR, в h/s:

Модель GPUCryptonightRRandomX
Vega 6422001225
RX 480/580960-1000400-410
RX 560 4GB (1400/2200 MHz)495260


Хешрейт процесорів на алгоритмі RandomX


Більшість процесорів, випущених компаніями Intel і AMD з 2011 року повинні здійснювати ефективний майнінг на алгоритмі RandomX. Найкращу продуктивність будуть показувати 64-bit CPU, що володіють наступними функціями:

  • підтримка обчислень з плаваючою комою (стандарт IEEE 754);
  • підтримка інструкцій AES на апаратному рівні (команди AES-NI для архітектури x86, криптографічні розширення для ARMv8)
  • не менше 16 кБ кешу рівня L1, 256 Кб кешу L2 і 2 мегабайти кешу L3 для кожного потоку майнінгу;
  • підтримка великих сторінок пам'яті (large memory pages);
  • не менше 2.5 Гб вільної оперативної пам'яті (RAM) для одного вузла NUMA;
  • може знадобитися підтримка багатоканальної передачі даних в оперативній пам'яті (multiple memory channels):
  • пам'ять типу DDR3 має ліміт приблизно 1500-2000 H/s на один канал (в залежності від частоти і таймінгів);
  • пам'ять DDR4 лімітована приблизно 4000-6000 H/s на один канал.

Для досягнення максимального хешрейту на алгоритмі RanomX при майнінгу на процесорі потрібно правильно вибирати кількість потоків (T) і включити підтримку великих сторінок пам'яті.

Залежно від того, включена підтримка великих сторінок пам'яті чи ні при майнінгу, розрізняються різновиди алгоритму RanomX по швидкості майнінгу на CPU (відповідно «Fast mode» та «Light mode»).

При майнінгу бажана наявність підтримки інструкцій AES в процесорі на апаратному рівні. Майнити на старому процесорі без підтримки команд AES також можливо, хоча і з меншою швидкістю, включивши їх емуляцію в програмному режимі.

У наступній таблиці наведено дані по хешрейту різних процесорів на алгоритмах CryptoNight-R і RandomX (Fast і Light Mode), h/s:


На завершення


Серйозні вимоги до апаратного забезпечення для майнінгу на алгоритмі RandomX повинні відсікти існуючі мережі ботів і пули з ASIC'ами і зробити добування монет типу Monero більш справедливим і доступним для власників звичайних комп'ютерів і майнерів з машинами, обладнаними досить продуктивними процесорами з великим об'ємом оперативної пам'яті .

Найбільшу вигоду від майнінгу Monero після форку RandomX матимуть власники процесорів AMD Ryzen з архітектурою ZEN 2. Фантастичний хешрейт в 39 kh/s показує AMD'шний процесор Epyc 7742 вартістю 7 тисяч доларів. Третє покоління процесорів AMD сімейства Threadripper має стати доступною альтернативою Епік, поєднуючи високу продуктивність і прийнятну вартість. 16-ти ядерний процесор при вартості близько 750 доларів видаватиме близько 9-10 kh/s, а 24 і 32 ядерні монстри при ціні 1000 і 2000 доларів, відповідно, видадуть до 20 kh/s, що в 10-15 разів більше, ніж відеокарта RTX 2080 Ti.
0


Шановне товариство!
Якщо Ви виявили помилку, або "мертве" посилання, виділіть проблемний фрагмент мишкою та натисніть CTRL+ENTER.
У діалоговому вікні, що з'явилося, опишіть проблему та надішліть повідомлення Адміністрації ресурсу. Дякуємо!
Схожі публікації:
Інформаційне повідомлення
Відвідувачі, які знаходяться в групі Гості, не можуть залишати коментарі до даної публікації.
Популярні матеріали
Опитування
В якій (географічно) частині України Ви постійно/здебільшого проживаєте?