Майнинг

Майнинг криптовалюты Zilliqa

Это случилось! 31 января 2019 года в 13.00 GMT запущена основная сеть блокчейн-платформы Zilliqa (биржевое обозначение ZIL, обзор монеты читайте в статье «Обзор Zilliqa»).

Это предоставляет возможность заработка этой монеты владельцам майнинг ферм на видеокартах.

Рассмотрим, как майнить монеты ZIL, особенности этого процесса и возможный доход.

Особенности работы сети Zilliqa

На начальном этапе (до марта 2019 года) сеть Zilliqa работает в так называемой фазе bootstrap. При этом майнеры будут получать вознаграждение, но транзакции в сети проводиться не будут или будут ограниченными. В связи с этим, на начальном этапе проводить транзакции с монетами ZIL, полученными в результате майнинга будет невозможно (по крайней мере в первые дни).

В это же время разработчиками в сеть будут подключаться так называемые сторожевые узлы сети (guard nodes), которые обеспечат ее стабильность (что особенно важно на начальном этапе), а также узлы для хранения информации о транзакциях и блоках (lookup nodes и seed nodes).

В дальнейшем, с увеличением хешрейта и развитием топологии сети роль служебных guard nodes будет снижаться, что приведет к их частичному отключению и переводе блокчейна на децентрализованную поддержку майнерами и владельцами узлов, не связанными с командой Zilliqa.

Узлы сидирования (seed nodes) в начале существования сети будут поддерживаться разработчиками (в перспективе - сообществом) с целью использования в качестве шлюзов, точек доступа к блокчейну, кошелькам, в качестве интерфейса для работы с биржами и для предоставления информации о состоянии сети.

Что представляет собой монета Zilliqa?

До запуска основной сети Зилика 31 января 2019 года (и до проведения свопа – перехода на свой блокчейн) монеты Зил привязаны к блокчейну Эфириума и представляют собой токен стандарта ERC-20.

После запуска сети в течение первого квартала 2019 года будет произведен переход монет (token swap) на собственный блокчейн и привязка монет ZIL к нему.

Как работает механизм вознаграждения в сети Zilliqa

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

Целевая сложность майнинга в сети Zilliqa уточняется каждую эпоху. При этом в тестовой сети она происходила с учетом целевоого количества узлов сети, равного 1810 (при этом сложность майнинга в сети равна единице). При появлении каждой новой сотни узлов сложность в последующей эпохе увеличивается на единицу (и наоборот).

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

По замыслу разработчиков, 25% от всех монет, полученных при построении новых блоков Zilliqa, а также gas, полученный в качестве платы за транзакции будут распределяться среди майнеров, которые содержат узлы DS и шардинговые узлы. Эти 25% являются базовым вознаграждением майнерам PoW, которое рассчитывается по формуле:

Общее вознаграждение за одну эпоху*0.25/количество узлов = вознаграждение майнеру.

В первый года работы сети Zilliqa на вознаграждение майнеров (PoW и владельцев узлов, работающих по pBFT) будет выделяться 191780,82 ZIL для выплат за один период.

Впоследствии это количество будет уточняться в зависимости от полученных результатов работы сети Zilliqa.

Таким образом, в настоящее время формула подсчета дохода для 2400 майнеров (пиров) будет выглядеть так: 191780,82 * 0.25 / 2400 = 19,977169 ZIL за одну эпоху.

70% от награды будет выделяться на вознаграждение по гибкой системе для узлов валидации, работающих по алгоритму pBFT, а 5% - на служебные шлюзы и lookup-узлы. Механизм распределения монет для валидаторов гибкий и предусматривает их распределение по принципу первый пришел – первый получил (награда выплачивается тем, кто принял участие в процессе валидации) по формуле:

191780.82 * 0.70 / (2,400 * 2/3 [успешные валидаторы] * 99 [транзакций в блоке]) = 0.847516 ZIL

Таким образом, вся сеть Zilliqa является чем-то подобным единому общему пулу для майнинга с доминированием валидаторов.

Рассмотрим подробнее, как майнить криптовалюту Zilliqa на фермах с видеокартами по алгоритму PoW, какой доход это может приносить и возможные нюансы.

Как производится майнинг Zilliqa (теория)

Майнинг можно осуществлять в операционной системе Linux (по алгоритмам pBFT и PoW) или в Windows (по алгоритму PoW).

Минимальные требования к аппаратному обеспечению для запуска узла Zilliqa (для добывания монет по алгоритму pBFT)  таковы:
  • 64-разрядная ОС;
  • процессор уровня Intel 5 и выше;
  • 4 гигабайта оперативной памяти;
  • видеокарта с не менее 2 Gb видеопамяти;
  • стабильный доступ в интернет.
