Monero (XMR) al lavoro sul nuovo Proof of Work RandomX anti-ASIC
Mining

Monero (XMR) al lavoro sul nuovo Proof of Work RandomX anti-ASIC

By Emanuele Pagliari - 12 Giu 2019

Chevron down

Gli sviluppatori della privacy coin Monero (XMR) stanno testando il nuovo meccanismo di Proof of Work RandomX con l’obiettivo di eliminare nuovamente gli ASIC ed FPGA dal mining della criptovaluta.

Read this article in the English version here.

RandomX è stato inizialmente sviluppato da Howard Chu – CTO e fondatore della software house Symas Corporation – nonché autore anche del Lightweight Directory Access Protocol (LDAP), un tipo di database utilizzato attualmente dalla blockchain di Monero (XMR).

Attualmente il nuovo Proof of Work RandomX sta subendo quattro diversi audit del codice, stando alle parole di Chu ed è previsto che essi vengano terminati entro luglio.

RandomX: nuovo Proof of Work anti-ASIC

Monero ha sempre mostrato fin dalle origini un certo astio nei confronti del’hardware specializzato per il mining. In questi ultimi 18 mesi infatti, la moneta ha subito ben tre fork, di cui l’ultimo avvenuto lo scorso 9 marzo, con l’obbiettivo di apportare alcune modifiche al Proof of Work basato sul Cryptonight per escludere nuovamente gli ASIC e gli FPGA dal mining della criptovaluta.

A partire dallo scorso febbraio, gli sviluppatori della moneta si sono messi al lavoro sul nuovo Proof of Work RandomX, con l’obiettivo di rendere il mining di XMR nuovamente egalitario. Nonostante gli sforzi e cambiamenti inseriti nel nuovo CryptoNight-R, purtroppo il team ha appurato che le aziende specializzate nella produzione di ASIC sono in grado di riprogettare e produrre nuovi ASIC ad-hoc per i nuovi PoW in tempi piuttosto brevi. Proprio per questo motivo si è reso necessario creare un nuovo PoW completamente da zero.

Diego Salazar, un contribuente al progetto Monero, ha affermato:

“Abbiamo visto che continuare a fare fork non era sostenibile … Ci vuole molto tempo e sforzi per preparare un fork dopo l’altro. Certo, si decentralizza l’attività di mining, ma si centralizza in un’altra area, ovvero la fiducia negli sviluppatori.”

Proprio per questo motivo Monero si sposterà sul nuovo Proof of Work RandomX, eliminando gli ASIC per un lungo periodo di tempo, si presume. L’algoritmo – qual’ora si raggiungesse il consenso della community – dovrebbe venir implementato ad ottobre 2019 in occasione del prossimo fork di upgrade.

Secondo Salazar, se non dovesse venir trovato l’accordo, probabilmente Monero diverrà in maniera definitiva ASIC friendly.

Proof of Work RandomX: tornano in gioco anche le CPU?

Secondo Chu, il Proof of Work RandomX è progettato per essere CPU-centrico. I comuni processori dei moderni PC vantano un’architettura hardware che gli consente di eseguire tutte le possibile operazioni, sfruttando una serie di istruzioni native presenti nella propria ISA (instruction set).

Esistono diverse ISA, alcune adottate nei processori desktop (x86), altre in quelli mobile (di solito ARM), caratterizzati da un’ISA piuttosto ridotta per massimizzare l’efficienza (RISC), visto il differente caso d’uso.

Gli ASIC invece, sono un’evoluzione degli FPGA, spesso utilizzati per la prototipazione degli ASIC stessi. Per progettare un ASIC infatti, spesso si parte da un chip non completamente specializzato come un FPGA (Gate Array, sistemi a celle o i Sea of Gates) a cui, una volta definito il layout funzionale, viene rimossa tutta la componentistica di configurazione dei vari transistor e blocchi logici programmabili (memorie, etc), così da rendere il device ottimizzato a livello hardware per l’esecuzione di una sola funzione.

Ne consegue dunque che gli ASIC sono in grado di offrire prestazioni centinaia di volte maggiori nell’esecuzione di una determinata operazione specifica rispetto ad un generico processore per computer.

Salazar, spiegando il funzionamento di RandomX, ha definito il concetto di spettro di potenza di calcolo, sottolineando come da un lato vi siano processori in grado di eseguire qualsiasi operazione, dall’altra ASIC estremamente efficienti e performanti limitati a poche semplici operazioni.

Le CPU sono la risorsa informatica più distribuita al mondo, secondo Chu, che ha poi affermato:

“Praticamente tutti nel mondo hanno ad oggi in tasca uno smartphone con una CPU in grado di minare Monero su RandomX”.

L’obiettivo è decentralizzare al massimo il mining, motivo per cui il Proof of Work RandomX prediligerà le CPU rispetto agli ASIC per almeno i prossimi tre-cinque anni, stando a Chu.

GPU fuori dai giochi … per ora

Dal momento che RandomX favorisce le CPU, anche le GPU vengono penalizzate nel mining, seppure in maniera minore rispetto agli ASIC.

Le GPU – comunemente chiamate schede video – sono infatti unità di elaborazione specializzate nell’esecuzione di task paralleli e molto sequenziali. A differenza delle CPU dunque, non possono essere utilizzate per eseguire qualsiasi operazione, ma solo per funzioni altamente parallelizzabile, sequenziali e ripetitive.

“I dati entrano dalla testa della pipeline, viene eseguita l’elaborazione e tutto viene sputato fuori alla fine della pipeline. C’è un trasferimento molto veloce dei dati dall’ingresso all’uscita, che avviane praticamente in linea retta”.

L’attuale algoritmo mining di Monero, chiamato CryptoNight, vede una presenza massiccia di GPU miner, viste le migliori prestazioni ed efficienza rispetto alle CPU. Tuttavia inizialmente tale PoW era destinato esclusivamente al CPU mining, solamente che le GPU moderne hanno così tanta memoria e così tanta larghezza di banda che risultano molto efficienti nell’esecuzione del Cryptonight, sviluppato nel 2013, quando l’hardware era ben diverso.

Con l’attivazione di RandomX, Chu prevede che le CPU saranno almeno tre volte più performanti delle GPU nel mining di Monero.

Questa scelta ha comportato una prima frammentazione nella community Monero, la quale si è mostrata scontenta di questa drastica scelta. Tuttavia alcuni sviluppatori stanno già lavorando per utilizzare le GPU nel mining su RandomX.

Per il momento le soluzioni Nvidia ottengono prestazioni accettabili sfruttando CUDA, anche se è probabile che nei prossimi mesi le prestazioni migliorino. Situazione pessima invece per le GPU AMD, dal momento che non è ancora stato implementato al meglio un miner in grado di sfruttare l’OpenCL a dovere.

In ogni caso a farla da padrone sono le CPU, in particolare, dai primi test, le CPU AMD Ryzen, in grado di offrire elevate prestazioni e bassi consumi per via della grossa cache dei processori AMD. La situazione potrebbe essere ancora più rosea per i nuovi Ryzen 3000, muniti di ben 70MB di cache L3 e ben 12 e 16 core.

Emanuele Pagliari
Emanuele Pagliari

Ingegnere delle telecomunicazioni appassionato di tecnologia. La sua avventura nel mondo del blogging è iniziata su GizChina.it nel 2014 per poi proseguire su LFFL.org e GizBlog.it. Emanuele è nel mondo delle criptovalute come miner dal 2013 ed ad oggi segue gli aspetti tecnici legati alla blockchain, crittografia e dApp, anche per applicazioni nell'ambito dell'Internet of Things

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.