Translate

domenica 20 aprile 2014

Generazione dei bitcoin

http://it.wikipedia.org/wiki/Bitcoin

La rete Bitcoin crea e distribuisce in maniera completamente casuale un certo ammontare di monete all'incirca sei volte l'ora, nei confronti di chi tiene abilitata l'opzione "genera bitcoin" nel proprio client. L'attività di generazione di bitcoin viene spesso definita come "mining", un termine analogo al gold mining (estrazione di oro).[17]
La probabilità che un certo utente riceva la ricompensa in monete dipende dalla potenza computazionale che aggiunge alla rete, relativa al potere computazionale della rete nella sua interezza.[29] Inizialmente il client ufficiale permetteva l'estrazione dei Bitcoin, sfruttando la CPU per svolgere i calcoli; con l'aumentare della potenza di calcolo totale della rete, questa funzionalità è diventata inutile, in quanto antieconomica, ed è stata rimossa. Oggigiorno esistono dei programmi specializzati che inizialmente sfruttavano la potenza delleGPU per lo svolgimento dei calcoli, e sempre più spesso si appoggiano a schede dedicate (FPGA e ASIC).

Il numero di bitcoin creati per blocco è stato inizialmente di 50 BTC (aggiunti agli eventuali costi delle singole transazioni); tale quantità è stata programmata per diminuire nel tempo, con un dimezzamento del premio ogni 4 anni circa, fino ad arrivare a zero, in modo tale che non verranno mai creati più di 21 milioni di bitcoin in totale.[18] A partire dal 28 novembre 2012, la ricompensa è passata a 25 BTC per blocco[30], e così sarà per i successivi 4 anni. Man mano che la ricompensa per i propri calcoli diminuisce nel tempo, gli utenti saranno motivati a contribuire con le loro capacità di calcolo con nodi che generano blocchi guadagnando sui costi delle transazioni.
Tutti i nodi della rete competono per essere i primi a trovare una soluzione per un problema crittografico che riguarda un blocco candidato, un problema che richiede un gran numero di prove. Quando un nodo trova una soluzione valida, l'annuncia al resto della rete e richiede la proprietà di un nuovo blocco di bitcoin. I peer che ricevono la soluzione del nuovo blocco la verificano prima di accettarla e poi aggiungerla alla catena. I nodi possono usare la CPU del loro client oppure avvantaggiarsi delle loro GPU mediante software più sofisticati.[18][31][32] Gli utenti possono anche generare bitcoin in maniera collettiva associandosi ad una mining pool.[33]
Dal punto di vista operativo, il mining non è altro che quell'operazione che consiste nel trovare la soluzione ad un problema matematico: individuare un numero (nonce) tale che l'hash SHA-256 del blocco sia inferiore ad una soglia data (difficoltà variabile). Infatti, per fare in modo che un blocco venga generato ogni 10 minuti, ogni nodo in maniera individuale modifica la difficoltà del problema che prova a risolvere ogni 2 settimane, in accordo con la capacità computazionale complessiva della rete peer-to-peer.