Майнинг Zilliqa теоретически производится за счет создания узла сети, который использует один поток процессора, работающего по алгоритму pBFT и (1-2 минуты каждые 2-3 часа со сменой эпохи) распределяет вычислительную нагрузку на видеокарты для работы по алгоритму PoW.

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

Для переключения алгоримтов в Linux-подобных системах можно использовать программу ZilSwitcher, которую можно скачать по адресу https://github.com/DanSoQt/ZilSwitcher.

При использовании нескольких ригов с видекартами, узел соло-майнинга запускается на одном из них, а остальные риги подключаются к нему через прокси.

Майнинг в теории осуществляется по двум разновидностям:
  • в качестве узла DS (как обычный майнинг);
  • в качестве узла шарда (отдельного ответвления блокчейна).
Процесс настройки майнинга в UBUNTU описан на англоязычной странице https://github.com/Zilliqa/Zilliqa/wiki/Mining.

Zilliqa добывается в соло режиме с помощью docker (для видеокарт Nvidia и процессоров) или через прокси (для видеокарт Nvidia и AMD). Это официально делается в операционной системе UBUNTU, например, с помощью дистрибутива, доступного по адресу http://releases.ubuntu.com/xenial/. С помощью англоязычного гайда, доступного здесь, можно запустить UBUNTU на одном компьютере с Windows.

При использовании майнинг-ферм под управлением Windows нужно использовать docker (клиентский узел), запущенный на отдельном компьютере под управлением Ubuntu, к которому будут подключаться риги этого кластера.

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

Майнинг Zilliqa на пуле с помощью видеокарт (практика)

В настоящее время процесс майнинга монеты Zilliqa еще не до конца проработан, но уже можно попробовать добывать криптовалюту ZIL, используя экспериментальное программное обеспечение. Пока существует только одна общедоступная программа, которая позволяет майнить криптовалюту Zilliqa – это Zilminer.

Бета-версия зилмайнера для видеокарт Nvidia доступна здесь: https://github.com/DurianStallSingapore/ZILMiner/releases. Существуют версии для Windows (есть три версии программы с поддержкой OPenCl и CUDA 9.1, 9.2 и 10 соответственно) и для UBUNTU.

Скриншот папки с распакованным майнером ZIL:



В связи с тем, что в блокчейне Zilliqa используются сходные с Ethereum алгоритмы, а также потому, что PoW-майнинг ZIL производится всего несколько минут в течение 2-3 часов, в программе Zilminer поддерживается дуал-майнинг монет ZIL в паре с ETH/GRIN.

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

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

В связи с новизной алгоритма майнинга Zilliqa и тем, что этот процесс происходит всего несколько минут за 2-3 часа, сложно проверить честность пулов. Поэтому процесс их выбора приобретает очень важное значение.

Выбор пула для майнинга монет Zilliqa

В связи с тем, что 31 января 2019 года только стартовала основная сеть Zilliqa, существует еще очень мало пулов, позволяющих майнить эту монету.

