Come si generano i Bitcoin

in #cryptocurrency7 years ago

Il bitcoin è una moneta virtuale che, non passando per il sistema bancario, garantisce anonimato e non è facilmente tracciabile. Facendo un'analogia con i sistemi di pagamento tradizionali potete pensare ai bitcoins come "moneta contante", possono passare di mano in mano ma non è detto che questi passaggi siano controllabili e che si possa risalire tutta la catena delle transazioni. Questo sistema di pagamento è stato ideato da Satoshi Nakamoto(pseudonimo) nel 2008, e poi l'idea è stata codificata da Wei Dai e Nick Szabo nel "Peer to Peer Electronic Cash System". Sono stati coniati nuovi termini per definire i bitcoins "criptomoneta" o "criptovaluta". La cosa che stupisce di più quando si sente parlare per la prima volta di bitcoins è che non esiste una banca (o una struttura equivalente) che li mette in circolazione ma sono generati dalla rete stessa, quindi in teoria tutti quelli che li usano possono generarli. Per capire esattamente come funziona tutto questo bisogna per forza di cose addentrarci in dettagli tecnici, la prima cosa da dire è che tutta la rete bitcoin si basa su un database distribuito, che tiene traccia di tutte le transazioni in maniera anonima(catena dei blocchi). Questo significa che ogni persona che utilizza la rete (detta nodo) ha una copia di tutte le transazioni(anche se per alcune applicazioni basta averne solo una parte) che sono state fatte sulla rete. Ogni nodo ha un suo indirizzo per ricevere ed effettuare pagamenti ad esempio:

17tWpb8K1lyNmH4Zx6rewF9WQrcZ3455W (deve iniziare con 1)

Questo indirizzo non è altro che la chiave pubblica di un sistema di criptazione a doppia chiave(analogo a PGP). In questo modo quando un nodo intende fare una transazione, aggiunge ad un blocco la chiave pubblica dell'utente a cui vuole inviare i suoi bitcoins , e firma la transazione con la sua chiave privata. Quando almeno 3 nodi verificano la transazione il pagamento viene aggiunto ufficialmente alla catena dei blocchi,e pian piano raggiunge tutti i nodi della rete. Inoltre per impedire di poter spendere due volte la stessa moneta al blocco è aggiunta la data della transazione, se qualcosa in questa catena non quadra allora i vari nodi rifiuteranno la transazione. Ora cerchiamo di capire come si generano i bitcoins, prima di tutto dobbiamo sapere che per generare bitcoins si deve essere connessi alla rete(non è possibile lavorare offline), in sostanza un premio di N bitcoins viene dato a chi risolve un hash di un blocco di 80 byte (block header), utilizzando la funzione SHA256. Il block header si compone delle parti mostrate in figura , e potrebbe cambiare durante la computazione(ecco perché non è possibile lavorare offline) :

header.png

Dato che le funzioni di hash non sono invertibili per risolvere il problema occorre procedere per tentativi e questi calcoli richiedono molto tempo. In realtà non è necessario risolvere tutta la funzione di hash, basta che siano uguali a "0" i primi "n" caratteri, ed "n" dipende dalla difficoltà di calcolo scelta dalla rete per rendere più difficile generare moneta man mano che aumenta la capacità di calcolo dei nodi connessi. Il sistema è strutturato in modo tale che il limite di bitcoins generabili tende asintoticamente a 21 milioni, quindi molto probabilmente i bitcoins nel futuro potranno subire un incremento del loro valore attuale(deflazione).

danieler

Coin Marketplace

STEEM 0.21
TRX 0.13
JST 0.030
BTC 67441.24
ETH 3492.03
USDT 1.00
SBD 2.81