Quando si parla di Bitcoin ci sono molti concetti da tenere in considerazione: il mining, la Blockchain, il consenso e molti altri ancora. Uno degli aspetti più intricati per capire fino in fondo il funzionamento di questa rete è l’hash-rate, o potenza computazionale, che serve generalmente per la sicurezza del sistema stesso. Cerchiamo di capire perché è un parametro così importante e come questa potenza viene utilizzata.
Come già sappiamo ogni 10 minuti circa un nuovo blocco dati, con all’interno le transazioni degli utenti, viene creato da un miner e viene aggiunto alla catena di blocchi distribuita tra tutti i partecipanti.
Questo blocco per essere “chiuso” e quindi accettato da tutti deve essere messo in sicurezza da una funzione matematica chiamata SHA256 (Secure Hash Algorithm). Questa funzione crea, partendo da un input di grandezza variabile e potenzialmente enorme, un output, o “impronta digitale”, di lunghezza fissa.
Per trovare questa impronta, e quindi il codice hash, serve della potenza computazionale intesa come capacità da parte del nostro computer o hardware di fare molti calcoli al secondo. Il calcolo della funzione hash non è semplice e presuppone trilioni di trilioni di elaborazioni prima di trovare la soluzione giusta.
L’unità di misura della potenza computazionale di tutta la rete Bitcoin è definita come hash-rate, inteso come la quantità di calcoli che vengono eseguiti ogni secondo per trovare la soluzione al problema matematico. Per fare un esempio, un hash-rate di 10Th/s (therahash al secondo) equivale a realizzare un trilione di calcoli al secondo.
Questi calcoli vengono eseguiti, come descritto prima, da degli hardware appositi che svolgono solo questo lavoro, chiamati anche ASIC (Application Specific Integrated Circuits). Ogni miner possiede una determinata potenza computazionale, che dipende principalmente da quanto hardware utilizza, che mette a disposizione del protocollo per la creazione e certifica di nuovi blocchi nella Blockchain.
L’hash-rate di Bitcoin è il fattore più importante per la sicurezza del protocollo: questo crea una sorta di “muro digitale” che lo protegge da possibili attacchi e manomissioni dei dati.
Il dispendio di energia per tenere in vita gli hardware e la potenza computazionale spesa dagli stessi crea un ecosistema molto robusto che non permette ad individui mal intenzionati di creare condizioni di double spending o di spesa non supportata da un corrispettivo nel proprio wallet.
Inoltre, un ipotetico hacker per modificare i dati nella Blockchain dovrebbe fare un attacco al 51%, ossia possedere una potenza computazionale pari alla maggioranza del network, in modo da creare in solitaria il consenso.
Tutto ciò è praticamente impossibile, in quanto la potenza computazionale di Bitcoin, intesa come somma di tutta quella messa a disposizione dai miner, è migliaia di volte superiore ai più potenti supercomputer in giro per il mondo.
Come sappiamo, i miner vengono ricompensati per lo “sforzo” fatto tramite monete nuove di zecca. Più miner si interessano alle ricompense e quindi al mining, più la potenza computazionale sale e la velocità nel trovare un nuovo blocco scende.
Come è possibile, quindi, che i blocchi continuino ad essere creati ogni 10 minuti? Grazie alla “difficulty”, ossia un parametro che gestisce la difficoltà per trovare un nuovo hash da parte degli hardware. Questo parametro viene aggiustato automaticamente ogni 2016 blocchi, ossia circa 2 settimane, per compensare la potenza computazionale in eccesso o in difetto rispetto al check precedente.
Il mining e l’hash-rate non sono dei concetti semplici ma sono il fulcro della sicurezza e dell’emissione di moneta del protocollo Bitcoin. Per conoscere il funzionamento della rete è necessario capire come questa viene messa al sicuro da attacchi e manomissioni da parte di agenti esterni.