SegWit (acronimo di Segregated Witness) è il processo mediante il quale il limite della dimensione del blocco su una blockchain viene aumentato rimuovendo i dati della firma dalle transazioni bitcoin. Quando alcune parti di una transazione vengono rimosse, si libera spazio o capacità per aggiungere più transazioni alla chain.
Segregare (segregated) significa separare, e i testimoni (witness) sono le firme delle transazioni. Segregated Witness, quindi, significa separare le firme delle transazioni.
Come funziona SegWit?

La blockchain bitcoin è costituita da più sistemi distribuiti su una rete peer-to-peer. Questi sistemi sono chiamati nodi e fungono da amministratori delle transazioni. Tutte le transazioni effettuate in bitcoin vengono duplicate su questi nodi, rendendo praticamente impossibile violare e corrompere una transazione.
I dati della transazione condivisi tra più nodi sono costituiti da due componenti: input e output. Potrebbero esserci uno o più input e output coinvolti in una transazione.
L’output è l’indirizzo pubblico del destinatario. L’input è l’indirizzo pubblico del mittente. Il mittente ha bisogno dell’indirizzo pubblico del destinatario per inviargli fondi. La maggior parte dello spazio in una transazione consiste in una firma, una parte dell’input, che verifica che il mittente disponga dei fondi necessari per effettuare un pagamento.
Quindi, in pratica, un bitcoin si sposta dagli input agli output per ogni transazione trasmessa. Una volta che ciascuno dei nodi ha verificato la validità della transazione, la transazione viene inclusa in un blocco che viene aggiunto alla chain o al general ledger per l’accesso pubblico.
Il problemi della piattaforma Bitcoin
Uno dei problemi che la piattaforma bitcoin ha dovuto affrontare in passato è che, man mano che vengono condotte sempre più transazioni, è necessario aggiungere più blocchi alla catena.
I blocchi vengono generati circa ogni 10 minuti e sono limitati a una dimensione massima di un megabyte (MB). A causa di questo vincolo, a un blocco può essere aggiunto solo un certo numero di transazioni.
Il peso delle transazioni, rappresentato dai blocchi, appesantisce la rete e causa ritardi nell’elaborazione e nella verifica delle transazioni, in alcuni casi impiegando ore per confermare una transazione come valida.
Immagina tutte le transazioni bitcoin che sono state effettuate sulla blockchain di bitcoin dal 2009 a oggi, e che continuano ad accumularsi. A lungo termine, il sistema non sarebbe sostenibile se non si operasse un cambiamento radicale.
In poche parole, SegWit è un processo che cambia il modo in cui i dati vengono archiviati, aiutando quindi la rete Bitcoin a funzionare più velocemente e senza intoppi.
La soluzione proposta da SegWit
Lo sviluppatore Pieter Wuille suggerisce che, per risolvere il problema del continuo aumentare del carico della rete, la firma digitale deve essere separata dai dati della transazione: questo processo è noto come Segregated Witness o SegWit.
La firma digitale rappresenta il 65% dello spazio in una determinata transazione. SegWit tenta di ignorare i dati allegati a una firma rimuovendo la firma dall’input e spostandola in una struttura verso la fine di una transazione. Ciò aumenterebbe il limite di un MB per le dimensioni dei blocchi a poco meno di quattro MB.
Oltre ad aumentare la dimensione della capacità dei blocchi, SegWit risolve anche il problema in cui un destinatario potrebbe intercettare e modificare l’ID della transazione del mittente nel tentativo di ottenere più monete dal mittente. Poiché la firma digitale sarebbe staccata dall’input, non si riuscirebbe a modificare l’ID della transazione senza annullare anche la firma digitale.