Blockchain: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 67:
Il campo "Versione" dipende dalla versione del software utilizzato, il campo ''PrevHash'' è un ''hash'' di 256 bit che serve per fare riferimento al precedente blocco della catena, il ''Merkle root'' è l{{'}}''hash'' di tutti gli ''hash'' di tutte le transazioni nel blocco, il campo ''Timestamp'' rappresenta il ''time stamp'' dell'ultima transazione con un algoritmo conosciuto come ''Unix hex timestamp'' da non confondere con il ''timestamp UNIX'' che esprime bit numerici in secondi dal 1970-01-01T 00:00 UTC, il campo ''Bits'' rappresenta il corrente valore ''target'': l{{'}}''hash'' dello SHA-256 dell{{'}}''header'' di un blocco dev'essere minore o al massimo uguale al corrente valore di ''target'' per essere accettato dalla rete, il campo ''Nonce'' è un valore a 8 byte che viene aggiunto al blocco in modo che l'output della funzione di ''hash'' vari facendo in modo che non risulti inferiore al valore ''target'', il valore viene ricalcolato finché l{{'}}''hash'' del blocco non contiene il richiesto numero di zeri principali e infine il campo "Numero di transazione" identifica il numero della transazione.<ref name=":2" />
 
==== Validazione dei blocchi di minecraft ====
[[File:Forking_chain.png|miniatura|Biforcazione della catena principale e generazione di un blocco orfano.]]
Un nodo, dopo aver verificato l'intera ''blockchain'', raccoglie e colleziona le nuove transazioni generate ancora non validate e suggerisce alla rete quale dovrebbe essere il nuovo blocco. I computer usano la funzione crittografica di ''hash'' per stimare l'output fino a che non risulta inferiore al valore di ''target'' (valore dato dal campo "bits" nell{{'}}''header'' del blocco). Il primo nodo che risolve il blocco lo trasmette nella rete dove viene accettato come blocco successivo nella catena.