Glossario / Mining e consenso
Altezza del blocco
Noto anche come Altezza.
- Che cos'è l'altezza del blocco?
- L'altezza del blocco è il numero di blocchi nella catena precedenti a un dato blocco: il blocco genesi ha quindi altezza 0 e il blocco minato dopo di esso ha altezza 1.
Specificato nel BIP-34.
L'altezza è il modo nativo che il bitcoin ha per dire quando. È un numero intero che sale esattamente di uno per blocco, non dipende dall'orologio di nessuno, e le regole di consenso che hanno bisogno di un calendario sono scritte in funzione dell'altezza e non delle date. I conti alla rovescia dell'halving, i conteggi delle conferme e gli annunci di attivazione leggono tutti lo stesso contatore.
Come funziona
L'altezza di blocco è una posizione in una sequenza, non un nome, e questa differenza conta più di quanto sembri.
Due blocchi possono rivendicare brevemente la stessa altezza quando i miner risolvono quasi nello stesso momento, e dopo una riorganizzazione della catena un'altezza può indicare un blocco diverso da quello di un'ora prima. L'identificatore permanente è l'hash del blocco. L'altezza dice quanto avanti sei nella catena, ed è inequivocabile solo quando dici di quale catena parli, che in pratica è quella con il maggior lavoro accumulato.
Le conferme escono direttamente dall'aritmetica. Una transazione in un blocco all'altezza 900.000, su una catena la cui punta è a 900.005, ha sei conferme, perché il conteggio include il blocco in cui si trova. Quella singola formula, punta meno altezza più uno, sta dietro ogni barra di avanzamento "5 di 6 conferme" che hai visto.
Il consenso preferisce le altezze alle marche temporali per tutto ciò che è programmato, perché le marche temporali sono fornite dai miner e controllate solo alla leggera, mentre le altezze non si possono fabbricare senza fare il lavoro. Il locktime è l'eccezione che conferma la regola: un locktime inferiore a 500.000.000 viene interpretato come un'altezza di blocco, e qualunque valore pari o superiore a quel numero viene letto come una marca temporale Unix, ed è per questo che si può far sì che una transazione diventi valida a un'altezza specifica.
L'altezza non è sempre stata dentro il blocco. Il BIP34 ha reso obbligatorio scrivere l'altezza nella transazione coinbase, e la regola è diventata vincolante al blocco 227.835 a marzo 2013. Il motivo era concreto: a novembre 2010 furono create due transazioni coinbase che duplicavano esattamente altre precedenti, alle altezze 91.842 e 91.880, perché nulla obbligava i loro contenuti a essere diversi. Fissare l'altezza garantisce che ogni transazione coinbase sia unica.
Perché questo conta quando compri bitcoin
L'altezza di blocco è il numero che ti permette di verificare ciò che ti dice un exchange o un wallet, senza chiedere a nessuno.
Quando prelevi, ottieni un ID di transazione. Un block explorer mostrerà l'altezza del blocco che lo ha incluso e l'altezza della punta attuale; la differenza più uno è il tuo numero di conferme. Se un operatore dell'assistenza dice che il prelievo è stato inviato un'ora fa e l'explorer non mostra nessun blocco che lo contiene, i bitcoin non si sono mossi, qualunque cosa dica la pagina del conto.
Le altezze ti permettono anche di leggere con precisione le politiche degli exchange. Le piattaforme accreditano i depositi dopo un numero stabilito di conferme, che è un'affermazione sulle altezze, non sui minuti. Poiché i blocchi arrivano in media e non secondo un calendario, la stessa politica di tre conferme può richiedere venti minuti in un giorno e un'ora in un altro, e nessuno dei due casi è un guasto.
Poi c'è il marketing. Ogni conto alla rovescia dell'halving è una proiezione: l'evento è definito da un'altezza, e la data che gli si attribuisce è una congettura basata sui tempi di blocco ipotizzati. Chi ti offre un prodotto perché "l'halving cade" in una data specifica ti sta vendendo una previsione. Lo stesso vale per le schermate che mostrano un pagamento "confermato all'altezza" tale. Le altezze e gli ID di transazione sono banali da falsificare in un'immagine e impossibili da falsificare su una catena che verifichi tu stesso, che è l'abitudine a cui torna sempre la nostra guida alla sicurezza.
Altezze che hanno cambiato le regole
Vale la pena conoscere alcune altezze, perché il bitcoin si comporta diversamente prima e dopo di esse.
L'altezza 0 è il blocco genesi, minato il 3 gennaio 2009, i cui bitcoin non possono mai essere spesi. L'altezza 210.000, raggiunta il 28 novembre 2012, è stata il primo halving. L'altezza 227.835 ha reso vincolante il BIP34 a marzo 2013. L'altezza 481.824, il 24 agosto 2017, è dove SegWit è entrato in vigore e i blocchi hanno iniziato a portare dati witness. L'altezza 709.632, il 14 novembre 2021, ha attivato Taproot. L'altezza 840.000, il 20 aprile 2024, è stata il quarto halving. L'altezza 1.050.000 sarà il quinto, previsto per un momento imprecisato del 2028 a seconda di quanto velocemente arrivano davvero i blocchi.
Altezza di blocco vs conferme
L'altezza di blocco è una posizione assoluta; un numero di conferme è una distanza relativa. L'altezza di un blocco non cambia mai finché resta nella catena, ma il suo numero di conferme cresce di uno all'incirca ogni dieci minuti. I wallet mostrano le conferme perché ciò che ti interessa è la profondità, e gli exchange indicano le soglie in conferme per lo stesso motivo. Dire "la mia transazione è all'altezza 900.000" non dice nulla sulla sua sicurezza attuale.
Altezza di blocco vs altezza di blocco nel campo coinbase
L'altezza di blocco è una proprietà del blocco; l'altezza di blocco nel campo coinbase è una copia di quel numero scritta nella prima transazione del blocco. Dovrebbero coincidere sempre, e un nodo rifiuta il blocco se non coincidono. La distinzione conta perché la copia nel campo coinbase è un dato che il miner sceglie di includere, verificato rispetto all'altezza che la catena già implica, ed è il meccanismo che ha fermato per sempre le transazioni coinbase duplicate.