Ti presentiamo un viaggio completo che ti permetterà di conoscere il processo ei dettagli che rendono possibile il mining di Bitcoin.

EIn articoli precedenti abbiamo analizzato la tecnologia blockchain y com'è costituito. Abbiamo anche un articolo dedicato a blocchi che compongono la blockchain e un'altra dedicata a transazioni, che a loro volta compongono i blocchi. Se non conosci questi termini, ti invitiamo a dare un'occhiata a questi tre articoli prima di continuare ad avere una conoscenza più chiara e più ampia di questi elementi che ti aiuteranno a capire: Come si estrae un blocco?

Nel sistema blockchain, i miner sono incaricati di generare i nuovi blocchi aggiungendoli alla fine della catena. E come stabilisce il protocollo Bitcoin, devono eseguire questo processo ogni 10 minuti circa. Ogni blocco estratto contiene un record dettagliato delle diverse transazioni effettuate in ciascun periodo. E che quando vengono aggiunti alla fine della blockchain aggiornano il loro registro.

Blocca il processo di mining

Per creare un nuovo blocco, i miner devono seguire un processo per risolvere un problema di matematica. Una volta trovata una soluzione valida per la rete, è possibile estrarre un nuovo blocco che verrà aggiunto alla blockchain in consenso. E per questo, il minatore che ha trovato la soluzione, riceverà una ricompensa per il nuovo blocco. Questa ricompensa è nota come ricompensa di blocco.  

Ogni 10 minuti circa viene generato un nuovo blocco in Bitcoin. Quindi ogni volta che ne viene trovato uno, significa l'inizio del mining per un altro. Poiché questi sono matematicamente correlati o concatenati insieme. Ma vediamo più in dettaglio come si realizza questo processo:

Prima fase: transazione

Il processo di estrazione di un nuovo blocco inizia quando un utente desidera inviare una certa quantità di criptovaluta a un'altra persona. Quindi manda beatitudine transazione con i dati del tuo portafoglio, in attesa che la rete esegua e confermi. Rimangono lì fino a quando non viene estratto un blocco in cui possono essere inclusi e convalidati.

Seconda fase: compilazione

Queste transazioni in sospeso sulla rete vengono raccolte e raggruppate in un blocco di transazioni dal nodi di mining. È molto probabile che più miner raccolgano le stesse transazioni. E tutto non sarà confermato fino a quando il blocco non verrà estratto.

Terza fase: formazione

Ogni minatore selezionerà le transazioni che desidera includere e creerà il proprio blocco. Se ci sono transazioni già convalidate e incluse nel blocco precedente, verranno eliminate da esso. Questo nuovo blocco è noto come candidato, in quanto non è ancora valido perché non ha una prova di lavoro valida.

Nella formazione di questo nuovo blocco, deve essere inclusa un'intestazione che contenga il file hash dal blocco precedente, il radice di merkle e dati per la concorrenza mineraria. Questo è il timestamp, l'obiettivo dell'algoritmo PoW per quel blocco (i bit), la versione del software e il file nonce.

Quarta fase: prova del lavoro

Una volta che ogni minatore ha creato il proprio blocco di transazioni, dovrà trovarne uno firma valida per quel blocco. Cioè, eseguire una prova di lavoro. Ogni minatore deve eseguire un processo di calcolo matematico unico per ogni blocco che ha formato. Pertanto, sebbene la procedura sia la stessa, il risultato sarà totalmente diverso per ciascuno. Questo calcolo complesso richiede molta potenza di calcolo e quindi un grande dispendio di energia elettrica. Ciò dipenderà anche dal difficoltà di sistema per il tempo del mining.

La soluzione che i minatori devono trovare è nota come hash. Questa funzione è molto difficile da trovare, ma una volta trovata è facile da verificare da altri nodi. In modo che possano verificare che il file hash di output rispettare le condizioni di sistema stabilite.

Per trovare un hash di output valido, i minatori eseguono ripetutamente calcoli matematici attraverso un file nonce. Che è un numero casuale che usano e cambiano costantemente finché non trovano una firma o un hash di output valido in base alla condizione. Non c'è modo di prevedere quale nonce risolverà il problema, quindi usane quanti sono necessari. E stiamo parlando di miliardi di valori! Incredibile vero?

Nel caso della rete Bitcoin, il sistema condiziona che l'hash in uscita deve contenere un certo numero di zeri all'inizio dell'hash.

Quinta fase: trasmissione

