Cos’è il Mining ?

Il mining è il modo utilizzato dal sistema bitcoin e dalle criptovalute in generale per emettere moneta.
La rete memorizza le transazioni all’interno di strutture di dati chiamate in gergo ” blocchi “.

Affinchè un blocco possa essere aggiunto alla catena dei blocchi, ovvero all’enorme database pubblico contenete tutte le transazioni in bitcoin, è necessario che un elaboratore lo “chiuda” trovando un particolare codice, che può essere unicamente trovato a furia di tentativi.

Questa operazione fissa il blocco, impedendo qualsiasi modifica o manomissione futura, e chi trova tale codice viene ricompensato con una certa quantità di bitcoin, più tutte le tasse delle transazioni da lui inserite nel blocco, come incentivo alla “donazione” di tempo macchina alla causa del bitcoin.

L’ operazione è chiamata in gergo mining, Il nome che deriva dal parallelismo bitcoin-oro, infatti c’è un’ analogia tra i minatori che cercavano strenuamente le pepite d’oro nella roccia ed i Miners attuali che cercano di estrapolare una criptovaluta dalla rete.

Un po’ di storia

Quando fu progettata la rete bitcon, il suo creatore dovette affrontare il problema di come emettere nuova moneta.

Tutti i sistemi monetari tradizionali emettono moneta attraverso le banche centrali, ma la decentralizzazione del bitcoin richiede un metodo di generazione della moneta altrettanto decentralizzato.

La soluzione fu di progettare un sistema che elargisse bitcoin come premio ai componenti della rete.

Essi infatti  forniscono potenza elaborativa, necessaria a fortificare e strutturare la rete stessa, secondo un sistema casuale che restituisce bitcoin in modo proporzionale alla potenza fornita da ogni singolo hardware.

Inizialmente, l’unico modo per minare era utilizzare il client originale abilitando la funzione di “generazione monete”, permettendogli di usare tutto il tempo libero della CPU per cercare di chiudere i blocchi.

IL Bitcoin in origine

Dal momento che il bitcoin era ancora sconosciuto ed i partecipanti erano pochi, lasciando un PC acceso tutto il giorno, ci si poteva ragionevolmente aspettare di generare migliaia di bitcoin ogni giorno.

In questa fase il bitcoin non aveva praticamente nessun valore o utilità, il mining era poco più che una donazione a fondo perduto per il bene del progetto.

Il sistema bitcoin è in grado di autoregolarsi: modifica la difficoltà del lavoro necessario a chiudere un blocco in modo tale che in tutta la rete si generi una media di 6 nuovi blocchi ogni ora, questo prende il nome di “difficoltà”

Col tempo, sempre più persone si sono avvicinate al mondo bitcoin, e di conseguenza al mining, aggiungendo la loro potenza elaborativa alla rete.

Questo ha causato l’aumento della difficoltà, diminuendo il guadagno medio per singola macchina da migliaia di bitcoin al giorno a pochi centesimi al giorno.

Mining pool

Per ovviare al problema sono nate le cosiddette “mining pool”, dove gruppi di utenti si uniscono in una “griglia” per garantire un afflusso di denaro più costante rispetto al mining in solitaria.

L’aspetto positivo di questo aumento di difficoltà è stato il consentire l’ aumento di domanda ed offerta, fornendo al bitcoin un valore tangibile e una certa liquidità.

Questo a sua volta spinse la nascita del mining “professionale”, ovvero il costruire potenti macchine, con il solo scopo di lasciarle accese ininterrrottamente a minare (i cosiddetti “mining rig“) e rivenderne il ricavato sul mercato, o addirittura vendere contratti o azioni che consentono agli investitori di guadagnare dal mining senza dover costruire o configurare nulla.

Nel frattempo il mining di bitcoin si è evoluto costantemente, passando dall’uso di  CPU a GPU (Schede grafiche), a FPGA ed è tutt’ora in continua evoluzione.

Al giorno d’oggi il mining di bitcoin è una processo che richiede competenza, hardware dedicato dal costo elevato e investimenti non trascurabili.

La disponibilità di molti computer un tempo usati per minare bitcoin e improvvisamente restati senza lavoro ha portato alla fioritura di criptomonete alternative che possono essere minate solo con hardware “casalingo”.

Ne potrei segnalare due interessanti, una e’ garantita da un deposito in diamanti ed è una novita’ assoluta

L’altra, ha dietro un progetto molto ambizioso che riguarda libertà ed indipendenza, leggi qui.

Ora un po’ di teoria

Tecnicamente, il mining di bitcoin è un’operazione di brute forcing in cui lo scopo è trovare il numero da inserire in un insieme di dati (l’header del blocco) tale per cui il doppio hash SHA-256 di tali dati sia un numero inferiore ad un certo target (obiettivo), target che viene calcolato sulla base del coefficiente di difficoltà: maggiore è la difficoltà, minore è il target e maggiori saranno i tentativi necessari per trovare il suddetto numero.
In pratica, il computer che sta facendo girare il programma di mining riceve l’header del blocco che si sta cercando di chiudere da un client opportunamente configurato (solo mining) o tramite internet da un server apposito (pool mining). All’interno di questa header viene aggiunto un numero, “nonce“, e viene calcolato l’hash doppio del tutto.

Se tale hash è numericamente minore del target, l’header viene mandato al server per l’approvazione, altrimenti la nonce viene incrementata di uno e il controllo si ripete.

Questa operazione viene effettuata diversi milioni di volte al secondo, tanti quanti sono i MHash/sec riportati dal programma di mining. Da notare che il mining è un processo basato sulla pura statistica: ogni tentativo di hashing ha la stessa probabilità di essere quello buono.

Non ha senso dire che servono un certo numero di hash o di tempo per chiudere un blocco, si può esclusivamente parlare di media.

il mining

Commenti