È possibile fare “soldi facili” facendo mining di cryptomonete, come ad esempio i BitCoin? La risposta è no. A meno che le attrezzature e la corrente elettrica non ve la paghi qualcun altro e a voi rimangano tutti i guadagni.

Dissipato il dubbio più importante, veniamo alle cose veramente interessanti e soprattutto a come funzionano.

 

 

Cosa si intende per CryptoMoneta?

È una valuta virtuale e, proprio come le valute reali, ha dei tassi di cambio e apposite agenzie che si offrono (pagando il giusto) per cambiare soldi veri in cryptomonete e viceversa.

Una delle prime cryptomonete e anche una delle più conosciute è il BitCoin, ma ne esistono anche altre. Ad esempio Monero, Litecoin, Dogefcoin, Nextcoin e i Nubits. Per darvi un’idea, attualmente  un BitCoin vale poco più di 11.600 dollari.

 

Valutazione Bitcon del 3 dicembre 2017 (coindesk.com)

 

Qui l’andamento del suo valore nell’ultimo anno, fino a dicembre 2017. Un andamento praticamente esponenziale.

Questo andamento dovrebbe bastare a spiegare l’estremo interesse nella faccenda, soprattutto da chi vorrebbe specularci sopra.

Lo scopo di queste cryptomonete, neanche a dirlo, è quello di avere un modo per pagare e vendere servizi nel più assoluto anonimato. Un modo economico, veloce e sicuro. Soprattutto, lo scopo è quello di rendere impossibile tracciare la singola transazione.

Queste caratteristiche sono sfruttate sulla rete e soprattutto nella cosiddetta Darknet, anche da delinquenti della peggior specie.

Ma non solo. Infatti consentono anche a comuni mortali di aprirsi un “borsellino virtuale”, da tenere sul proprio PC usando un programma client. Oppure su servizi online dedicati allo scopo.

Il sistema è peer-to-peer, ovvero è un sistema distribuito, tollerante ai guasti, che ha come punto di forza l’anonimato delle transazioni e soprattutto la loro autenticità.

Ogni singola transazione viene inserita nel meccanismo di “Blockchain” e può essere  complicato risalire all’identità di chi paga e chi riceve Bitcoin.

Se si prendono adeguate precauzioni è quasi impossibile seguire o scoprire da dove è partito o dove è arrivato il denaro. Ma contemporaneamente l’infrastruttura assicura l’autenticità della transazione.

Dal punto di vista del valore intrinseco e del tasso di cambio, queste monete virtuali funzionano più o meno come i materiali preziosi. O come il succo d’arancia congelato.

L’oro, per esempio, si estrae dalle miniere e chiunque può acquistarne quantità più o meno grandi. Al tasso di cambio attuale di circa 35€ al grammo (quotazione al 14/10/2017).

Le miniere, o meglio i loro proprietari, sono quelli che immettono nuovo oro nel mercato che sarà poi possibile acquistare.

In questo ambiente virtuale i minatori si chiamano “miners“. Invece di scavare il terreno col piccone o andare nel Klondike a setacciare lo Yukon, i miners usano risorse di calcolo per “scavare” nuovi bitcoin da immettere nel sistema.

 

 

 

Mining di cryptomonete e funzioni hash

Dal punto di vista del calcolo, l’operazione di mining consiste nel trovare sequenze da 256 bit. In maniera più specifica sono degli hash in formato SHA256, dalla forma e dalle proprietà matematiche molto particolari.

Un hash è una funzione non reversibile che consente di ricavare una “firma” di un insieme di informazioni. La variazione di un singolo bit nell’insieme originale si ripercuote in maniera “pesante” sul codice hash risultante.

Questo lo rende un algoritmo molto affidabile per operazioni di firma digitale, per esempio.

Nel nostro caso le informazioni di partenza sono quelle di una singola transazione di bitcoin, un timestamp (data e ora al microsecondo della transazione), informazioni di contorno della transazione stessa e una sequenza di caratteri aggiunta dal “miner” (il classico sale e pepe Q.B.). Il miner prova ad aggiungere sequenze diverse alla transazione e a ricalcolare l’hash, fino a quando l’hash prodotto non comincia con un certo numero di bit a zero.

A Febbraio 2017 erano richiesti i primi 18 bit a zero ai nuovi hash trovati per essere considerati “buoni”.

Questa particolarità li rende molto difficili da trovare. Si tratta di cercare sequenze particolari su un numero totale di combinazioni pari a 1.158E+77. Per quelli poco affini alla notazione scientifica, questo è un numerone di 78 cifre. Per dare un’idea, gli scienziati stimano che in tutto l’universo ci possano essere da 1079 a 1081 (1E+81) atomi.

