Segregated Witness, spesso abbreviato in SegWit, è un aggiornamento del protocollo Bitcoin progettato per risolvere i problemi di scalabilità e sicurezza della rete.
SegWit è un aggiornamento che segrega i dati delle transazioni e i dati "witness" (testimone), che comprendono le firme digitali.
L'introduzione di SegWit ha modificato il formato delle transazioni per includere un nuovo campo chiamato "witness". Questo campo witness contiene le firme digitali, le chiavi pubbliche e altri elementi. Separando questi dati dal resto della transazione e non contando i dati witness nel determinare la dimensione del blocco, SegWit essenzialmente libera più spazio nel blocco.
SegWit è stato sviluppato nel 2015 dallo sviluppatore di Bitcoin Pieter Wuille, insieme ad altri collaboratori di Bitcoin Core. Nell'agosto 2017, l'aggiornamento SegWit è stato implementato come soft fork sulla rete Bitcoin.
Senza SegWit, i dati di firma possono occupare fino al 65% dello spazio di un blocco. Con SegWit, i dati di firma vengono spostati dall'input della transazione. In questo modo la dimensione del blocco aumenta effettivamente da 1 MB a circa 4 MB.
SegWit è in grado di aumentare la velocità di transazione, poiché in questo modo è possibile includere più transazioni in un blocco. Questo porta a un maggior numero di transazioni elaborate e un TPS (transazioni al secondo) più elevato.
SegWit è stato un argomento controverso nella community di Bitcoin e la sua implementazione è stata uno degli eventi fondamentali che ha portato alla creazione di Bitcoin Cash, un fork di Bitcoin che ha una dimensione di blocco maggiore senza implementare SegWit.
Alcuni considerano SegWit un aggiornamento eccessivamente complesso che espone la rete a potenziali rischi o vulnerabilità. Gli oppositori sottolineano potenziali problemi come la possibilità che determinate transazioni diventino "anyone-can-spend" (spendibili da chiunque).