Vai al contenuto
buybitcoinsmart

Glossario / Mining e consenso

Blocco

Che cos'è un blocco?
Un blocco è un lotto di transazioni bitcoin più l'intestazione di 80 byte che lo sigilla, aggiunto alla catena all'incirca ogni dieci minuti dal miner che per primo lo risolve.

I blocchi trasformano un flusso di pagamenti in un registro ordinato e permanente. Ognuno porta un'intestazione, un conteggio delle transazioni e le transazioni stesse, e l'intero pacchetto è limitato a quattro milioni di unità di peso, che in pratica significa alcune migliaia di pagamenti. Quando si dice che un pagamento è confermato, si intende che un miner lo ha inserito in un blocco.

Come funziona

Un blocco ha tre parti, e solo la prima ha una dimensione fissa.

L'intestazione è di 80 byte e non varia mai. Dopo di essa viene il numero di transazioni, scritto nel formato compactSize a lunghezza variabile di bitcoin. Poi le transazioni stesse, in ordine, con un requisito inderogabile: la prima deve essere la transazione coinbase, quella che paga il miner. Un blocco la cui coinbase si trova al secondo posto viene rifiutato con la stessa fermezza di uno che contiene una firma falsificata.

La dimensione non si conta più in semplici byte. Da quando SegWit è entrato in vigore ad agosto 2017, il limite è di 4.000.000 unità di peso, dove un byte fuori dal witness costa quattro unità e un byte di witness costa una. Ne deriva un tetto vicino a 4 MB per i blocchi con molti dati di witness e di circa 1 MB per un blocco pieno di transazioni in stile antico, mentre i blocchi reali tipici si collocano tra 1,5 MB e 2 MB. La regola originale di 1.000.000 byte sopravvive al di sotto come limite alla parte non witness, ed è per questo che la risposta onesta a «quanto può essere grande un blocco» è un intervallo e non un numero.

Tutto il resto è verificato da ogni nodo in modo indipendente. L'hash dell'intestazione deve essere uguale o inferiore al target, la radice di Merkle deve corrispondere alle transazioni effettivamente presenti, nessun input può essere speso due volte, e l'output coinbase non deve rivendicare più del sussidio più le commissioni delle transazioni incluse. Il protocollo impone anche un periodo di attesa al miner: i bitcoin creati in un blocco non possono essere spesi finché non sono stati costruiti 100 blocchi successivi sopra di esso, così un miner il cui blocco viene poi scartato in una riorganizzazione non può avere già speso il ricavato.

Perché questo conta quando compri bitcoin

Lo spazio nei blocchi è un'asta, e la commissione sul tuo prelievo è un'offerta in quell'asta.

I blocchi sono finiti e la domanda non lo è, quindi quando la mempool è congestionata vengono prese prima le transazioni che pagano di più per byte virtuale e le altre aspettano. È questo il meccanismo dietro ogni richiesta di assistenza del tipo «perché il mio prelievo è bloccato». Controllare uno stimatore di commissioni prima di spostare bitcoin, e spostarli in un'ora tranquilla quando puoi, non costa nulla e di norma fa risparmiare più della differenza tra le commissioni degli exchange che hai passato un pomeriggio a confrontare.

La cifra di dieci minuti è una media, non un orario. La scoperta dei blocchi si comporta come un processo casuale senza memoria, quindi gli intervalli variano molto: più di un terzo dei blocchi impiega più di dieci minuti, e circa uno su venti impiega più di mezz'ora. Un exchange che accredita i depositi dopo diverse conferme ti sta quindi indicando una distribuzione, non un tempo di consegna, e un deposito che non è arrivato in venti minuti di solito è normale, non perso.

C'è anche un modo per aggirare del tutto lo spazio nei blocchi. I pagamenti Lightning vengono regolati off-chain e toccano un blocco solo quando un canale si apre o si chiude, ed è per questo che un'app come Strike può spostare valore in pochi secondi mentre un prelievo on-chain aspetta il blocco successivo. Vale la pena capire questo compromesso prima di supporre che ogni trasferimento di bitcoin debba costare una commissione a un miner.

Dentro il blocco 774.628, il più grande mai minato

Il blocco 774.628, minato dal pool Luxor il 1º febbraio 2023, è il blocco più grande che bitcoin abbia prodotto: 3,96 MB.

Conteneva 63 transazioni, e una di esse rappresentava 3,94 MB del totale, un'iscrizione dell'immagine Taproot Wizard inserita in un witness Taproot. Il pool ha coordinato la transazione direttamente invece di prenderla dalla mempool, e la transazione ha pagato al blocco quasi nulla: circa 0,009 BTC di commissioni contro un sussidio che all'epoca era ancora di 6,25 BTC. Il record precedente era di 2,77 MB.

Vale la pena cercare questo blocco perché mostra in azione la regola del peso. Il vecchio limite di 1 MB avrebbe reso impossibile quella transazione, e il budget di 4.000.000 unità di peso l'ha resa possibile solo perché i dati di witness sono scontati. Mostra anche che un singolo partecipante può occupare un intero blocco, che è esattamente ciò su cui si è combattuta la guerra delle dimensioni dei blocchi.

Blocco vs intestazione del blocco

Un blocco è l'oggetto completo; l'intestazione è il riepilogo di 80 byte che sta all'inizio. La distinzione è pratica, non pedante. I miner calcolano l'hash solo dell'intestazione, i wallet leggeri scaricano solo le intestazioni, e un nodo che si sincronizza per la prima volta scarica la catena di intestazioni prima di chiedere una sola transazione. Se un documento dice «l'hash del blocco», intende l'hash di quegli 80 byte, non un hash dei pagamenti contenuti.

Blocco vs blocco obsoleto

Un blocco è sulla catena su cui la rete concorda; un blocco obsoleto è un blocco perfettamente valido che ha perso la corsa a essere quella catena. A volte due miner risolvono quasi nello stesso momento, la rete tiene brevemente due candidati e il ramo che smette di crescere viene abbandonato. Il blocco scartato non aveva nulla di sbagliato, e le sue transazioni quasi sempre ricompaiono in quello successivo. È anche per questo che una sola conferma è più debole di sei: più un blocco è in profondità, meno è plausibile che un ramo concorrente lo superi.

Da non confondere con

Domande frequenti

Quante transazioni entrano in un blocco di bitcoin?

Di solito qualche migliaio, perché il limite è di 4.000.000 unità di peso e non un numero di transazioni. I blocchi pieni di piccole transazioni moderne contengono più transazioni dei blocchi che trasportano dati multisig o di iscrizioni.

Perché la mia transazione non è entrata nel blocco successivo?

Perché i miner ordinano per commissione per unità di peso e la tua offerta era sotto la soglia di quel blocco. La transazione resta nella mempool e viene inclusa quando la domanda cala o quando aumenti la commissione con replace-by-fee.

Un blocco viene mai prodotto in meno di dieci minuti?

Spesso. Dieci minuti sono la media di lungo periodo a cui mira l'aggiustamento della difficoltà, e i singoli intervalli vanno da pochi secondi a ben oltre un'ora. Circa un intervallo su venti supera i trenta minuti.

Leggi anche

Termini correlati

Altro in Mining e consenso

Leggi questa pagina in inglese