Cos`è SegWit?
Nel 2017, Bitcoin si trovò ad affrontare un problema che rischiava di lacerare la comunità. La rete riusciva a gestire forse solo 3 transazioni al secondo. Le commissioni erano alle stelle. I blocchi erano pieni. E ognuno aveva un'idea diversa su come risolverlo.
La soluzione vincente è stata SegWit, abbreviazione di Segregated Witness. Proposta da Pieter Wuille, uno degli sviluppatori principali di Bitcoin Core, ha cambiato il modo in cui ogni transazione Bitcoin viene strutturata. Non si è trattato di una piccola modifica, bensì di una rielaborazione fondamentale del modo in cui i dati si inseriscono all'interno di un blocco. Otto anni dopo, circa il 96% di tutte le transazioni Bitcoin utilizza indirizzi SegWit. Se negli ultimi anni avete acquistato o inviato Bitcoin, quasi certamente lo avete fatto senza saperlo.
Qual era il problema reale?
Lasciatemi descrivere il 2016.
Bitcoin aveva un limite di 1 MB per ogni blocco. Satoshi Nakamoto impose questo limite nel 2010 per bloccare gli attacchi di spam, e nessuno lo ha mai rimosso. I blocchi vengono minati ogni 10 minuti circa. Considerando che ogni blocco ha una dimensione di 1 MB, si arriva a circa 1.650 transazioni per blocco. Facendo due calcoli, si arriva a circa 2-3 transazioni al secondo per l'intera rete Bitcoin. L'intero pianeta condivide una connessione così sottile.
Visa, tra l'altro, ne gestisce 65.000 al secondo. Quindi sì. Problema.
Verso la fine del 2016, ogni blocco si scontrava con il limite di 1 MB. Quando non c'era più spazio, gli utenti di Bitcoin iniziarono a farsi concorrenza sulle commissioni di transazione, cercando di corrompere i miner affinché scegliessero per primi la loro transazione. Le commissioni diventarono folli. Inviare Bitcoin per un valore di 10 dollari poteva costare 15 dollari di commissioni. Non aveva alcun senso.
E poi c'era il problema più tecnico: la malleabilità delle transazioni. Cercherò di spiegarlo in modo semplice. Quando invii bitcoin, la rete crea un ID per quella transazione. Prima di SegWit, quell'ID veniva generato dall'intera transazione, firme incluse. Il problema? Qualcuno poteva intercettare la tua transazione non confermata, manipolare la codifica della firma (mantenendola tecnicamente valida) e ottenere un ID diverso per lo stesso identico pagamento. Stesso mittente. Stesso destinatario. Stesso importo. Numero ID diverso.
Perché dovrebbe interessarvi? Perché Mt. Gox, l'exchange che ha perso 840.000 BTC nel 2014, è stato vittima proprio di questo bug. E, cosa ancora più importante, qualsiasi sistema di secondo livello costruito su Bitcoin (come i canali di pagamento) ha bisogno di identificare le transazioni tramite i loro ID. Se questi ID possono cambiare, l'intero sistema crolla.
Bitcoin si trovava ad affrontare due problemi contemporaneamente: blocchi troppo piccoli e ID di transazione inaffidabili. SegWit li ha risolti entrambi in un colpo solo.
Come funziona SegWit (senza bisogno di una laurea in informatica)
Pensate a una transazione Bitcoin come a un assegno. C'è la parte che indica chi paga chi e quanto. Poi c'è la vostra firma in calce che ne attesta la legittimità. Prima di SegWit, entrambe le parti venivano compresse in un unico blocco, e l'intero blocco veniva conteggiato nel limite di 1 MB.
Ecco cosa infastidiva Pieter Wuille: i dati della firma occupavano circa il 65% di ogni transazione. La maggior parte di ogni blocco non registrava ciò che era realmente accaduto, ma la prova che qualcuno aveva dato il suo consenso. E questo sembrava uno spreco.
La sua idea: estrarre le firme. Inserirle in una sezione a parte chiamata "testimone". I dati della transazione rimangono nel blocco principale. I dati del testimone vengono memorizzati separatamente. Vengono comunque controllati da ogni nodo della rete. Semplicemente, non hanno lo stesso peso nel calcolo della quantità di dati presenti in un blocco.
Cosa è successo in pratica? I blocchi sono passati dal contenere circa 1.650 transazioni a circa 2.700. Bitcoin è balzato da 2-3 transazioni al secondo a circa 7-10. Ancora ridicolo rispetto a Visa. Ma per una rete che stava soffocando nel proprio successo, è stato un respiro.

Peso del blocco: la nuova matematica
Ecco dove sta la genialità. La mossa più ovvia sarebbe stata semplicemente quella di aumentare il limite da 1 MB a 2 MB. Ma questo avrebbe comportato un hard fork. Ogni singolo nodo della rete Bitcoin avrebbe dovuto aggiornarsi, altrimenti sarebbe stato escluso dalla blockchain. Gli hard fork sono caotici. Molti utenti rimangono indietro.
Pieter Wuille ha ideato qualcosa di più intelligente. Invece di misurare i blocchi in byte grezzi, SegWit utilizza il "peso del blocco". I dati di transazione standard contano come 4 unità di peso per byte. I dati di testimonianza contano come una sola unità di peso per byte. Il limite massimo è di 4 milioni di unità di peso totali.
Cosa significa in pratica? Un blocco senza dati di witness raggiunge comunque una dimensione massima di 1 MB, come sempre. I nodi più vecchi non riscontrano anomalie. In teoria, un blocco ricco di transazioni SegWit può arrivare a quasi 4 MB. Nella realtà, la maggior parte dei blocchi si attesta intorno a 1,5-2 MB.
Il bello di tutto ciò è che SegWit è stato rilasciato come un soft fork. I nodi che non si sono aggiornati hanno continuato a funzionare senza problemi. Semplicemente non potevano visualizzare i dati dei testimoni nella nuova sezione. La blockchain di Bitcoin non si è divisa. Non c'era un "vecchio Bitcoin" e un "nuovo Bitcoin". Un'unica catena, un'unica rete, retrocompatibile. Già solo questo rappresenta un successo ingegneristico che non riceve il giusto riconoscimento.
| Prima di SegWit | Dopo SegWit |
|---|---|
| Dimensione del blocco: massimo 1 MB | Peso del blocco: massimo 4 milioni di unità di peso |
| Circa 1.650 transazioni per blocco | Circa 2.700 transazioni per blocco |
| 2-3 TPS | 7-10 TPS |
| Dati della firma all'interno del blocco | Dati della firma in un campo separato per i testimoni |
| Gli ID delle transazioni includevano le firme | ID delle transazioni basati esclusivamente sui dati principali |
Correzione della malleabilità delle transazioni
Si parla continuamente della questione della dimensione dei blocchi. Giusto, era il problema più discusso. Ma credo che la correzione della malleabilità delle transazioni sia stata la parte più importante, e la maggior parte delle persone al di fuori degli ambienti di sviluppo non ne è a conoscenza.
Ecco come funziona. Prima di SegWit, quando il tuo portafoglio Bitcoin creava una transazione, l'ID della transazione (chiamato TXID) veniva calcolato a partire da tutti gli elementi della transazione, inclusa la firma. Ed ecco la parte strana: le firme digitali possono essere espresse in più di un formato valido. Stessa firma, stessa prova di proprietà, ma una sequenza di byte leggermente diversa.
Ciò significava che qualcuno poteva intercettare la tua transazione non confermata, ricodificare la firma in un modo diverso ma altrettanto valido e trasmetterla. La rete avrebbe confermato la versione modificata. Stesso mittente, stesso destinatario, stesso importo. Ma un TXID completamente diverso.
Lo so. Sembra una cosa banale. Ma era fondamentale. Immagina di costruire un sistema in cui il passaggio B fa riferimento all'ID del passaggio A. Se qualcuno può modificare l'ID del passaggio A dopo che è stato inviato ma prima che venga confermato, il passaggio B si blocca. L'intera catena logica crolla.
SegWit ha risolto questo problema calcolando il TXID solo dalle parti non di testimonianza. La firma ora si trova nel campo di testimonianza, separatamente dall'ID. Nessuno può modificarla. L'ID della transazione è bloccato una volta per tutte.
SegWit e la rete Lightning
Ecco perché la correzione della malleabilità era importante. Il Lightning Network è il sistema con cui Bitcoin intende gestire milioni di pagamenti al secondo. Io e te apriamo un canale di pagamento. Ci scambiamo bitcoin, al di fuori della blockchain principale. Al termine della transazione, solo il saldo netto finale viene registrato sulla blockchain. Un'unica transazione sulla blockchain di Bitcoin, invece di centinaia.
Lightning funziona creando catene di transazioni che si identificano reciprocamente tramite i loro ID. Se qualcuno riesce a modificare un ID a metà della catena, la transazione di rimborso che ti protegge diventa non valida. Potresti perdere denaro. L'intero concetto del canale di pagamento si basa sulla stabilità degli ID.
SegWit li ha resi stabili. Punto e basta. Senza quella correzione, Lightning sarebbe stato troppo rischioso da implementare. E senza Lightning, Bitcoin è bloccato per sempre a 7-10 transazioni al secondo. Questa non è una rete di pagamento. Questo è un livello di regolamento per le balene.
La vedo così: SegWit non è stato solo un aggiornamento. È stata la base stessa. Taproot nel 2021, il Lightning Network, persino le iscrizioni Ordinals nel 2023. Nulla di tutto ciò sarebbe stato possibile senza i cambiamenti strutturali apportati nell'agosto del 2017.
I formati di indirizzo: legacy, wrapped e nativo SegWit
Avete mai notato che alcuni indirizzi Bitcoin iniziano con "1", altri con "3" e altri ancora con "bc1"? Questo è l'aggiornamento SegWit che appare nel vostro portafoglio.
Gli indirizzi che iniziano con "1" sono obsoleti. Formato vecchio. Non supportano SegWit. Sono quelli che pagano le commissioni più alte. Se il tuo portafoglio continua a inviarti questi indirizzi, aggiorna il software.
Gli indirizzi che iniziano con "3" sono incapsulati in SegWit. La transazione Bitcoin utilizza SegWit internamente, ma è incapsulata in modo che i portafogli più vecchi che non conoscono SegWit possano comunque inviare Bitcoin. Più economico del vecchio sistema, ma non l'opzione più economica.
Gli indirizzi che iniziano con "bc1q" sono in formato nativo SegWit, anche chiamato Bech32. Questa è la soluzione migliore. Offre le commissioni più basse, il miglior controllo degli errori (il formato dell'indirizzo rileva meglio gli errori di battitura) ed è utilizzato dal 96% delle transazioni odierne.
Potreste anche imbattervi in indirizzi "bc1p". Si tratta di Taproot, un aggiornamento più recente del 2021 che si basa su SegWit. È un argomento diverso, ma è bene sapere che esiste.
| Tipo di indirizzo | Inizia con | Livello tariffario | SegWit? |
|---|---|---|---|
| Legacy (P2PKH) | 1 | Più alto | NO |
| SegWit avvolto (P2SH) | 3 | Mezzo | Sì (confezionato) |
| SegWit nativo (Bech32) | bc1q | Il più basso | Sì (madrelingua) |
| Taproot (Bech32m) | bc1p | Il più basso | Sì + radice principale |
Quanto si risparmia effettivamente sulle commissioni?
Ecco cosa vogliono sapere i miei amici che non se ne intendono di tecnologia: quanto costa di meno?
Unchained ha fatto i calcoli. Una transazione SegWit standard con firma singola consente di risparmiare circa il 53% sulle commissioni rispetto ai sistemi tradizionali. Utilizzando una configurazione multisig 2 su 3 (comune nel settore della custodia titoli), il risparmio sale a circa il 64%. Non si tratta di un errore di arrotondamento. In una giornata di punta, in cui gli utenti dei sistemi tradizionali pagano 30 dollari per transazione, con SegWit nativo si pagano meno di 15 dollari.
Perché? Di nuovo la questione del peso del blocco. I dati del testimone vengono conteggiati come 0,25 byte virtuali anziché 1. La tua transazione occupa meno spazio nel blocco. I miner chiedono meno. Semplice.
Se il tuo portafoglio Bitcoin ti restituisce ancora indirizzi che iniziano con "1", stai buttando via soldi a ogni invio. Passa a SegWit nativo. Bastano cinque minuti. Coinbase, Ledger, Trezor, BlueWallet, Sparrow, lo supportano tutti. Non ci sono svantaggi.

La controversia: perché SegWit ha rischiato di non vedere la luce?
Questa parte è onestamente più interessante della parte tecnica. SegWit ha rischiato di fallire prima ancora del lancio.
In apparenza, la battaglia era semplice. Una fazione, i "big blockers", voleva aumentare il limite di dimensione dei blocchi da 1 MB a 8 MB o più. Più spazio, più transazioni. Una soluzione semplice. Bitmain, il più grande miner di bitcoin al mondo, appoggiò con forza questa fazione. Alcuni accusarono Bitmain di opporsi a SegWit perché avrebbe eliminato ASICBOOST, un trucco segreto integrato nei loro chip di mining che garantiva loro un vantaggio in termini di velocità rispetto alla concorrenza. Bitmain negò l'accusa. Il mondo delle criptovalute non gli credette.
L'altro schieramento era composto principalmente dagli sviluppatori di Bitcoin Core e da coloro che gestivano nodi completi a casa. La loro tesi era: blocchi 8 volte più grandi, quindi servirebbero 8 volte più larghezza di banda, spazio di archiviazione e potenza di elaborazione per far funzionare un nodo. Tra qualche anno, solo i data center e le mining farm potranno permettersi di validare la blockchain di Bitcoin. La decentralizzazione si estinguerà silenziosamente.
Seguivo la vicenda in tempo reale e avevo la netta sensazione che Bitcoin potesse non sopravvivere alla discussione. La gente si urlava contro su Twitter, Reddit e alle conferenze. Ci fu persino un incontro a porte chiuse a New York (il "New York Agreement") in cui diverse aziende cercarono di negoziare un accordo che combinasse SegWit con un successivo aumento della dimensione dei blocchi. Anche quell'accordo fallì.
Ecco cosa è successo realmente: SegWit è stato attivato il 1° agosto 2017 tramite un soft fork attivato dagli utenti. I miner di Bitcoin che si opponevano si sono separati e hanno creato Bitcoin Cash (BCH) lo stesso giorno. BCH ha adottato blocchi da 8 MB (ora 32 MB) e non utilizza SegWit. Esiste ancora e viene scambiato a una frazione minima del prezzo di Bitcoin.
Il 1° agosto viene chiamato da alcuni "Giorno dell'Indipendenza di Bitcoin". Il punto fondamentale è che gli operatori dei nodi, e non le società di mining, hanno l'ultima parola sulle regole di Bitcoin. Questo precedente è più importante di qualsiasi riga di codice nell'aggiornamento SegWit stesso.
Adozione di SegWit oggi
Il dibattito è chiuso. Nel 2025 il 96% delle transazioni Bitcoin utilizzava SegWit. Tutti i principali wallet lo supportano. Tutti gli exchange lo supportano. Se utilizzate ancora indirizzi obsoleti, l'unica spiegazione è che il software non viene aggiornato da anni.
L'aggiornamento di SegWit ha anche spalancato le porte a tutto ciò che è seguito. Taproot è arrivato nel novembre 2021 e ha aggiunto le firme Schnorr alla struttura di SegWit. Ordinals è apparso nel 2023 e ha iniziato a inserire immagini JPEG nello spazio dei dati witness creato da SegWit. Le opinioni su quest'ultima novità sono contrastanti, ma il punto resta: SegWit ha creato questo spazio e gli sviluppatori lo hanno riempito.
Quindi, SegWit è importante per te personalmente? Se usi Bitcoin, sì. Apri le impostazioni del tuo portafoglio e controlla il formato del tuo indirizzo. Se inizia con "bc1q" sei a posto. Se inizia con "1", dovresti passare a SegWit oggi stesso. Commissioni più basse, conferme più rapide in caso di congestione e pieno accesso ai pagamenti Lightning.
Nella vita di tutti i giorni non penserete mai a SegWit. Si tratta dell'impianto idraulico sotto il pavimento. Ma se qualcuno non lo avesse installato nel 2017, a quest'ora tutta la casa si sarebbe allagata.