Теоретически можно производить майнинг Zilliqa на пуле beepool (основная страница - https://www.beepool.org/), который при майнинге ZIL (сервер zil-pool.beepool.org:9510) берет комиссию PPLNS в 2%. Скриншот стартовой страницы beepool:



Другим вариантом является китайский UUPool, где можно одновременно майнить эфир и Zilliqa.

К сожалению, тестирование майнинга на пулах пока свидетельствует о их неполной готовности к добыче монет Zilliqa.

Настройка майнера для добывания Zilliqa

По умолчанию программа ZILminer пытается начать майнинг на всех доступных устройствах. Чтобы более точно указать, с какими видеокартами нужно работать, используют такие команды:

-G,--opencl - майнинг только на устройствах OpenCL;
-U,--cuda - майнинг только на устройствах CUDA (видеокарты Nvidia).

Опции соединения с пулами :

-P,--pool - соединение по Stratum или http (getWork), где добавляется URL пула;
Команда на запуск формируется по такой схеме:

://[user[.workername][:password]@]hostname:port
Помощь по использованию программы можно почитать, запустив батник с командой zilminer --help-ext con

Наиболее используемые в программе опции:

-h,--help - показывает помощь и делает выход из программы (чтобы оставить окно открытым, нужно добавить команду pause);

--cu-devices {номер GPU} - выбор видеокарты с CUDA для майнинга, начиная с нулевой. При использовании нескольких карт, номера разделяют пробелом, например: --cu-devices 0 2 3;

--cl-devices {номер GPU} - то же самое для видеокарт АМД (OpenCL);

-L,--dag-load-mode 0 или 1 - загрузка DAG в память видеокарт (поочередная -L 1 или параллельная -L 0, DAG загружается во все карты сразу, это значение установлено по умолчанию);

--HWMON {цифра от 0 до 2} - мониторинг состояния GPU, 0 - без мониторинга, 1 - отслеживание температуры и скорости кулеров, 2 - то же, что и 1 плюс отслеживание потребления электричества;

--tstart {цифра от 30 до 100} - работает только при использовании команды --HWMON 1 или 2. Запускает майнинг только при температуре GPU ниже заданной;

--tstop {цифра от 30 до 100} - остановка майнинга при достижении указанной температуры (работает только при использовании команды --HWMON 1 или 2 );
-H,--help-ext с добавлением опций {'con','test',cl,cu,api,'misc','env'} выдает следующую информацию (запускают команду в виде zilminer -H test или --help-ext con):
'con' - соединения;
'test' - бенчмарк/симуляция майнинга;
'cl' - расширенные опции OpenCL;
'cu' расширенные опции CUDA;
'api' - API и Http мониторинг;
'misc' - другие опции;
'env' - использование переменных окружения;

-M,--benchmark {номер блока} - тест майнера на заданном блоке;
-V,--version - показывает версию и делает выход из программы.

В зависимости от того, какое соединение для майнинга требует пул, используют следующие опции:

-P getwork://127.0.0.1:8545 - для соло-майнинга;

-P stratums://0x012345678901234567890234567890123.miner1@ethermine.org:5555 - для соединения stratum по tcp;
-P stratum://0x012345678901234567890234567890123.miner1@nanopool.org:9999/john.doe%40gmail.com - для защищенного соединения stratum по tcp;
-P stratum://0x012345678901234567890234567890123@nanopool.org:9999/miner1/john.doe%40gmail.com - для  TLS 1.2 соединения.

Могут использоваться failover адреса пулов (при добавлении еще одного -P с нужными значениями), а также следующие опции: stratum+ssl, stratum+tcp, stratum+tls, stratum+tls12, stratum1+ssl и так далее.

Пакетный файл для запуска на видеокартах Nvidia (опция -U) выглядит так:

zilminer -P zil://wallet_address.worker_name@zil_node_ip:get_work_port -U

В BAT-файле нужно заменить на свои значения wallet_address, worker_name, zil_node_ip и get_work_port.

При переключениях между монетами сильно расходуется память видеокарт. Для ее очистки лучше добавить в батник аргумент —clear-dag.

Для бипула самый простой батник для майнинга ZIL (для воркера 46) будет таким:

zilminer -P zil://кошелек.46@zil-pool.beepool.org:9510 -U

Для автоматического переключения на другую монету (по алгоритму Ethash) используют следующий батнег (он управляет двумя файлами с BAT-конфигурациями, одна из которых соответствует ZIL и, к примеру, эфиру):

zilminer --pow-start батник Zilliqa --pow-end команды батник Эфириума -U --clear-dag -P zil://кошелек.46@zil-pool.beepool.org:9510 -U

батник Zilliqa останавливает майнинг второй монеты, батник Эфириума запускает его.

Примеры конфигурации zilminer

Рабочая конфигурация батника для майнинга только ZIL в zilminer  выглядит так:

zilminer -P zil://адрес.46@zil-pool.beepool.org:9510 -U --tstart 55 --tstop 65 --HWMON 2
pause

К сожалению, beepool при запуске майнинга выдает ошибку соединения:

Запустить майнинг ZIL удалось на пуле UUPool, который, к сожалению, требует регистрации, что не так просто, учитывая его китайскоязычный интерфейс.

Батник для этого пула (без дуала) выглядит так:

zilminer -P zil://адрес.46@zil.uupool.cn:12008 -U --cu-devices 0 --tstart 55 --tstop 65 --HWMON 2
pause

При этом, при простое (PoW работает пару минут в 2-3 часа) консоль майнера выглядит так:

Для исключения простоев нужно настроить майнинг на дуал.

Запуск дуала требует создания трех батников:

  1. Для управления запуском одного из майнеров в зависимости от состояния сети Zilliqa. Этот файл также содержит конфигурацию для основного и резервных пулов ZIL.
  2. Для запуска майнинга второй монеты после остановки майнинга ZIL.
  3. Для автоматической остановки майнинга Ethereum или другой монеты на алгоритме Ethash в момент добывания ZIL.

Все файлы, включая батники и оба майнера нужно поместить в одну директорию.

Батник №1 (например, ZIL_dual.bat) имеет следующие команды:

zilminer --pow-start miner2-stop.bat --pow-end miner2-start.bat -P zil://адрес.воркер@zil.uupool.cn:12008 -U --cu-devices 0 --tstart 55 --tstop 65 --HWMON 2 --clear-dag
pause

Батник №2 (например, miner2-start.bat) запускает второй майнер и имеет соответствующие для его запуска команды.

Батник №3 (например, miner2-stop.bat) запускает команду для остановки второго майнера.

Хешрейт различных видеокарт при майнинге Zilliqa

Теоретически хешрейт при майнинге ZIL должен быть примерно равен производительности видеокарт при майнинге эфира и ему подобных монет (даже выше, в связи с низкой сложностью майнинга ZIL и небольшим размером DAG на первоначальном этапе).

При запуске теста на сотой эпохе видеокарта GTX1060 6 Gb дает около 21 mh/s, AMD RX460 4 Gb дает около 12 mh/s:

Характерные ошибки при майнинге Zilliqa

Для проверки работоспособности майнера и выявления ошибок с конфигурацией системы можно запустить тестирование майнига командой:

zilminer -Z 0

pause

где 0 — номер тестируемой карты.

Для работы  Zilminer, помимо прочего, обязательно наличие пакета Visual C++ для Visual Studio 2015 (обычно он или более новая версия уже установлены в системе по умолчанию).

При вылете майнера на этапе запуска нужно проверить правильность набранных в пакетном файле команд:

Частыми ошибками являются:

  • неверное написание скрипта для запуска — например, в нужных местах нужно ставить две черточки, а не одну длинную тире, как это показывают некоторые шрифты в интернет-браузерах;
  • отсутствие или излишний пробел в командах. К примеру, частой ошибкой является добавление пробела в команду  zil://адрес

Создание кошелька для монет Zilliqa в качестве надстройки браузера Chrome

Кошелек для хранения Zilliqa можно открыть на бирже (например, UPbit или любой другой, которая объявила о поддержке свопа — перехода токенов со стандарта ERC20 на собственный блокчейн), либо создать собственный кошелек.

Проще всего использовать онлайн-кошелек Moonlet (доступен на https://moonlet.xyz/), который работает в качестве надстройки в браузере Chrome.

Скриншот сайта Moonlet:

Создание кошелька для монет Zilliqa в качестве надстройки браузера Chrome производится на странице интернет-магазина Chrome:

После нажатия кнопки нужно нажать подтвердить:

Через пару секунд кошелек будет установлен, о чем появится ответствующее сообщение:

В правом верхнем углу браузера Chrome появится пиктограмма кошелька:

При нажатии пиктограммы повится диалоговое окно, в котором можно создать кошелек или восстановить уже имеющийся:

При создании кошелька будет использоваться мнемоническая фраза из 12 слов, которая является ключом безопасности. Она позволяет использовать кошелек на любом компьютере и ее надо сохранить в безопасном месте (например, на отдельной флешке). Программа предложит произвести сохранение этой фразы:

Пример предложенной фразы безопасности:

Нажав на кнопку Copy to clipboard можно сохранить фразу в безопасное место (можно просто записать полученные слова на бумагу). Затем нужно подтвердить понимание последствий потери фразы:

После нажатия кнопки Yes нужно нажать на предложенные программой слова в соответствии с сохраненной фразой. Затем нужно создать пароль для кошелька на английской раскладке (от 10 цифро-буквенных символов с не менее чем одной заглавной буквой):

При выполнении этих требований надписи станут зелеными и активируется кнопка Create password:

После этого появится окно с адресом кошелька, который можно скопировать нажав на кнопку Copy:

В последующем для входа в кошелек нужно будет вводить пароль:

Для выхода из кошелька (что лучше делать из соображений безопасности) в меню Settings нажимают кнопку Sign out:

Калькулятор майнинга Zilliqa

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

Скриншот, иллюстрирующий процесс копирования калькулятора для подсчета рентабельности майнинга Zilliqa:

Согласно данным калькулятора, при цене 0,05 центов за один киловатт/час, при хешрейте в 27,5 mh/s доход от майнинга ZIL составляет несколько долларов в день, что в настоящее время является рекордной прибылью для майнеров.

Кроме того, в сети уже появился онлайн-калькулятор профита майнинга Zilliqa, доступный по адресу https://www.cryptostar.asia/calculator/Zilliqa.

Полезные ссылки