Leggere una blockchain con gli explorer pubblici · Lezione 2 di 8
Blocchi, altezza del blocco e catena
6 min di lettura
Che cos’è un blocco
Un blocco è un insieme di transazioni che la rete accetta contemporaneamente, accompagnato da un breve riepilogo chiamato intestazione del blocco. I nuovi blocchi vengono aggiunti uno dopo l’altro e ciascun blocco rimanda a quello precedente. Questa sequenza è la «catena» nella blockchain.
Quando apri la pagina di un blocco su un explorer, vedi due parti:
- L’intestazione: una manciata di campi che identificano il blocco e lo collegano al resto della catena.
- L’elenco delle transazioni: tutte le transazioni contenute nel blocco, solitamente suddivise in pagine perché un singolo blocco può contenerne migliaia.
Altezza del blocco e hash del blocco
Ogni blocco ha due identificativi e gli explorer accettano entrambi nel campo di ricerca.
L’altezza del blocco indica la posizione del blocco nella catena. Il primo blocco mai creato, chiamato blocco genesi, ha altezza 0. Il blocco successivo ha altezza 1, e così via. L’altezza è facile da usare: «la transazione è stata confermata nel blocco 840.000» è un’informazione chiara e facile da ricordare. Su Bitcoin, il blocco 840.000 è quello in cui si è verificato il quarto halving, nell’aprile 2024.
L’hash del blocco è l’impronta digitale del blocco: una lunga stringa esadecimale calcolata a partire dall’intestazione. Se modifichi una qualsiasi parte dell’intestazione, l’hash cambia completamente. Il blocco genesi di Bitcoin, minato il 3 gennaio 2009, ha l’hash 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. Gli zeri iniziali non sono decorativi: su Bitcoin, un hash di blocco valido deve essere inferiore a un numero obiettivo, ed è questo, in pratica, il significato della proof of work.
Altezza e hash rispondono a domande diverse. L’altezza indica dove si trova un blocco. L’hash indica quale blocco esatto intendi. Questa differenza è importante quando due blocchi competono brevemente per la stessa altezza, argomento che ritroverai nella lezione sulle conferme.
Come si collegano i blocchi
Ogni intestazione contiene l’hash del blocco precedente. Il blocco 101 registra l’hash del blocco 100, il blocco 102 registra l’hash del blocco 101 e così via, fino al blocco genesi.
È questo collegamento a rendere rilevabili le manomissioni della cronologia. Se qualcuno modificasse una transazione in un vecchio blocco, l’hash di quel blocco cambierebbe, il blocco successivo non rimanderebbe più a esso e ogni nodo rifiuterebbe la versione alterata. Gli explorer ti permettono di seguire il collegamento: nella maggior parte delle pagine dei blocchi trovi un pulsante «blocco precedente» e uno «blocco successivo».
Campi che troverai nella pagina di un blocco
Gli explorer usano etichette leggermente diverse, ma gli stessi concetti ricorrono ovunque. Alcuni di questi campi sono memorizzati direttamente nell’intestazione (hash precedente, timestamp, radice di Merkle); altri, come l’altezza, il produttore e la dimensione, vengono ricavati dall’explorer.
| Campo | Significato | Bitcoin | Ethereum |
|---|---|---|---|
| Altezza / numero del blocco | Posizione nella catena | Sì | Sì («blocco») |
| Hash | Impronta digitale del blocco | Sì | Sì |
| Hash precedente (genitore) | Collegamento al blocco precedente | Sì | Sì («hash del genitore») |
| Timestamp | Ora registrata dal produttore del blocco | Sì | Sì |
| Radice di Merkle / radice dello stato | Un singolo hash che riassume il contenuto del blocco | Radice di Merkle delle transazioni | Radici delle transazioni, delle ricevute e dello stato |
| Difficoltà / nonce | Campi relativi alla proof of work | Sì («bits», «nonce») | Non utilizzati dal 2022 |
| Produttore | Chi ha creato il blocco | Miner o pool di mining | Validatore (proponente) e destinatario delle commissioni |
| Dimensione / utilizzo | Quanto è pieno il blocco | Dimensione e peso | Gas utilizzato e limite di gas |
Non è necessario memorizzare tutti i campi. Concentrati su altezza, hash, hash precedente, timestamp, produttore e grado di riempimento del blocco.
Tempo di blocco: ogni quanto vengono creati i blocchi
Le diverse reti producono blocchi a velocità diverse:
- Bitcoin punta a una media di un blocco ogni 10 minuti. L’intervallo effettivo varia notevolmente, da pochi secondi a oltre un’ora, perché trovare un blocco valido è questione di probabilità. Ogni 2.016 blocchi (circa due settimane), la rete adegua la difficoltà di mining per mantenere la media vicina ai 10 minuti.
- Ethereum utilizza la proof of stake da settembre 2022. Il tempo è suddiviso in slot di 12 secondi e viene scelto un validatore che propone un blocco in ogni slot. Se il validatore è offline, lo slot resta vuoto e l’explorer lo mostra come non rispettato.
Altre reti sono ancora più veloci. Ecco perché la risposta alla domanda «quanto ci vorrà prima che compaia il mio pagamento?» dipende molto dalla rete.
I timestamp sono approssimativi
Il timestamp nell’intestazione di un blocco viene impostato da chi ha prodotto il blocco. Le regole consentono una certa flessibilità. Su Bitcoin, per esempio, il timestamp di un blocco deve essere successivo alla mediana dei timestamp degli 11 blocchi precedenti e non può essere più avanti di due ore rispetto all’orologio del nodo che lo verifica. I timestamp sono quindi affidabili con una precisione di minuti o ore, non di secondi, e talvolta un blocco successivo può mostrare un orario precedente a quello del blocco che lo precede.
Gli explorer possono anche mostrare l’orario in UTC o nel tuo fuso orario locale. Quando registri le prove, annota quale dei due stai usando.
Chi ha prodotto il blocco e cosa ha guadagnato
Su Bitcoin, la prima transazione di ogni blocco è la transazione coinbase. Non ha input effettivi: crea nuovi bitcoin (il sussidio del blocco) e raccoglie le commissioni pagate da tutte le altre transazioni del blocco, inviando entrambi al miner. Il sussidio si dimezza ogni 210.000 blocchi. È partito da 50 BTC nel 2009 ed è pari a 3,125 BTC dal halving dell’aprile 2024. Gli explorer spesso mostrano il nome del pool di mining, ricavandolo da un tag che il pool inserisce nella transazione coinbase o dall’indirizzo a cui invia i fondi.
Su Ethereum, la pagina del blocco mostra il destinatario delle commissioni indicato nel blocco. Una parte della commissione di ogni transazione, la commissione di base, viene bruciata (distrutta) e solo la commissione prioritaria va al destinatario delle commissioni. Molti blocchi di Ethereum vengono assemblati da costruttori di blocchi specializzati e poi proposti da un validatore; quindi, il destinatario delle commissioni che vedi è spesso un costruttore anziché il validatore. Il costruttore paga separatamente il validatore. Scoprirai come funzionano le commissioni in una lezione successiva.
Quanto è pieno il blocco?
Lo spazio dei blocchi è limitato e gli explorer mostrano quanto ne è stato utilizzato:
- Su Bitcoin, un blocco può contenere fino a 4 milioni di unità di peso, che gli explorer spesso esprimono come dimensione in megabyte e come peso o «dimensione virtuale».
- Su Ethereum, ogni blocco ha un limite di gas. Gli explorer mostrano il gas utilizzato rispetto a tale limite, spesso sotto forma di percentuale. La rete mira a mantenere i blocchi pieni per circa la metà e aumenta o riduce la commissione di base a seconda che i blocchi superino o siano al di sotto di tale obiettivo.
Quando i blocchi sono costantemente pieni, la competizione per lo spazio aumenta e le commissioni salgono. Basta dare una rapida occhiata ai blocchi recenti su un explorer per capire quanto è congestionata una rete.
In evidenza per l’esame: la differenza tra altezza del blocco (posizione, blocco genesi = 0) e hash del blocco (impronta digitale), come l’hash del blocco precedente collega la catena e rende evidenti le manomissioni, i tempi tipici di produzione dei blocchi (circa 10 minuti su Bitcoin, slot di 12 secondi su Ethereum), perché i timestamp sono approssimativi e cosa sono la transazione coinbase e il sussidio del blocco.
Domande di esercitazione
Verifica la tua comprensione. Queste domande non contano per l’esame.
Accedi per salvare i tuoi progressi e riprendere da dove hai lasciato. È gratuito. Accedi