• 03.02.2022 04:28

RandomX

отdemoone

Дек 3, 2019

Monero и Arweave собираются провести валидацию алгоритма доказательства работы
Какой год на дворе? Кажется, ещё вчера слышались разговоры о том, что блокчейн анонимной монеты никогда не обрезать и ASIC в конце концов победят. И что мы видим? Блокчейн вот-вот будет обрезан, и мы на пороге запуска RandomX, который ожидаем, надев свои космические гермошлемы. RandomX ещё предстоит пройти испытания и доказать свою состоятельность, но это один из восхитительных этапов конвейера Monero. Здесь мы расскажем вам о природе алгоритма, о связанных с ним планах, а также об источниках дополнительной информации.

Что такое RandomX?
RandomX — это новый алгоритм доказательства работы (PoW), который проект Monero планирует реализовать в рамках следующего обновления сети. RandomX разработан с целью противодействия ASIC-майнингу и использует случайный код и технологии привязки к памяти, которые не допустят доминирования специализированных аппаратных средств в сети. Поскольку RandomX оптимизирован для использования с обычными потребительскими CPU, сеть станет более децентрализованной и эгалитарной с точки зрения распределения вознаграждений за блоки.

Говард Чу (hyc) расскажет о RandomX на Monero Konferenco, а уже сейчас вы можете заглянуть в репозиторий RandomX на GitHub и получить дополнительную информацию. На момент написания этой заметки процесс аудита RandomX уже был начат. В нём принимают участие Trail of Bits, X41, Quarkslab и Kudelski Group. Реализация рабочего варианта RandomX планируется вместе со следующим обновлением сети Monero.

Что изменится?
ASIC-устройства являются основной жертвой RandomX, но так как алгоритм оптимизирован под CPU, GPU не испытают того же повышения хешрейта. Ранние стендовые испытания с Nvidia (CUDA) показали, что хешрейт повышается на 100‒150%, и ожидается, что этот показатель повысится в результате дальнейшей оптимизации. Ведётся работа по адаптации под AMD GPU (OpenCL). Поскольку алгоритм RandomX привязан к памяти, ожидается, что объём майнинга с применением ботнетов и вредоносного программного обеспечения снизится, так как администраторам будет гораздо проще заметить увеличение потребления памяти. Общее снижение хешрейта в сети повысит размер вознаграждения за блок, стимулируя майнеров, использующие CPU или GPU.

RandomX будет работать в двух режимах с различными требованиями к памяти и производительности. «Быстрый режим» (FastMode) потребует 2 Гб совместно используемой памяти, при этом производительность будет в 4‒6 раз выше, чем в «Лёгком режиме» (LightMode), требующем всего 256 Мб ОЗУ. «Быстрый режим» (FastMode) предназначен для выделенных майнеров. Лёгкий режим позволит полным узлам производить валидацию блоков, не требуя при этом 2+ Гб ОЗУ, поэтому малые устройства (подобные одноплатным ARM компьютерам, Rock64, например) по-прежнему можно будет использовать в качестве автономных узлов.

2.JPG

Сотрудничество по RandomX
В работе над алгоритмом RandomX для Monero приняли участие разработчики tevador, hyc, vielmetti, antanst и SChernykh. И уже другие организации проявляют к нему интерес. Arweave, компания, предоставляющая услуги без серверного хранения, профинансировала аудит, который будет проведён Trail of Bits для сообщества Monero. Также Arweave собираются реализовать RandomX для собственных нужд ещё до того, как это будет сделано Проектом Monero. Arweave предлагает инновационный «криптовалютный» подход к децентрализованному и долгосрочному хранению данных. Майнинг на Arweave опирается как на доказательство работы (proof of work), так и на новую уникальную для Arweave концепцию доказательства доступа (proof of access). Эта концепция стимулирует майнеры Arweave производить репликацию и получать быстрый доступ к данным, которые хранятся в сети.

Wownero также реализует алгоритм RandomX в рамках грядущего обновления до версии v0.6, которая получит название RandomWOW. Код RandomX будет обновлён после прохождения аудита, так что ко времени реализации октябрьского форка Monero в коде будут наблюдаться некоторые расхождения с версией, которую реализует Wownero. Ещё одно отличие будет состоять в том, что RandomWOW будет использовать меньше временной памяти для хеширования, 1 Мб вместо 2 Мб, меньшее количество итераций выполнения VM, а также повышенное количество связанных выполнений VM на хеш с целью снижения стоимости компиляции программы для GPU.

https://github.com/tevador/RandomX