Как майнить Chia на жестких дисках
Криптовалюта Chia существует уже довольно давно, примерно с 2017 года. Но только сейчас о ней стало известно широкой общественности и что не менее важно появилась возможность передавать монеты между кошельками, а также торговать ими на биржах. По заявлениям разработчиков Chia намного экологичнее биткоина потому что для её майнинга нужны не видеокарты, а жесткие диски, которые потребляют намного меньше энергии.
В этой статье я попробую рассказать о том как майнить Chia на жестких дисках, какое оборудование подобрать и стоит ли вообще это делать сейчас.
Содержание:
Как работает Chia Coin
Криптовалюта Chia Coin создана в соединённых штатах, разработчиком протокола BitTorrent Бремом Коеном. Эта монета позиционируется как зеленая, потому что вместо использования алгоритма Proof of Work, требующего выполнять определённые вычисления для создания блока и получения награды, здесь используется Proof Of Space and Time. Мое описание алгоритма будет сильно упрощённым, но оно поможет понять как работает эта монета.
Вся добыча состоит из двух этапов: plotting (от plot — участок) — создание на жестком диске файлов с данными необходимыми для майнинга, и сам майнинг, который называется здесь farming. Прежде чем вы можете майнить вам надо создать участки на жестком диске. Когда участки будут готовы и программа синхрнизируется с сетью, начинается майнинг. Когда в сети появляется новый блок, по сети рассылается хэш блока и все майнеры ищут в своих плотах такой хэш. Но найти его не достаточно, для того чтобы получить награду нужно чтобы вам повезло. Вероятность получения награды зависит от процента занимаемого вами в сети пространства. Чем больше плотов имеет ваша ферма, тем больше вероятность получения награды. Награда за блок составляет 64 монеты, однако делиться она сразу между 32 фермерами. Поэтому каждый получит по 2 монеты за успешно созданный блок.
А стоит ли майнить сейчас
Майнинг Chia — вещь довольно интересная, поскольку вам достаточно только создать плоты, а потом вы можете о них забыть и просто ждать получения награды. Но на момент написания статьи ситуация с майнингом Chia Coin сложилась довольно неоднозначная.
Если вы начинающий в этом деле, как и я, то наверное вы не захотите вложить несколько сотен тысяч в оборудование для майнинга, а захотите попробовать как всё работает с небольшими объемами и затратами, а потом уже ориентироваться по ходу дела. Это могло сработать ещё месяц-два назад, но сейчас сложность сети уже выросла настолько что майнить в соло с объемом 10-20 терабайт не выгодно.
Например, на данный момент время ожидания награды при 20 терабайтах составляет 3 месяца, хотя ещё месяц назад этот же срок был актуален для 10 терабайт. Если сеть продолжит расти такими темпами, то срок получения будет отодвигаться бесконечно.
Решением могло бы стать использование пулов. Но официальных пулов ещё нет, а на неофициальных порог вывода постоянно меняется. Например, на hpool на данный момент порог вывода 0,2 Chia, а с теми же 10 терабайтами ждать этой цифры придется очень долго. Это на данный момент, без учёта того, что сложность сети растёт.
Всё бы ничего, но разработчики обещают, что после выхода официальных пулов, для участия в них придется создать новые плоты. На создание одного плота (102 Гб) на HDD уходят примерно сутки. Пока вы заполните 3 Тб пройдёт месяц. А 10 тб? Создание плотов можно ускорить за счёт SSD, только этот процесс очень сильно расходует ресурс SSD дисков из-за большого объема записываемых данных. Пулы должны выйти уже в конце мая, возможно начале июня. Исходя из выше перечисленного, в соло майнинге для домашних пользователей интереса мало, а жечь SSD диски для того только чтобы через несколько недель делать это снова ничего не заработав смысла нет.
Я думаю, что на данный момент стоит развернуть ноду, создать несколько плотов без использования SSD и посмотреть как это работает. А когда выйдут пулы уже пробовать что-то делать.
Как выбрать жесткий диск для майнинга Chia
Прежде чем начать майнинг Chia Coin нужно выбрать жесткий диск. Для фарминга подойдёт любой HDD, естественно, чем выше емкость, тем лучше. Скорость здесь не имеет большого значения. Многие рекомендуют диски от Segate, но я думаю, что большой разницы нет.
С плотингом дело обстоит иначе. Тут весь процесс ограничивают не в ресурсы процессора и памяти, а скорость работы с диском. Скорость записи для хорошего HDD диска примерно 200 мегабайт в секунду. SSD подключаемые с помощью интерфейса SATA способны выдать до 600 мегабайт в секунду, а NVMe диски, подключаемые к PCI Express — до 2000 Мб в секунду. Но для плотинга нужна не совсем эта скорость. Во время плотинга программа выполняет множество мелких операций чтения и записи с диска, поэтому больше важны задержки между запросом к диску и результатом. У HDD задержки измеряются в миллисекундах, потому что уходит время на перемещение считывающей головки к нужному сектору. Для SSD задержки уже составляют наносекунды. Поэтому для плотинга надо брать именно SSD. Что касается скорости записи, то при создании одного плота средняя скорость записи данных на диск в районе 200 мегабайт в секунду. То есть не стоит гнаться за NVMe, а можно взять обычный SSD его скорости хватит на плотинг двух-трех плотов паралельно.
Ресурс SSD ограничен. Объем записи для генерации одного плота составляет примерно 2 Тб, хотя при нормальной работе на диск пишется в день не более 20 Гб в день. При таком усиленном использовании ресурса SSD хватит не на долго. Вообще, у каждого SSD есть параметр TBW, в котором указано количество терабайт, которые можно записать на этот диск. Для SSD широкого потребления обычно этот параметр не указывается, но если начать искать, то можно найти. Составляет он обычно не более 500-1000 терабайт. Этого хватит примерно на 200-500 плотов.
Что касается объема, то 512 Гб — 1 Тб будет достаточно для начала. Для генерации одного плота надо примерно 300 Гб места на SSD диске. На диске объемом 1 Гб параллельно вы сможете сеять не более трех плотов. Конечно можно и больше, но тогда вы всё равно приходите к лимиту скорости и ваши плоты будут обрабатываться дольше. Ещё учтите что для обработки одного плота надо 1 ядро или поток процессора и 3 Гб оперативной памяти.
Ещё не советую брать SSD NVMe, которые подключаются по USB 3.1. Хотя интерфейс поддерживает скорость до 1000 мегабайт в секунду, можете попасть на диск, который работает не быстрее обычного HDD.
Таким образом, если вы хотите только попробовать, а уже потом смотреть что из этого получится, то можно создавать плоты на HDD, на хорошем диске создание одного плота займет примерно 8 часов, или же купить SSD, на котором один пот будет генерироваться за 3-4 часа. Если же вы хотите заниматься серьезно, то лучше взять серверный SSD с TWD не менее 5 пентабайт и объемом 1 Тб или больше. Это позволит создавать плоты в несколько потоков.
Как майнить Chia в соло
Когда всё оборудование готово и подключено, необходимо настроить программное обеспечение. Майнить можно как в Windows, так и в Linux. Есть даже клиент для командной строки. Но в данном случае давайте рассмотрим простой вариант с майнингом в графическом интерфейсе.
1. Установка Chia Blockchain
Скачать последнюю версию клиента Chia можно на официальной странице программы в GitHub.
Просто скачайте исполняемый файл для вашей операционной системы. Для Windows это exe файл, а для Linux deb или rpm пакет (в зависимости от дистрибутива). Затем запустите этот файл и следуйте инструкциям установщика. Когда всё будет готово, появится ярлык на рабочем столе.
2. Выбор языка
По умолчанию программа на английском языке. Если вы хотите русский или какой-либо другой, то можете поменять язык в правом верхнем углу экрана:
3. Создание кошелька
Далее нужно создать ключи вашего кошелька. Обратите внимание, что если вы хотите использовать программу на нескольких компьютерах, то для каждого компьютера надо создавать новый ключ. Для создания ключа кликните по кнопке Создать новый приватный ключ:
4. Сохранение мнемонической фразы
Дальше программа предложит вам сохранить 24 слова, с помощью которых в будущем можно будет восстановить ваш кошелек. Нажмите кнопку Далее и запишите полученные слова:
Сразу же после этого вы попадаете в кошелёк, где программа начинает синхронизацию с сетью. Но для того чтобы начать создавать плоты вам не обязательно ждать завершения синхронизации.
Если синхронизация не идёт или идёт медленно, необходимо добавить больше нод, с которых ваша программа может скачать данные. Список нод можно найти здесь. Их можно добавить с помощью кнопки Подключится к другим узлам. Обычно ещё рекомендуют открыть порт 8444. Но это не обязательно. Это необходимо только для того чтобы к вам могли подключаться другие люди и скачивать у вас данные. Возможно, если этот порт будет открыт, то синхронизация будет работать быстрее, у меня с закрытым портом синхронизация полностью выполнилась примерно за неделю.
5. Создание плотов
Для создания плотов перейдите на вкладку Участки или Ферма и выберите Добавить участок:
В настройках создания участка надо выбрать размер участка, который вы хотите создать. Для текущей сложности сети стоит использовать участки k=32. Они занимают 101.4 Гб и требуют 239 Гб пространства во временной папке. Затем надо выбрать количество участков. Параллельный засев первые разы лучше не использовать и посмотреть за сколько засеется один участок. При параллельном засеве учитывайте что на каждый участок надо 3 Гб ОЗУ и 239 Гб пространства во временной папке:
Тут же можно настроить дополнительные опции, увеличить использование оперативной памяти и тому подобное, но я не заметил, что это на что-то положительно влияло.
Ниже необходимо выбрать папку для записи временных файлов, а также папку для сохранения готовых плотов:
После нажатия кнопки Создать участок все участки добавятся в очередь и начнется процесс создания.
6. Фарминг
Когда создание участков завершится, они будут готовы фармингу. Но останется дождаться завершения синхронизации чтобы майнить Chia на жестких дисках:
А после того как программа будет синхронизирована с сетью, начнётся фарминг:
Ну и окно фарминга:
Выводы
В этой небольшой статье мы рассмотрели как начать майнить Chia на жестких дисках и стоит ли это делать. Скоро появится поддержка пулов и тогда можно будет начать использовать неиспользованное дисковое пространство. Соло майнинг будет уделом больших игроков, сложность сети будет расти, но если вместе со сложностью будет расти цена, то монету и дальше будет выгодно майнить.