Segregated Witness (SegWit) modifie la façon dont les transactions Bitcoin transportent les preuves de dépense, comme les signatures. Pour les entrées SegWit, ces informations figurent dans une structure de témoin exclue de l’identifiant traditionnel, le txid. Les nœuds validateurs continuent à transmettre et contrôler ces données ; elles ne disparaissent pas du processus de vérification.
Identifiants stables et engagements des blocs
Cette séparation corrige des formes importantes de malléabilité : modifier des données liées à la signature pouvait changer un identifiant sans modifier le paiement voulu. La protection dépend des entrées et des conditions de signature ; elle n’élimine pas toute modification possible d’une transaction.
Un identifiant distinct, le wtxid, inclut les données de témoin. Les blocs s’engagent sur ces données par un engagement de témoin associé à la transaction coinbase. SegWit a été déployé comme soft fork.
Poids et effets pratiques
SegWit a introduit le poids de bloc : les données hors témoin comptent davantage que celles du témoin. Cela peut réduire la taille virtuelle des transactions adaptées et améliorer l’usage de l’espace. Les frais réels dépendent toujours de la structure de la transaction et du taux de frais en vigueur.
Des identifiants plus stables soutiennent les protocoles construisant des transactions sur d’autres transactions non confirmées, notamment les canaux Lightning. SegWit ne rend pas les transactions privées, gratuites ou automatiquement confirmées.