Quando un nodo di mining riesce a trovare un hash di output valido per un blocco, trasmette detto blocco insieme alla firma agli altri nodi sulla rete in modo che possano convalidarlo.

In questo momento, finché non hanno emesso i 21 milioni di bitcoin, il miner riceve la ricompensa stabilita per il mining, mettendo in circolazione nuovi bitcoin. Questo è registrato sul proprio nodo, il resto dei nodi sulla rete lo farà nel passaggio successivo.

Inoltre, indipendentemente dal fatto che tutti i bitcoin siano stati emessi o meno, il miner riceve anche tutte le commissioni di mining che gli utenti hanno messo nelle transazioni che compongono questo blocco.

Fase sei: verifica

Gli altri nodi della rete hanno il compito di validare e verificare che il blocco e l'hash rispettino le condizioni di sistema, verificandone la legittimità e se contenga realmente il numero di zeri stabiliti.

Anche qui viene confermata la proof of work, ovvero la potenza di calcolo che è stata spesa per trovare la soluzione, e si nota che il miner che ha scoperto il blocco può infatti avvalersi dei bitcoin appena ricevuti.

Fase sette: conferma

Una volta che il nuovo blocco viene aggiunto alla blockchain, tutti gli altri che vengono aggiunti su di esso conteranno come conferma. A questo punto, possiamo pensare che poiché ogni minatore ha iniziato il processo con il proprio blocco, può continuare a estrarre. Ma non è così. Una volta generato un blocco, tutti i nodi di mining devono avviare il processo formando un nuovo blocco di transazioni. Non possono continuare a estrarre il blocco precedente perché ogni blocco deve aggiungere l'hash di output del blocco precedente.

Questo è il motivo per cui conosciamo questa tecnologia come blockchain o blockchain. Quindi, quando il miner ottiene un hash valido, potrebbe essere stato estratto un altro numero di nuovi blocchi. Quindi l'hash di output del blocco estratto non corrisponderà all'hash di output dell'ultimo blocco aggiunto nella catena. Sarà rifiutato. Inoltre, è molto probabile che tutte o la maggior parte delle transazioni incluse in quel blocco siano già state aggiunte ad altre. Anche se riesci a estrarre il blocco, la maggior parte delle transazioni incluse non può essere convalidata o confermata.

Quanto sai, Cryptonuta?

Il processo di mining di Bitcoin può essere modificato per generare monete false?

FALSO!

Sebbene ci siano modi per alterare il processo di mining della rete Bitcoin, molti di questi trucchi sono poco pratici grazie al consenso della rete e al modo in cui funziona. Essendo Bitcoin una rete distribuita, è estremamente resistente agli attacchi degli hacker. Da qui la sua forza e la sicurezza del processo minerario.

Caratteristiche dei blocchi estratti

I blocchi estratti nel sistema Bitcoin devono soddisfare determinate caratteristiche e condizioni per essere considerati validi. Vediamo cosa sono:

  • L'hash dell'intestazione del blocco estratto deve essere inferiore al target. Se è superiore, non sarà considerato valido.
  • La dimensione del blocco deve essere entro limiti accettabili. In Bitcoin, un blocco deve avere una dimensione massima di 2 MB.
  • La timestamp del blocco deve essere inferiore a due ore in futuro.
  • La prima transazione aggiunta al blocco sarà il file transazione coinbase. Ciò garantirà al nodo di mining la ricompensa della rete. E ci sarà solo una transazione coinbase per blocco.
  • Tutte le transazioni aggiunte al blocco sono valide.
  • L'intestazione di ogni blocco conterrà l'hash del blocco precedente e il file altezza del blocco stessa.

Tutte queste caratteristiche vengono verificate per confermare un blocco. E ogni nodo di mining convalida in modo indipendente i nuovi blocchi seguendo esattamente le stesse regole. Pertanto, garantisce che nessun nodo di mining possa imbrogliare. Cosa fornisce robustezza e sicurezza alla rete. Una volta convalidato il blocco, gli altri nodi della rete lo aggiungeranno alla loro copia della blockchain. E quando ciò accade, non può essere modificato o cambiato.

Ora conosci il file processo di creazione che hanno seguito tutti i bitcoin che esistono in circolazione. Ognuno dei bitcoin esistenti, è stato emesso seguendo questo processo, per essere successivamente utilizzato o venduto dal minatore ad altre persone, fino a quando non arrivano nelle tue mani.