Как работает новый алгоритм Proof-of-Work RandomX от Monero в Enecuum?

20 декабря 2019
Enecuum

Финальные доработки алгоритма майнинга Enecuum в первую очередь продвигаются благодаря сообществу, которое усиленно помогает в тестировании протоколов в тестовой сети. Некоторое время назад принципы работы системы были рассказаны простым и доступным языком в обзорной статье о Trinity.

Разработанная система является интеллектуальной комбинацией существующих подходов майнинга, а именно: Proof-of-Work (PoW), Proof-of-Stake (PoS) и Proof-of-Activity (PoA). Каждый элемент системы несет свои функции, а именно: PoW генерирует блоки, PoS отвечает за распределение блоков между узлами PoA, и, непосредственно, сам PoA, который отвечает за добавление блока в цепочку группой мобильных телефонов. Награды распределяются между узлами по-разному.

Без сомнения, PoA на мобильных устройствах тратит энергию, но совершенно незначительную по сравнению с аналогами на PoW – наша предыдущая работа подробно описывает измерения энергопотребления на разных телефонах и сравнение нашего алгоритма с другими системами майнинга на мобильных телефонах. Любопытствующих приглашаем ознакомиться с результатами по ссылке на статью! В свете того, что мы уже рассмотрели работу PoA, данный пост ставит своей целью ответить на вопрос многих пользователей нашей системы:

“Какой будет алгоритм майнинга PoW в Enecuum и почему?”

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

Проблема использования SHA-256 в PoW

Enecuum стоит на пороге перехода от тестовой сети к постоянной и шаг через этот порог ждут многие. В преддверии этого перехода, команда предложила сообществу первыми опробовать работу PoW в отдельной от тестовой сети BIT. Таким образом временно появился токен BIT и его личная сеть обитания с алгоритмом SHA-256 как доказательство PoW. По результатам тестирования, SHA-256 справляется со своей задачей и подходит проекту в техническом плане, если бы не одно но — эффективность его вычисления на ASIC-майнерах, что может быть рассмотрено как плюс, так и минус. 

Одной из конечных целей Enecuum является создание справедливого PoW, делающего все методы майнинга конкурентоспособными, что и поставило использование SHA-256 под вопрос. После большого количество кофе и обсуждений, командой было принято решение опробовать в сети BIT и другой алгоритм, а именно RandomX, впервые введенным Monero. Заметим, что тестирование RandomX в BIT не является окончательно утвержденным, однако алгоритм обладает несколькими характеристиками, которые заметно выделяют его на фоне других PoW алгоритмов.

Айсики-Айсики-Айсики

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

Любопытно отметить, что и Monero работал на алгоритме CryptoNight (разрабатывался для работы CPU), но пал под напором ASIC майнеров.

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

Обратимся к истокам блокчейна – системы, ставящей своей целью уход от централизованного взаимодействия. Что ж, ASIC, по сути, поощряет главного врага крипто-пространства — централизацию. Фермы ASIC производятся вполне конкретной группой предприятий, что приводит к ситуации, где одна-две компании могут получить монополию на большую часть хэш-рейта блокчейна. Вот только им выгоднее продавать свои устройства, по крайней мере, пока. Никто ведь не отменял атаку 51%.

Команда Enecuum все же не поддерживает возможность перехода их системы к централизованной, что и послужило шагом к уходу от SHA-256.

Альтернативные решения 

На ранних этапах BIT хотели строить на алгоритме EquiHash, также устойчивого к работе ферм. Однако у него есть существенный минус, относящийся к скорости нахождения хэша. 

От нового алгоритма требуется, чтобы изменения хэшируемых данных (микроблоков) не влияли на скорость нахождения хэша. В вышеупомянутом EquiHash появление нового микроблока и обработка данных в нем стерла бы уже проделанную работу. Система Enecuum спроектирована таким образом, что PoW заинтересован экономически добавлять новые микроблоки в хешируемые данные, однако потеря проделанной работы создаёт дилемму: получить меньшее вознаграждение с большей вероятностью или гнаться за дополнительной прибылью, добавляя новые микроблоки, и рисковать не успеть вовремя создать блок, полностью потеряв награду, проще говоря, PoW ставит экономические мотивы превыше поддержания самой сети. 

В случае RandomX, функция хэширования является случайной, в отличии от EquiHash, поэтому, несмотря на изменение данных, скорость нахождения хэша в среднем не меняется.

Почему именно RandomX

Основная особенность RandomX — это предпочтение CPU-майнинга. Изначально возможность майнинга через GPU в Monero не предусматривалась, однако после серии независимых проверок (большинство из которых были профинансированы самими пользователями Monero), разработчики сделали несколько ключевых изменений в работе алгоритма. Таким образом стал возможен и GPU-майнинг,  при этом хэшрейт на данный момент сравнима с предыдущим алгоритмом CryptoNight. 

RandomX сочетает в себе, с одной стороны, качество справедливости за счет случайного выбора функции хэширования и, с другой стороны, снижает желание пользователей переходить на ASIC, так как его наличие не влияет на доходность. Говоря техническим языком, алгоритм использует виртуальную машину со специальным набором инструкций. Любой исполняемый код переводится в нативный код CPU на ходу, и выполненные программы консолидируются в 256-битный результат, используя криптографическую функцию хэшинга Blake2b

Таким образом Enecuum нацелен на повышение справедливости между всеми участниками PoW в системе.  Текущий избранник RandomX имеет несколько режимов работы, а также вновь открывает возможность участия для домашних CPU и GPU майнеров. 

Продолжайте следить за новостями Enecuum!

Thanks for mining with us!