
Segregated Witness (SegWit) marque une avancée technique majeure pour la blockchain Bitcoin, ayant été officiellement activée en août 2017. Cette évolution restructure les blocs en dissociant les signatures des transactions, appelées « données de témoin », des autres données de transaction, afin de les stocker dans une structure dédiée. Ce modèle innovant résout efficacement la malléabilité des transactions sur Bitcoin, accroît la capacité des blocs, optimise les performances du réseau et prépare l’arrivée de solutions de mise à l’échelle de deuxième couche telles que le Lightning Network.
Le principe du Segregated Witness a été initialement présenté par Pieter Wuille, développeur Bitcoin Core, en décembre 2015 lors du Scaling Bitcoin workshop à Hong Kong. À cette période, le réseau Bitcoin rencontrait des problèmes aigus de scalabilité, la limite de bloc à 1 Mo engendrant des congestions de transactions et une hausse des frais. Par ailleurs, la vulnérabilité liée à la malléabilité des transactions permettait de modifier les identifiants avant confirmation, freinant le développement de solutions de paiement avancées.
Alors que la communauté Bitcoin débattait vivement sur la résolution des enjeux de scalabilité, SegWit fut proposé en tant que soft fork permettant d’augmenter la capacité effective des blocs sans altérer le consensus, tout en corrigeant la malléabilité des transactions. Après environ dix-huit mois de développement et de tests, SegWit fut déployé via la BIP 141 (Bitcoin Improvement Proposal), et son activation réussie en août 2017 a eu lieu après l’atteinte du seuil requis.
Le cœur de SegWit repose sur la restructuration des transactions, avec plusieurs éléments clés :
Séparation des données – Les informations de « témoin » (signatures et scripts) sont extraites des données principales des transactions, puis placées dans une structure indépendante.
Ajustement du calcul du poids – Lors du calcul de la taille des blocs, les données de témoin bénéficient d’un poids réduit à 0,25 unité par octet, contre 1 unité pour les données non témoin. Cela permet d’intégrer un plus grand nombre de transactions dans chaque bloc, portant la limite effective à environ 4 Mo.
Nouveau format d’adresse – Un format d’adresse inédit (Bech32, débutant par « bc1 ») a été instauré pour les transactions SegWit, offrant une détection d’erreurs améliorée et des codes QR plus compacts.
Modification du calcul de l’identifiant de transaction – Les données de signature ne sont plus prises en compte dans la génération du txid (identifiant de transaction), ce qui élimine la malléabilité et garantit la stabilité de l’identifiant après diffusion.
Sur le plan technique, SegWit introduit de nouvelles règles de version pour le système de script Bitcoin : les transactions au format traditionnel sont marquées version 0, celles au format SegWit version 1, ce qui assure une compatibilité ascendante permettant aux nœuds non mis à jour de continuer à valider la blockchain.
Malgré ses nombreux atouts, l’implémentation de SegWit s’est accompagnée de risques et de défis majeurs :
Problèmes d’adoption – Fonctionnalité optionnelle, SegWit nécessitait l’engagement actif des portefeuilles et plateformes d’échange pour optimiser ses avantages, ce qui a freiné son adoption initiale.
Complexité technique – Son déploiement a requis des modifications substantielles des logiciels de portefeuille, augmentant la charge des développeurs et les risques d’erreurs.
Division communautaire – L’activation de SegWit a provoqué des dissensions marquées au sein de la communauté Bitcoin, aboutissant à un fork ayant donné naissance à Bitcoin Cash.
Sécurité – Les nouvelles règles de vérification des scripts et le format d’adresse ont nécessité des tests approfondis pour éviter l’apparition de vulnérabilités inédites.
Période de transition réseau – Avant la généralisation de SegWit, il a fallu maintenir la compatibilité avec les deux formats de transaction, complexifiant le fonctionnement du réseau.
Cependant, l’activation de SegWit est reconnue comme une étape décisive dans l’évolution technique de Bitcoin, illustrant la faisabilité de mises à niveau majeures par soft fork.
SegWit incarne un jalon fondamental dans le développement de Bitcoin, résolvant des problématiques techniques critiques tout en posant les bases d’innovations futures. En éliminant la malléabilité des transactions, SegWit a permis l’apparition de solutions de mise à l’échelle comme le Lightning Network, ouvrant la voie à la scalabilité durable de Bitcoin. Par son implémentation en soft fork, SegWit souligne la complexité de la gouvernance et des évolutions techniques au sein de la blockchain, ainsi que les défis liés à la recherche de consensus dans les systèmes décentralisés. Progressivement, SegWit s’est imposé et standardisé sur le réseau Bitcoin, démontrant la pertinence de son architecture et sa valeur technique.
Partager