È l’equivalente di mettere 18 monete in una scatola, agitare e rovesciare le monete per terra. E ripetere il tutto finché tutte le monete non escono con la testa in alto.

La probabilità è circa 1:256.000, quindi, facendo almeno una milionata di tiri l’evento dovrebbe capitare almeno una volta. Non sto qui a spiegarvi che partire dagli hash possibili e “provarli tutti” non è una soluzione praticabile.

Ma essenzialmente il modo è quello di generare una sequenza casuale, appenderla ai dati della transazione, calcolare lo SHA256 e vedere se rispetta le regole dei bitcoin. Ogni nuovo hash trovato va a far parte del meccanismo denominato “blockchain“, che è la base del sistema distribuito che garantisce l’autenticità delle transazioni (vedi anche questo bell’articolo).

 

 

 

Si, ma come li trovo questi hash?

I metodi di ricerca quindi consistono nello scrivere dei software da far girare su processori CPU o GPU a larga diffusione, oppure progettare e costruire hardware dedicato (ASIC e affini) per fare questo mestiere.

Esistendo i BitCoin da circa 8 anni, la quantità di hash già “estratti” è notevole e trovarne di nuovi, per via della sempre maggior quantità di zeri consecutivi richiesti all’inizio della sequenza, diventa sempre più complicato.

 

 

Old style

Negli anni sono state costruite intere server farm per fare queste operazioni. Usando hardware dedicato progettato per lo scopo oppure batterie di acceleratori video 3D (anche modelli particolari, costruiti senza l’inutile uscita video) che macinano hash a milionate al secondo.

Ad oggi, con gli hash sempre più rari, un metodo del genere è diventato antieconomico. Le server farm costano, consumano tanta corrente e soprattutto hanno una probabilità molto vicina a 1.0 di avere dell’hardware guasto.

Per questo da 2-3 anni a questa parte la tendenza si è spostata sulla ricerca “hobbystica”.

 

 

Do it yourself

Ovvero autocostruirsi un sistema (un PC) ben carrozzato di alimentatori e acceleratori video di ultima generazione e usare la potenza di calcolo messa a disposizione da questi mostri per spazzolare hash. E ricavare spiccioli.

Chiaramente si viene pagati se e solo se si trovano degli hash “buoni”. Visti i costi in termini di hardware e corrente elettrica e ricambi e soprattutto le basse probabilità di trovare hash in tempi ragionevoli, anche avendo hardware mostruosi, l’ultima tendenza è quella di associarsi in pool di calcolo.

 

 

Pooling

Apposite società accumulano iscritti i quali scavano hash utilizzando il loro hardware personale. Aggregando la potenza di calcolo e i risultati di tutti questi iscritti si riesce ad avere una certa continuità di hash trovati nel tempo.

Questo consente a chi gestisce il pool di trattenere una percentuale dei guadagni e soprattutto di dividere il rimanente tra TUTTI i partecipanti al pool. Garantendo a questi un guadagno costante mentre fanno girare i software sui loro sistemi.

 

 

 

Parliamo di numeri

Con un hardware come quello del video riportato qui sopra, dal costo di setup di circa 6.000 eurini, partecipando ad un pool si riescono a guadagnare circa 16$ / giorno. Che se pagate voi la bolletta elettrica e mettete in conto che qualcosa si guasterà ogni tanto, vuol dire che comincerete a guadagnare qualcosa, forse, dopo circa 2 anni.

Mettere in conto qualcosa che si guasta è obbligatorio, perché qui parliamo di hardware di fascia consumer che non è ne progettato ne costruito per girare al 100% di carico h24 per 365 giorni all’anno. Quindi qualcosa si guasterà, e anche molto presto.

 

 

Bitcoin for nothing (and chicks for free)

Un’alternativa che si è osservata quasi da subito, da quando qualcuno ha pensato di guadagnare soldi con il mining, è quella di “regalare” ad un utente più o meno ignaro un software che fa il mining. E quindi farlo girare sulla sua CPU/GPU.

In questo modo si spostano i costi fissi e variabili dell’operazione sul povero utente. Che magari si guarda solo un film in streaming sul suo portale diversamente onesto pirata preferito. Mentre lo guarda, un po’ di codice Javascript incorporato nella pagina web comincia a girare sul suo browser e a fare il minatore. A spese dell’utente, ovviamente.

Oppure si confeziona un apposito malware, che una volta installato nel sistema sta più o meno nascosto a minare, sempre a spese del sistema infettato.

 

 

Sostenibilità

Vediamo anche l’impatto globale del mining. Mettiamo da parte la sostenibilità dell’hardware, ovvero:

  • l’estrazione e la produzione delle materie prime
  • la manodopera (a bassissimo costo), necessaria a costruire e assemblare acceleratori 3d e server
  • i costi ambientali di smaltimento di tutto questo materiale, nel momento in cui questo arriva a fine vita

