CPU+GPU Введение в майнинг

Тема в разделе "Майнинг", создана пользователем Mr. Pickles, 19 июл 2020.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    826
    Симпатии:
    235
    1.jpg

    Основные понятия

    Что такое майнинг?

    Майнинг является распределённым процессом подтверждения транзакций в публичном журнале транзакций (Ledger), также известном как блокчейн. В свою очередь, блокчейн используется узлами Monero для того, чтобы отделить "истинные" транзакции от попыток двойной траты.

    Monero, как и большинство других криптовалют, использует алгоритм доказательства работы (Proof of Work). Алгоритм майнинга Monero позволяет эффективно использовать миллиарды различных устройств (все совместимые x86-64 CPU и подавляющее большинство представленных на рынке внешних GPU).

    Monero обеспечивает прозрачность процесса майнинга. Что позволяет избежать централизации майнинговых мощностей и соответствует оригинальным взглядам Сатоши Накамото (Satoshi Nakamoto) на то, как должна выглядеть истинная P2P валюта.

    Что такое блок?

    Блок является контейнером транзакций. Новый блок добавляется в блокчейн каждые 2 минуты.

    Также в блоках, помимо самих транзакций, содержится специальный тип транзакций, coinbase транзакция, которая добавляет новые созданные Monero в основную сеть.

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

    Что такое блокчейн?

    Блокчейн является распределённой базой данных, которая непрерывно разрастается за счёт добавления в неё новых транзакций. Эту базу данных зачастую называют Ledger (журналом), поскольку она содержит данные, представляющие собой список всех транзакций в сети Monero.

    Что такое доказательство работы (POW)?

    Доказательство работы или Доказательство выполнения работы (англ. Proof-of-Work, POW, PoW) — принцип защиты сетевых систем от злоупотребления услугами (например, от DoS-атак или организации рассылок спама), основанный на необходимости выполнения на стороне клиента некоторой достаточно длительной работы (решения задачи), результат которой легко и быстро проверяется на стороне сервера. Главная особенность применяемых вычислений заключается в асимметрии затрат времени. Это подразумевает, что на нахождение решения задачи требуется определенное время, а процесс проверки результата происходит мгновенно.

    Доказательство выполнения работы изначально ориентировано на нахождение решения по заранее известному алгоритму за некоторое конечное время. Наибольшее распространение и развитие POW-технологии получили в криптовалютах.

    Что такое RandomX?

    RandomX — это новый алгоритм доказательства работы, который проект Monero реализовал в основной версии сети в ноябре 2019 года как замена морально устаревшему доказательству работы CryptonightR. RandomX разработан с целью противодействия ASIC-майнингу и использует случайный код и технологии привязки к памяти. RandomX оптимизирован для работы с большинством пользовательских CPU и GPU, что подразумевает, что сеть станет более децентрализованной и эгалитарной с точки зрения распределения вознаграждений за блоки.

    Выступление Говарда Чу (hyc) «ASIC-устойчивое доказательство работы: миф или реальность?» на Monero Konferenco.

    Разновидность майнинга

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

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

    SOLO майнинг - это майнинг в одиночку. SOLO майнинг отличается от майнинга на пуле тем, что вы занимаетесь вычислением блока самостоятельно (в одиночку), без помощи других майнеров.

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

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

    В дополнение стоит добавить, что существуют различные реализации Stratum/Proxy серверов, которые позволяют объединить нескольких воркеров/solo майнеров в один поток. Что может быть полезно в случаях уменьшения нагрузки на пул или уменьшении сетевого трафика.

    Выбор оборудования для майнинга

    Для инициализации виртуальной машины RandomX и последующего запуска процесса майнинга подойдут все CPU от Intel и AMD, которые выпущены после 2011 года.

    Почему именно начиная с модельного ряда 2011 года, спросите вы? Потому что начиная с 2011 года все модели процессоров (включая бюджетные модели Sempron и Celeron) подходят под минимальные системные требования для инициализации виртуальной машины RandomX и последующего запуска процесса майнинга.

    Стоит обозначить, что RandomX может работать в двух основных режимах, которые отличаются требованиями к оперативной памяти.
    • Быстрый режим (Fast mode) — требует 2080 Мбайт;
    • Облегчённый режим (Light Mode) — требует всего 256 Мбайт памяти, но работает заметно медленнее.
    Для майнинга Monero на GPU они должны обладать поддержкой CUDA (Nvidia) и OpenCL (AMD).

    Обратите внимание, что GPU при любом раскладе находятся в невыгодном положении, так как алгоритм RandomX был разработан таким образом, чтобы быть максимально эффективным при работе с CPU.

    Системные требования для CPU (минимальные):

    - 64-битная архитектура;
    - Поддержка IEEE 754 совместимого модуля с плавающей запятой;
    - Аппаратная поддержка AES (расширение AES-NI для x86, расширения криптографии для ARMv8);
    - 16 Кбайт кэш-памяти L1, 256 Кбайт кэш-памяти L2 и 2 Мбайт кэш-памяти L3 (для одного потока майнинга);
    - Поддержка "Больших страниц памяти";
    - Не менее 2,5 Гбайт свободной оперативной памяти на узел NUMA;
    - Производительность DDR3 ограничена до 1500-2000 H/s на канал (в зависимости от частоты и таймингов памяти);
    - Производительность DDR4 ограничена до 4000-6000 H/s на канал (в зависимости от частоты и таймингов памяти).

    Системные требования для GPU (минимальные):

    - Не менее 2 Гбайт видеопамяти (VRAM);
    - Поддержка CUDA для видеокарт Nvidia;
    - Поддержка OpenCL для видеокарт AMD Vega и AMD Radeon.

    - Почему вы так уверены, что под текущие спецификации RandomX не появиться FPGA / ASIC?

    RandomX инициализирует несколько уникальных программ для каждого отдельного взятого хеша. В текущей реализации RandomX существует порядка 2512 уникальных программ. FPGA / ASIC не могут переконфигурировать и изменять свои вычислительные процессы и алгоритмы настолько быстро, как это делает CPU. В дополнение FPGA требуется несколько десятков секунд для загрузки очередного потока битов, что, в случае с RandomX, сводит их производительность на нет.

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

    Выбор майнера
    В данном разделе мы бегло познакомим вас с майнерами Monero, их плюсами и минусами. Темы с обсуждением майнеров и всего, что с ними связано вы сможете найти в соответствующем разделе нашего форума.
    Самым простым, но не самым целесообразным в плане окупаемости, будет вариант с майнингом через официальный кошелёк Monero GUI / CLI.

    В случае с Monero GUI / CLI вам не потребуется изучения дополнительных руководств и инструкций для начала майнинга, всё, что вам нужно, это выполнить полную синхронизацию блокчейна, определиться с количеством потоков и нажать кнопку "Start Mining".

    Поддержка OC:
    Windows, Linux, MacOS

    Плюсы:
    - Самый простой вариант для знакомства с SOLO-майнингом;
    - Помимо майнинга, вы помогаете в децентрализации хешрейта сети.

    Минусы:
    - Требуется полная синхронизация локального блокчейна и поддержка его в актуальном состоянии;
    - Отсутствует поддержка GPU майнинга;
    - Поддержка только SOLO майнинга;
    - Отсутствует поддержка Stratum/Proxy подключения.
    -----------

    XMRig – это кроссплатформенное программное обеспечение с открытым исходным кодом для майнинга на алгоритмах RandomX, KawPow, CryptoNight, AstroBWT и Argon2 при помощи CPU / GPU.

    XMRig впервые появился в мае 2017 года и на текущий момент является самым вариативным и гибко-конфигурируемым майнером для Monero.

    Поддержка OC:
    Windows, Ubuntu

    Плюсы:
    - Продвинутые и вариативные возможности для настройки майнера;
    - Постоянные обновления, исправления и улучшение производительности;
    - Поддержка Stratum/Proxy подключения;
    - Возможность одновременного майнинга при помощи GPU + CPU;
    - Возможность автоматической настройки и выбора наилучших параметров майнера;
    - Поддержка Nicehash;

    Минусы:
    - 5% dev_fee или пожертвования разработчикам (из 100 минут работы майнера 5 минут майнер будет работать на адреса и пул разработчиков). dev_fee можно уменьшить до 1% при помощи опции donate-level или отключить через самостоятельную сборку из исходного кода.
    -----------

    XMRigCC - это форк XMRig, который добавляет ряд новых функции для удаленного управления и мониторинга ваших майнеров, что позволяет вам получить доступ к конфигурированию и настройке майнеров через панель инструментов или REST API.

    В XMRigCC встроена отдельная серверная часть "Командование и управление" (C&C) и демон для управления майнерами XMRigCC.

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

    Поддержка OC:
    Windows, Linux, MacOS

    Плюсы:
    - Постоянные обновления, исправления и улучшение производительности;
    - Поддержка удалённого конфигурированияи у правления майнером;
    - Поддержка SSL/TLS;
    - Поддержка NUMA;
    - Отдельный демон с возможностью перезапуска майнера в случае ошибки;
    - Удобный дашборд (информационная панель);


    Минусы:
    - Отсутствует поддержка GPU;
    - 5% dev_fee или пожертвования разработчикам (из 100 минут работы майнера 5 минут майнер будет работать на адреса и пул разработчиков). dev_fee можно уменьшить до 1% при помощи опции donate-level.
    -----------

    Еще один не менее вариативный майнер для майнинга Monero с открытым исходным кодом.

    С разработчиком XMR-STAK, XMR-STAK-RX и RagerX, fireice-uk, у сообщества Monero сложились довольно натянутые отношения. Кто-то обвиняет его в том, что код его майнеров наглым образом скопирован с XMRig, кто-то называет его "волком в овечьей шкуре" из-за его попыток атаки на сеть Monero. Сам fireice-uk относится ко всем этим слухам довольно скептически и считает, что разработчики и сообщество Monero хотят подорвать его репутацию и авторитет в сообществе.

    XMR-STAK-RX - это переосмысленная и обновленная версия XMR-STAK майнера, которая, вследствие обновления сети, была выведена в отдельный СPU+GPU майнер для RandomX.

    Поддержка OC:
    Windows, Linux

    Плюсы:
    - Возможность одновременного майнинга при помощи GPU + CPU ;
    - Постоянные обновления, исправления и улучшение производительности;
    - Отсутствует dev_fee или пожертвования разработчикам;
    - Поддержка TLS;
    - Встроенный тест производительности;
    - Возможность мониторинга майнера через html отчеты.


    Минусы:
    - Как таковых минусов нет, если не считать того, что сообщество Monero не очень дружелюбно относится к fireice-uk и его майнерам.
    -----------

    RagerX - это операционная система майнер (по типу HiveOS) для Monero с закрытым исходным кодом, которая позиционируется разработчиками как "самый производительный майнер для RandomX". Разработчики обещают до 10% увеличения производительности по сравнению с XMRig.

    Данный майнер и ОС из-за закрытого кода и возможности работы только на одном специальном пуле был очень недружелюбно воспринят сообществом Monero, и на данный момент он продолжает укреплять за собой эту репутацию.

    Используйте данную ОС и майнер на свой страх и риск или как эксперимент для сравнения RagerX с другими майнерами Monero.

    Поддержка OC:
    Данный майнер входит в состав операционный системы RagerX и работает с внешнего USB накопителя (или жесткого диска)

    Плюсы:
    - Продвинутые и вариативные возможности для настройки майнера;
    - Поддержка Nicehash;
    - Возможность автоматической настройки наилучших параметров майнера;
    - Поддержка автоматических обновлений майнера;


    Минусы:
    - Отсутствует поддержка GPU;
    - Из-за репутации fireice-uk у сообщества сложилось мнение, что RagerX это "бомба замедленного действия", которая еще обязательно даст о себе знать;
    - Процесс майнинг работает в отдельной (гостевой) ОС, следовательно, такой вариант не подходит тем, кто хчоет пользоваться компьютером во время майнинга;
    - Невозможность использовать сторонние пулы, кроме специального выделенного пула ragerx.lol


    ---

    Автор:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 19 июл 2020
    Последнее редактирование: 8 янв 2021
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.