Témoin séparé (Segregated Witness), souvent abrégé en SegWit, est une mise à jour du protocole Bitcoin conçue pour résoudre les problèmes d’évolutivité et de sécurité du réseau.
SegWit est une mise à jour qui sépare les données de transaction et les données « témoin », qui comprennent les signatures numériques.
L’introduction de SegWit a modifié le format de transaction pour y inclure un nouveau champ, le champ « témoin ». Ce champ témoin contient les signatures numériques, les clés publiques et d’autres éléments. En séparant ces données du reste de la transaction et en ne comptant pas les données témoin lors de la détermination de la taille du bloc, SegWit libère essentiellement plus d’espace dans celui-ci.
SegWit a été développé en 2015 par Pieter Wuille, un développeur Bitcoin, en collaboration avec d’autres contributeurs de Bitcoin Core. En août 2017, la mise à niveau SegWit a été implémentée en tant que soft fork du réseau Bitcoin.
Sans SegWit, les données de signature peuvent prendre jusqu’à 65 % d’un bloc. Avec SegWit, les données de signature sont éloignées de l’entrée de la transaction. Cela conduit à une augmentation effective de la taille du bloc de 1 Mo à environ 4 Mo.
SegWit a la capacité d’augmenter la vitesse des transactions, car plus de transactions peuvent être incluses dans un bloc. Cela conduit à un traitement de plus de transactions et à un TPS (transaction par seconde) plus élevé.
SegWit a été un sujet controversé dans la communauté Bitcoin et son implémentation a été l’une des raisons clés qui ont conduit à la création de Bitcoin Cash, un fork de Bitcoin possédant une taille de bloc plus grande, mais sans SegWit.
Certains considèrent SegWit comme une mise à jour trop complexe qui expose le réseau à des risques ou des vulnérabilités. Les critiques soulignent des problèmes potentiels tels que la possibilité que certaines transactions deviennent des transactions « tout-le-monde-peut-dépenser » (anyone-can-spend).