SEGWIT
SegWit, acronyme de « Segregated Witness » (Témoin Séparé), est une mise à jour du protocole Bitcoin introduite en août 2017. Elle vise à résoudre plusieurs problèmes techniques, dont la question de la capacité transactionnelle du réseau, le problème de malléabilité des transactions et la facilitation des modifications futures du protocole.
Ce soft fork modifie la structure des transactions en déplaçant les données de signature vers une structure séparée. Concrètement, avec SegWit, les signatures sont retirées de la structure traditionnelle des transactions et insérées dans une structure de données distincte engagée dans un arbre de Merkle séparé au sein du bloc, ce sont les témoins (witness). Cette séparation permet d’augmenter la capacité effective de chaque bloc en remplaçant l’ancienne limite de 1 Mo par une nouvelle limite de 4 millions d’unités de poids (4 MWU), tout en restant rétrocompatible avec les anciens nœuds. Cette modification résout également le problème de la malléabilité des transactions. Avant SegWit, les signatures pouvaient être modifiées avant qu’une transaction ne soit confirmée, ce qui changeait l’identifiant de la transaction. Cela rendait difficile la construction de transactions complexes, car une transaction non confirmée pouvait voir son identifiant changer. En séparant les signatures, SegWit rend les transactions non malléables, car tout changement dans les signatures n’affecte plus l’identifiant de la transaction (TXID), mais uniquement l’identifiant du témoin (WTXID). En résolvant le problème de la malléabilité, SegWit a ouvert la voie à d’autres développements en surcouche du système Bitcoin, notamment le réseau Lightning Network, qui permet des transactions rapides et à faible coût.