Segregated Witness, ou SegWit, é uma atualização do protocolo Bitcoin projetada para lidar com problemas de escalabilidade e segurança da rede.
SegWit é uma atualização que separa os dados de transação e os dados de “testemunha”, que incluem as assinaturas digitais.
A introdução do SegWit alterou o formato das transações para incluir um novo campo chamado de "testemunha". Este campo contém as assinaturas digitais, chaves públicas e outros elementos. Ao separar esses dados do restante da transação e não contabilizar os dados de testemunha ao determinar o tamanho do bloco, o SegWit libera mais espaço no bloco.
O SegWit foi desenvolvido em 2015 pelo desenvolvedor de Bitcoin, Pieter Wuille, juntamente com alguns outros colaboradores do Bitcoin Core. Em agosto de 2017, a atualização SegWit foi implementada como um soft fork na rede Bitcoin.
Sem o SegWit, os dados de assinatura podem ocupar até 65% de um bloco. Com ele, os dados de assinatura são removidos do input (entrada) da transação. Isso faz com que o tamanho do bloco aumente efetivamente de 1 MB para cerca de 4 MB.
O SegWit também aumenta a velocidade das transações, pois permite a inclusão de mais transações em um bloco. Consequentemente, há um aumento no TPS (transações por segundo).
O SegWit tem sido um assunto polêmico na comunidade do Bitcoin e sua implementação foi uma das principais divergências que levaram à criação do Bitcoin Cash, um fork do Bitcoin que tem um tamanho de bloco maior sem a implementação do SegWit.
Alguns consideram o SegWit uma atualização excessivamente complexa que expõe a rede a possíveis riscos ou vulnerabilidades. Críticos destacam potenciais problemas, como a possibilidade de certas transações se tornarem transações que "qualquer um pode gastar".