SegWit (Segregated Witness)
SegWit, activé en août 2017, sépare la donnée witness du reste de la transaction. Cela résout la malléabilité, augmente la capacité effective des blocs et active Lightning. Soft fork emblématique issu de la Blocksize War. Existe en V0 (P2WPKH/P2WSH) et V1 (Taproot).
Origine
SegWit (Segregated Witness) est un soft fork de Bitcoin proposé par Pieter Wuille au Scaling Bitcoin Hong Kong en décembre 2015. Implémenté dans Bitcoin Core 0.13.1 et activé par le mécanisme BIP-9 + UASF (BIP-148) le 23 août 2017 au bloc 481 824, il est l'un des changements les plus consécutifs jamais déployés sur le protocole.
L'idée fondamentale
Séparer ("segregate") les données de témoignage ("witness", c'est-à-dire les signatures) du reste de la transaction. Concrètement :
- Les signatures ne sont plus dans le scriptSig mais dans une nouvelle structure, le scriptWitness.
- Le txid est calculé sans le witness, ce qui élimine la malléabilité.
- Le witness compte pour 1/4 dans le calcul du poids, ce qui crée un "discount" pour les transactions SegWit.
Problèmes résolus
| Problème pré-SegWit | Solution SegWit | |---------------------|-----------------| | Malléabilité des txid | Witness exclu du hash | | Validation O(n²) du sighash | Nouveau sighash BIP-143 linéaire | | Pas de versioning de script | Witness version (0, 1, ...) extensible | | Frais élevés pour multisig | Discount de poids du witness | | Pas de Lightning viable | Channels nécessitent txid stable |
Les deux versions
| Version | Année | Format | Signature |
|---------|-------|--------|-----------|
| SegWit v0 | 2017 | bech32 (bc1q...) | ECDSA |
| SegWit v1 | 2021 | bech32m (bc1p...) | Schnorr |
SegWit v1 est mieux connu sous le nom de Taproot.
Le rôle dans la Blocksize War
Entre 2015 et 2017, la communauté Bitcoin s'est divisée sur la scalabilité. Les "big blockers" voulaient augmenter la taille des blocs (à 2, 8 ou 32 Mo) ; les "small blockers" préféraient SegWit + couches 2. SegWit représentait :
- Une augmentation effective de capacité (jusqu'à ~2.7 Mo de poids effectif).
- Le déblocage de Lightning.
- Le maintien de la décentralisation (nœuds restent abordables).
Après l'épisode UASF (BIP-148) où les utilisateurs ont menacé de forker si les mineurs ne signalaient pas SegWit, l'activation s'est faite et a contribué au schisme Bitcoin Cash en novembre 2017.
Activation et adoption
| Date | Événement | |------|-----------| | Oct. 2016 | Code merge dans Bitcoin Core 0.13.1 | | Août 2017 | Activation soft fork au bloc 481 824 | | Mai 2017 | UASF (BIP-148) menace + Bitfinex onboards SegWit | | Mi-2018 | SegWit > 30% des transactions | | 2024 | > 90% des outputs SegWit | | 2025 | Taproot continue son ascension |
Conséquences à long terme
SegWit n'est pas qu'un fix technique : c'est l'événement fondateur d'une nouvelle phase de Bitcoin :
- Lightning prend son envol fin 2017.
- Hardware wallets ajoutent le support Bech32.
- Exchanges activent SegWit progressivement (Coinbase tardivement, en 2020).
- Taproot devient possible en réutilisant l'infrastructure SegWit.
À retenir
SegWit est l'illustration parfaite d'un soft fork bien conçu : il ajoute de la fonctionnalité sans casser la rétrocompatibilité, débloque toute une génération d'innovations (Lightning, Taproot), et est devenu la majorité absolue de l'activité on-chain en moins de 7 ans.
Termes lies
- SegWit v0SegWit v0 est la première version de SegWit, activée en 2017. Elle introduit P2WPKH et P2WSH. Format Bech32. Utilise toujours ECDSA pour les signatures.
- SegWit v1 (Taproot)SegWit v1 désigne Taproot, activé en 2021. Adresses P2TR encodées en Bech32m. Utilise Schnorr et Tapscript. Successeur naturel de SegWit v0.
- Weight Unit (WU)Le Weight Unit est l'unité de poids des transactions Bitcoin (1 vB = 4 WU). Un bloc fait au plus 4 000 000 WU. Permet de comptabiliser les discounts SegWit (witness comptée 1 WU/byte). Standard depuis SegWit (BIP-141).
- Blocksize WarLa Blocksize War (2015-2017) est le conflit majeur de la communauté Bitcoin sur l'augmentation de la taille des blocs. Les big blockers voulaient augmenter la limite à 8 ou 32 MB ; les small blockers défendaient SegWit et Lightning. La victoire des seconds via l'UASF BIP-148 a fixé la philosophie de Bitcoin : décentralisation avant scalabilité on-chain. Elle a abouti au fork de Bitcoin Cash.
- BIP-141BIP-141 spécifie SegWit : separation du witness, weight units, P2WPKH/P2WSH. Activé en août 2017. Soft fork majeur.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.