
О нейроморфных вычислениях (майнинге) Dynexcoin (DNX)
16 сентября 2022 года была запущена в работу сеть Dynex. Она представляет собой блокчейн следующего поколения, предназначенный для нейроморфного проведения вычислений (Neuromorphic Computing).
Нейроморфным компьютером называют не-неймановскую структуру, опирающуюся в своей работе как на физические, так и на биологические принципы.
Сравнение принципов работы классической (неймановской) архитектуры компьютера и нейроморфной модели:
Теоретически структура, использующая такую технологию, может иметь производительность, более высокую, чем квантовые компьютеры. Правда есть небольшой нюанс — на практике такие компьютеры пока, мягко говоря, не очень известны.
Что собой представляет платформа Dynex?
Блокчейн Dynex объединяет множество хостов в кластеры нейроморфных чипов, которые выполняют вычисления с намного большей энергоэффективностью, чем обычные компьютеры/сети.
Это «зеленый» суперкомпьютер, использующий нейроморфную технологию и уникальный Proof-of-Useful-Work (PoUW) алгоритм DynexSolve.
В настоящее время платформа Dynex может использоваться для выполнения следующих задач:
0 JOB_TYPE_SAT (constraint satisfaction problem); 1 JOB_TYPE_MILP (mixed integer linear programming); 2 JOB_TYPE_QUBO (quadratic unconstraint binary optimisation); 3 JOB_TYPE_MAXSAT (maximum satisfiability problem); 4 JOB_TYPE_FEDERATED_ML (federated machine learning); 5 JOB_TYPE_PRETRAINING_ML (efficient pre-training of restricted boltzmann machines, deep neural networks); 6 JOB_TYPE_SUBSET_SUM (subset sum problems); 7 JOB_TYPE_INTEGER_FACTORISATION (integer factorisation).
В перспективе Dynex планируется использовать для проведения других очень сложных вычислений, требующих распараллеривания.
Кто развивает проект Dynex?
Команда, развивающая проект Dynex, анонимна. Повышенная скрытность в отношении команды, развивающей столь интересный проект, вызвает подозрения.
Согласно информации, распространяемой в интернете, основателем и главным архитектором платформы является человек, скрывающийся под псевдонимом Sumitomo.
Что такое криптовалюта DNX?
DNX — это нативный (базовый) токен блокчейна Dynex (как ETH в сети Ethereum). Он является основным платежным средством в экосистеме. Пользователи, предоставляющие свое вычислительное оборудование сети Dynex, получают за это вознаграждение в виде токенов DNX.
Криптовалюта Dynex (DNX) торгуется на бирже Txbit и TradeOgre , где стоит около 10-12 центов, колебаясь в пределах 0.03-0.28 USD с момента запуска (16.09.2022).
Рыночная капитализация монеты DNX оценивается в 12-13 млн. долларов США, суточный объем торгов — порядка 130 тысяч долларов.
Для использования монет Dynex можно использовать полноценный клиент или Web Wallet, доступный на соответствующей странице сайта dynexcoin:
DNX можно добывать майнерам, отдавая в арнеду свою вычислительную мощность. Видеокарты, учавствующие в оргии майнинге работают в качестве нейроморфных компьютерных чипов большой виртуальной машины. Они производят вычисления на ассиметричном PoW-алгоритме, очень требовательном к объему/производительности памяти и видеоядра.
Учитывая неплохую энергоэффективность алгоритма dynexsolve, а также неплохой размер вознаграждения за найденный блок (по состоянию на март 2023 года это примерно 263-265 монет DNX при цене 0.08-0.11 USD за единицу), проведение вычислений в сети Dynex теоретически является прибыльным занятием.
Лучше всего для этого использовать srbminer-multi, который работает на видеокартах с 2 GB VRAM+ производства AMD, Nvidia и даже Intel (комиссия разработчику – 3%), обеспечивая значительно больший хешрейт на dynexsolve algo в сравнении с официальным майнером.
Настройка майнинга монет DNX
Монета Dynex пока является черной лошадкой среди криптовалют, поэтому выбор майнеров, поддерживающих вычисления на алгоритме Proof-of-Useful-Work (PoUW) довольно скуден — это коммерческий srbminer-multi и официальный майнер dynexsolve.
Версия майнера от разработчиков (DynexSolve) поддерживает только GPU Nvidia (для майнинга желательно использовать GPU с VRAM 3 GB и больше) .
В ubuntu 22.04 на официальном майнере запускается майнинг и на 2 ГБ-картах (например, Nvidia GT1030).
Поддержка алгоритма dynexsolve для видеокарт Nvidia, AMD и Intel реализована в srbminer 2.2.0+ (это майнер с закрытым исходным кодом). Он обеспечивает в 2-3 раза больший хешрейт в сравнении с официальым майнером, хотя и берет 3% комиссии.
Запустить майнинг Dynex на процессоре официально невозможно.
При использовании официального майнера можно самостоятельно скомпилировать модули для проведения криптографических вычислений (об этом ниже).
Перечень основных команд, использующихся официальным майнером dynexsolve:
-mining-address — адрес кошелька для получения вознаграждения; -daemon-host — RPC host-адрес dynexd (по умолчанию: localhost) — используется при соло-майнинге; -daemon-port — RPC-порт демона dynexd (по умолчанию 18333) — используется при соло-майнинге; -stratum-url — адрес stratum pool; -stratum-port — порт stratum pool; -stratum-paymentid — идентификатор адреса кошелька; -stratum-password — пароль для входа на пул; -stratum-diff — целевое значение сложности манйинга; -no-cpu — запуск майнинга Dynex без CPU; -no-gpu — запуск майнинга Dynex на процессоре, без GPU (в распространяемой готовой версии майнера опция отключена, при попытке запуска майнинга только на процессоре появляется сообщение WARNING: MINING NOT POSSIBLE); -mallob-endpoint <IP> - endpoint для балансировщика Dynex Malleable Load; -devices — ключ, использующийся для проверки наличия в системе пригодных для майнинга GPU-устройств; -deviceid — выбор видеокарт, участвующих в майнинге (по умолчанию: 0 = первая видеокарта); -multi-gpu — запуск майнинга на всех видеокартах, установленных на компьютере; -disable-gpu — исключение видеокарты с указанным номером из процесса майнинга (используется при включенной опции multi-gpu); -maximum-chips — установка максимального количества параллельных Dynex Chips для запуска на GPU (по умолчанию: INT_MAX); -steps-per-batch — установка числа шагов на batch (default: 10000, минимум 10000); -start-from-job — стартовый job number (default: 0); -cpu-chips — число задействованных ядер процессора (default: 4); -intensity — интенсивность майнинга (число задействованных блоков CUDA, по умолчанию - 8192) - опция доступна начиная с dynexsolve версии 2.2.4; -alpha — устанвока значения alpha ODE; -beta — установка значения beta ODE; -gamma — значение gamma ODE; -delta — значение detla ODE; -epsilon — значение epsilon ODE; -zeta — занчение zeta ODE; -init_dt — установка начального значения dt ODE; -debug - включение отладочного консольного вывода; -test — запуск в тестововм режиме локально; -mallob-debug — включение отладки MPI; -adj — установка коэффициента используемого объема памяти (для версии 2.2.4 default: 1.3). Чем меньше это значение, тем больше памяти использует майнер; -sync — использование синхронизации потоков CUDA (уменьшает загрузку CPU); -skip — пропустить загрузку GPU state (.BIN); -h — отобразить меню help.
Для запуска майнинга DNX на видеокартах (NVIDIA с архитектурой sm52 (GeForce 900-й серии) и новее, например, на пуле zergpool (с автопереводом намайненного непосильным трудом в LTC), создается скрипт:
./dynexsolve -mining-address адрес_кошелька -no-cpu -multi-gpu -stratum-url dynexsolve.mine.zergpool.com -stratum-port 4460 -stratum-password c=LTC,worker
Аналогичный синтаксис командной строки используется official-майнером и в Windows.
Пример майнинга DNX (производства Chips) на видеокартах Nvidia GTX1660TI/Super и GTX1060 в программе dynexsolve 2.2.3a:
Видеокарта уровня Nvidia GTX1660TI или Super при добывании Dynex Coin в программе dynexsolve версии 2.2.3 демонстрирует хешрейт около 48 H/s (для сравнения, srbminer 2.2.1 при тех же настройках выдает более 300 H/s). Другие видеокарты Nvidia показывают следующую прыть при майнинге DNX, H/s (в dynexsolve 2.2.3):
- RTX 4090 — 290;
- RTX 4080 — 193;
- RTX 4070Ti — 143;
- RTX 3090/3090Ti — 222;
- RTX3080 10 GB — 65;
- RTX3070 8 GB — 52;
- RTX3060Ti 8 GB — 60;
- RTX3060 12 GB — 110;
- RTX A5000 — 225;
- RTX A2000 6 GB — 38;
- GTX1080 8 GB — 68-70;
- GTX1070/1070 Ti 8 GB — 66-70;
- GTX1060 6 GB — 48;
- GTX1060 3 GB — 23-25;
- GTX1050Ti 4GB — 28;
- GT1030 2GB — 12-13.
Потребление эклектроэнергии при вычислениях очень мало, так как основная нагрузка приходится на память.
Утилита nvidia-smi при проведении работы по вычислениям в сети Dynex в официальном майнере показывает большую загрузку видеопамяти и неравномерное распределение нагрузки на ядро GPU между видеокартами (точнее, незначительно нагружается всего одна из них):
При использовании коммерческого майнера по максимуму используются ядро и память видеокарты, а также ресурсы центрального процессора. Благодаря этому srbminer выдает в разы больший хешрейт, чем официальная программа.
Для оптимизации энергопотребления хешрейта при майнинге DNX нужно снизить до минимума PowerLimit видеокарт.
Увеличение хешрейта достигается разгоном ядра и видеопамяти. Если используется слабенький центральный процессор, нужно использовать srbminer 2.2.1 и новее. На компьютерах с мощными процессорами можно более полно задействовать их мощь, включив опцию
--dynex-cpu-pow 0!1!
где 0!1! - номера "расслабляющихся" видеокарт.
Официальный майнер позволяет осуществлять тестовый майнинг на процессоре:
Для майнинга DNX в srbminer можно использовать такой батник/скрипт:
sudo ./SRBMiner-MULTI --disable-cpu --algorithm dynex --pool dynexsolve.mine.zergpool.com:4460 --wallet кошелек --password c=LTC,worker --gpu-target-temperature 56 --gpu-off-temperature 63 --gpu-target-fan-speed 55 --gpu-id 0! --gpu-boost 3 --gpu-auto-tune 2 --gpu-tweak-profile 2 --reboot-script-gpu-watchdog watchdog.sh --api-enable --api-rig-name 42 --api-miner-restart-url restart --dynex-cpu-pow 0! --gpu-intensity 496 Начиная с SRBMiner-MULTI версии 2.2.2 на компьютерах с мощным многоядерным процессором, при использовании параметра желании разгрузить GPU (увеличить хешрейт), нужно использовать аргумент dynex-cpu-pow с указанием номеров видеокарт, часть работы которых возьмет на себя CPU (как в примере выше для GPU номер 0). Значение gpu-intensity нужно подбирать экспериментально, ориентируясь на цифры, которые майнер подбирает автоматически при запуске (поэтому при первом запуске майнера параметр --gpu-intensity использовать не нужно). Например, при интенсивности майнинга 496, видеокарта AMD Radeon RX5500XT 8GB в srbminer-multi 2.2.1 выдает 205 H/s:
Компиляция модулей для майнера Dynex в Linux на примере (x)ubuntu 22.04
На Github можно скачать код generic-версии майнера и скомпилировать каталог libCrypto.a с модулями, содержащими информацию о криптографических функциях, использующихся при вычислениях.
Для сборки libCrypto.a с кодом хеш-функций для майнера dynexsolve в ubuntu-подобных системах предварительно необходимо установить модули Boost:
sudo apt-get install -y libboost-all-dev libcurl4-openssl-dev
Кроме того, в системе должны быть установлены пакеты, связанные с программированием на python (обычно они уже там имеются):
sudo apt-get install libdb++-dev build-essential libtool autotools-dev automake pkg-config bsdmainutils ccache python3 python3-pip python3-setuptools python-setuptools
sudo apt-get install libevent-dev python3-zmq python3-dev libboost-python-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev
В противном случае при компиляции появится сообщение об ошибке
Could NOT find Boost (missing: Boost_INCLUDE_DIR system filesystem thread date_time chrono regex serialization program_options) (Required is at least version "1.55")
Теперь можно скачать исходный код Динекс Солв с Github и создать файл с модулями для майнера dynexsolve.
Скачивание лучше производить утилитой git:
git clone https://github.com/dynexcoin/Dynex.git
в противном случае при компиляции может возникнуть ошибка
CMake Warning at src/version.cmake:3 (message): Cannot determine current revision. Make sure that you are building either from a Git working tree or from a source archive.
Затем нужно перейти в папку с исходниками, создать там каталог build, перейти туда и запустить создание исполняемого файла:
cd Dynex && mkdir build && cd build && cmake .. && make Daemon -j 4
По окончанию успешной сборки появится сообщение:
[100%] Linking CXX executable dynexd [100%] Built target Daemon
Скомпилированный файл libCrypto.a находится в каталоге Dynex/build/src/libCrypto.a:
Фактически libCrypto.a — это архив с файлами, содержащими код хеш-функций blake256, chacha8, crypto, groestl и другими, выполняющихся при майнинге Dynex:
Файл libCrypto.a помещают в каталог с generic-версией официального майнера dynexsolve, создают/редактируют скрипт для запуска майнинга и запускают этот важный процесс…

