Home
Glossario
Blocco candidato

Blocco candidato

Intermedio
In poche parole, un blocco candidato è un blocco che un nodo di mining (miner) sta cercando di aggiungere per ricevere la ricompensa del blocco. Quindi, un blocco candidato può essere descritto come un blocco temporaneo che verrà convalidato o scartato dalla rete. I miner competono tra loro per convalidare il blocco successivo e aggiungerlo alla blockchain, ma prima devono creare un blocco candidato per partecipare alla competizione di mining.
I blocchi candidati vengono creati dai miner raccogliendo e organizzando diverse transazioni non confermate dalla memory pool. Le transazioni vengono quindi sottoposte ad hashing per formare una struttura Merkle tree, che alla fine produrrà una Merkle root (o root hash). La Merkle root è un singolo hash che rappresenta tutti gli hash precedenti di quell'albero (tree) e quindi tutte le transazioni incluse in quel particolare blocco.
La root hash, insieme all'hash del blocco precedente e a un numero casuale chiamato nonce, viene quindi inserita nell'header del blocco. L'header del blocco viene quindi sottoposto ad hashing dal miner, generando un output basato su questi componenti (root hash, hash del blocco precedente e nonce) più alcuni altri elementi. L'output risultante è l'hash del blocco e servirà come identificatore univoco del nuovo blocco generato (blocco candidato).
Per essere considerato valido, l'output (hash del blocco) deve iniziare con un certo numero di zeri (inferiore a un valore target definito dal protocollo). Ciò significa che il processo di mining si basa su una serie di tentativi (tentativi ed errori), in quanto i nodi di mining devono eseguire una miriade di funzioni di hashing con diversi valori nonce fino a produrre un hash del blocco valido. L'hash del blocco prodotto è ciò che prova che il miner ha svolto il suo lavoro (da qui Proof of Work).
Dopo che un miner ha trovato un hash del blocco valido, il suo blocco candidato sarà trasmesso al resto dei nodi della rete, che verificheranno l'autenticità dell'hash. Se non ci sono problemi, il blocco candidato viene registrato nella blockchain. A questo punto, ogni nodo validatore aggiorna la propria copia dei dati della blockchain per riflettere il nuovo blocco minato e il miner riceve la ricompensa del blocco.