Segwit

SegWit est l’abréviation de « Segregated Witness », une mise à jour réalisée sur la blockchain Bitcoin. Il s’agit d’un soft fork, impliquant qu’il existe une rétrocompatibilité. Cette technologie a été introduite en 2015 par Pieter Wuille et une équipe de développement de Bitcoin Core. L’objectif prioritaire de cette mise à jour est de corriger la malléabilité des transactions, c’est-à-dire la possibilité de modifier l’identifiant unique de transaction (correspondant à un hash des données de la transaction) sans invalider ladit transaction. C’est donc une mise à jour d’une grande importance concernant la sécurité du réseau Bitcoin.

Pour ce faire, la mise à jour Segwit propose de créer une structure de données séparée appelée témoin et contenant notamment les signatures associées aux transactions. Ce faisant, l’identifiant unique de la transaction n’inclut plus la signature dans son calcul, et devient donc immuable puisque ne dépend plus du nombre aléatoire (ou nonce) choisi lors de la signature.

Le fonctionnement de SegWit repose donc sur une ségrégation entre données de transaction et données de signature. Jusqu’alors, ces deux types de données étaient stockés ensemble dans la blockchain Bitcoin. Avec SegWit, les données de signature sont stockées dans un emplacement distinct, hors de la blockchain principale, ce qui permet de résoudre le problème de malléabilité.

Par ailleurs, Segwit permet également d’améliorer l’efficacité et la vitesse de traitement des transactions sur la blockchain Bitcoin, en instaurant la notion de poids maximal par bloc au lieu de la taille maximale par bloc. Les blocs peuvent donc contenir plus de données, avec une capacité théorique maximale de 4 Mo par bloc.