Mettiamo da parte tutto questo e rimaniamo nel consumo di elettricità che questa operazione richiede, a livello globale, per tenere in piedi tutto il sistema delle blockchain, per la sola valuta Bitcoin.

Partendo da alcune ipotesi sono stati fatti degli studi a proposito. Chiaramente ipotesi di partenza differenti possono portare a risultati molto diversi.

 

 

Valuta virtuale, elettricità reale.

Vediamo invece in sintesi i risultati di uno di questi studi recenti. Attualmente il consumo stimato è di poche decine di TeraWatt/ora all’anno ed è in crescita costante.

Il business di estrazione, contando ricavi e costi, è attualmente ancora in positivo. E’ anche una delle attività (legali) più speculative che ci siano in giro.

Ad oggi, Novembre 2017, l’attività di estrazione richiede un consumo elettrico paragonabile a quello della Nigeria o di più di 2 milioni di famiglie americane. Per fare un paragone con altri sistemi di pagamento molto diffusi, VISA per esempio (uffici esclusi) consuma l’equivalente di circa 50.000 famiglie. Misurando la capacità di calcolo complessiva dei miners attuali, si raggiungono gli 11 miliardi di GH/s (GigaHash per secondo).

Il rapporto col totale di elettricità mondiale prodotta e consumata è di circa lo 0,12%. Che, tanto per rimanere in tema, sono numeri enormi. E più aumentano le quotazioni del Bitcoin, più la gente sarà incentivata ad unirsi alla speculazione globale.

Un metodo per migliorare questa sostenibilità, evidentemente bassa, potrebbe essere quello di utilizzare un algoritmo diverso per il Blockchain. Chiaramente l’algoritmo sostitutivo dovrà essere sempre di tipo distribuito, ma deve richiedere meno risorse di calcolo. Questo senza rinunciare all’attuale livello di sicurezza delle transazioni.

 

 

Note e Correzioni

Gianmaria Allisiardi, un nostro lettore, ci fa notare un paio di imprecisioni nell’articolo, ecco le sue correzioni che pubblichiamo con piacere:

 

“Esistendo i BitCoin da circa 8 anni, la quantità di hash già “estratti” è notevole. Questo fa si che trovarne di nuovi, con più zeri consecutivi all’inizio della sequenza, diventi sempre più complicato.”

Questo è un concetto totalmente sbagliato. Non esiste alcun tipo di controllo su hash già “estratti” o generati. Anche se accadesse, cosa comunque assai difficile, non sarebbe affato un problema.

Il fatto che due blocchi abbiano lo stesso hash sarebbe una collisione (cosa assai rara con questa funzione di hash che prevede 64^36 risultati univoci, togliamo anche i primi 20 bit, le probabilità sono comunque ancora moltissime), ma comunque non pregiudicherebbe minimamente l’infrastruttura o il suo funzionamento.

 

“Dal punto di vista tecnico la transazione che invia il denaro da un utente a un altro somiglia molto all’instradamento di un pacchetto sulla rete TOR. È impossibile seguirlo o scoprire da dove è partito o dove è arrivato. Ma contemporaneamente l’infrastruttura ne assicura l’autenticità.”

Anche qui non ci siamo. Tutta la blockchain è completamente trasparente. Si può andare a ritroso di transazione in transazione, fino ad arrivare all’address del miner che ha minato quel BTC. È come se tutti i nostri conti correnti e relativi estratti conto fossero aperti ed accessibili a tutti. L’unica differenza è che non c’è un legame tra la nostra chiave privata e la nostra identità.

Se però acquistiamo i bitcoin su degli exchange, ci vengono chiesti: documenti, numero di telefono, bollette di utility. Quindi gli stati possono tranquillamente andare dagli exchange e chiedere la lista dei clienti. Il messaggio che potrebbe passare leggendo il post è sbagliatissimo, paragonarlo a tor un assurdità.

 

“Ci sono delle tecniche matematiche che “indirizzano” la ricerca verso hash buoni.”

Se così fosse, la scoperta dell’autore sarebbe da nobel per la matematica, significa che avrebbe trovato il modo di crackare l’SHA256. Parliamo di una funzione che sta alla base della crittografia applicata a tutte le comunicazioni on line a partire dall’https, se così fosse l’ultimo dei nostri problemi sarebbe il bitcoin. Ribadisco il concetto espresso prima, non esistono hash “buoni”. Tutti sono validi, anche per assurdo uno già utilizzato.

 

NdA: Ringrazio Gianmaria per le correzioni, le precisazioni e i suggerimenti.