Qu`est-ce que SegWit ?

Qu`est-ce que SegWit ?

En 2017, Bitcoin connaissait un problème qui menaçait de déchirer la communauté. Le réseau ne pouvait traiter que trois transactions par seconde environ. Les frais explosaient. Les blocs étaient saturés. Et chacun avait sa propre solution.

La solution qui a prévalu fut SegWit, abréviation de Segregated Witness. Proposée par Pieter Wuille, l'un des principaux développeurs de Bitcoin Core, elle a profondément modifié la structure des transactions Bitcoin. Un changement radical, bien loin d'être anodin : une refonte complète de l'organisation des données au sein d'un bloc. Huit ans plus tard, environ 96 % des transactions Bitcoin utilisent des adresses SegWit. Si vous avez acheté ou envoyé des bitcoins ces dernières années, vous l'avez très probablement utilisé sans le savoir.

Quel était le problème exactement ?

Permettez-moi de vous brosser un tableau de l'année 2016.

Bitcoin imposait une limite de 1 Mo par bloc. Satoshi Nakamoto a instauré cette limite en 2010 pour lutter contre le spam, et personne ne l'a modifiée. Les blocs sont minés environ toutes les 10 minutes. Avec 1 Mo par bloc, cela représente environ 1 650 transactions par bloc. En faisant le calcul, on arrive à environ 2 à 3 transactions par seconde pour l'ensemble du réseau Bitcoin. Imaginez la planète entière partageant une connexion aussi ténue !

Visa, au fait, en traite 65 000 par seconde. Donc oui, problème.

Fin 2016, chaque bloc atteignait la limite de 1 Mo. Face à cette saturation, les utilisateurs de bitcoin se sont lancés dans une surenchère sur les frais de transaction, tentant de corrompre les mineurs pour qu'ils traitent leur transaction en premier. Les frais ont explosé. Envoyer 10 $ de bitcoins pouvait coûter jusqu'à 15 $ de frais. C'était absurde.

Et puis il y avait le problème plus technique : la malléabilité des transactions. Je vais essayer de faire simple. Lorsque vous envoyez des bitcoins, le réseau crée un identifiant pour cette transaction. Avant SegWit, cet identifiant était construit à partir de la transaction complète, signatures comprises. Le hic ? Quelqu'un pouvait intercepter votre transaction non confirmée, modifier l'encodage de la signature (tout en la conservant techniquement valide) et obtenir un identifiant différent pour exactement le même paiement. Même expéditeur. Même destinataire. Même montant. Numéro d'identification différent.

Pourquoi est-ce important ? Parce que Mt. Gox, la plateforme d'échange qui a perdu 840 000 BTC en 2014, a été victime de cette faille. Plus important encore, tout système de seconde couche reposant sur Bitcoin (comme les canaux de paiement) doit référencer les transactions par leur identifiant. Si ces identifiants changent, tout s'effondre.

Bitcoin était confronté à deux problèmes simultanés : des blocs trop petits et des identifiants de transaction non fiables. SegWit a résolu les deux d'un seul coup.

Comment fonctionne SegWit (sans avoir besoin d'un diplôme en informatique)

Imaginez une transaction Bitcoin comme un chèque. Il y a la partie qui indique qui paie qui et pour combien. Ensuite, il y a votre signature en bas qui prouve sa légitimité. Avant SegWit, ces deux parties étaient regroupées en un seul bloc, et le tout était comptabilisé dans la limite de taille de bloc de 1 Mo.

Voici ce qui agaçait Pieter Wuille : les données de signature occupaient environ 65 % de chaque transaction. La majeure partie de chaque bloc ne servait pas à enregistrer l’opération elle-même, mais la preuve qu’une personne l’avait validée. Cela lui paraissait un gaspillage.

Son idée : extraire les signatures et les placer dans une section dédiée appelée « témoin ». Les données de la transaction restent dans le bloc principal. Les données du témoin sont stockées séparément. Elles sont toujours vérifiées par chaque nœud du réseau, mais leur poids dans le calcul du remplissage d'un bloc est différent.

Concrètement, qu'est-ce qui s'est passé ? La taille des blocs est passée d'environ 1 650 transactions à près de 2 700. Le débit de Bitcoin a bondi de 2-3 transactions par seconde à environ 7-10. Encore dérisoire comparé à Visa. Mais pour un réseau étouffé par son propre succès, c'était un soulagement.

Segwit

Poids du bloc : les nouvelles mathématiques

C'est là que ça devient astucieux. La solution de facilité aurait été de simplement augmenter la limite de 1 Mo à 2 Mo. Mais cela aurait entraîné une bifurcation dure (hard fork). Chaque nœud du réseau Bitcoin aurait dû être mis à jour, sous peine d'être déconnecté de la chaîne. Les bifurcations dures sont souvent problématiques et peuvent laisser des utilisateurs sur le carreau.

Pieter Wuille a imaginé une solution plus astucieuse. Au lieu de mesurer les blocs en octets bruts, SegWit utilise le « poids du bloc ». Les données de transaction classiques comptent pour 4 unités de poids par octet. Les données de témoin comptent pour seulement 1 unité de poids par octet. La limite est de 4 millions d'unités de poids au total.

Qu'est-ce que cela signifie concrètement ? Un bloc sans données de témoin ne dépasse toujours pas 1 Mo. Les anciens nœuds ne constatent aucune anomalie. Un bloc contenant de nombreuses transactions SegWit peut théoriquement atteindre près de 4 Mo. En pratique, la plupart des blocs pèsent entre 1,5 et 2 Mo.

Le plus beau, c'est que SegWit a été déployé comme une bifurcation logicielle. Les nœuds qui n'ont jamais été mis à jour ont continué de fonctionner normalement. Ils ne pouvaient simplement pas accéder aux données de témoin dans la nouvelle section. La blockchain Bitcoin n'a pas été scindée. Il n'y avait pas d'« ancien Bitcoin » ni de « nouveau Bitcoin ». Une seule chaîne, un seul réseau, rétrocompatible. Ce seul fait représente une prouesse technique trop souvent sous-estimée.

Avant SegWit Après SegWit
Taille des blocs : 1 Mo maximum Poids du bloc : max. 4 millions d'unités de poids
~1 650 transactions par bloc ~2 700 transactions par bloc
2-3 TPS 7-10 TPS
Données de signature à l'intérieur du bloc Données de signature dans un champ témoin séparé
Les identifiants de transaction incluaient les signatures Identifiants de transaction basés uniquement sur les données de base

La correction de la malléabilité des transactions

On parle sans cesse de la taille des blocs. À juste titre, c'était le problème le plus médiatisé. Mais je pense que la correction de la malléabilité des transactions était l'élément le plus important, et la plupart des gens en dehors du milieu des développeurs n'en ont quasiment aucune idée.

Voici comment ça fonctionne. Avant SegWit, lorsqu'un portefeuille Bitcoin créait une transaction, l'identifiant de transaction (appelé TXID) était calculé à partir de tous les éléments de la transaction, y compris la signature. Et voici le point étrange : une signature numérique peut être exprimée sous plusieurs formats valides. Même signature, même preuve de propriété, mais une séquence d'octets légèrement différente.

Cela signifiait que quelqu'un pouvait intercepter votre transaction non confirmée, réencoder la signature d'une manière différente mais tout aussi valide, et la diffuser. Le réseau confirmerait alors cette version modifiée. Même expéditeur, même destinataire, même montant. Mais un identifiant de transaction (TXID) complètement différent.

Je sais, ça paraît obscur. Mais c'était crucial. Imaginez un système où l'étape B fait référence à l'identifiant de l'étape A. Si quelqu'un modifie l'identifiant de l'étape A après sa soumission, mais avant sa confirmation, l'étape B devient inopérante. Toute la logique du système s'effondre.

SegWit a résolu ce problème en calculant l'identifiant de transaction (TXID) uniquement à partir des parties non liées au témoin. La signature se trouve désormais dans le champ témoin, distincte de l'identifiant. Personne ne peut la modifier. L'identifiant de transaction est ainsi définitivement protégé.

SegWit et le réseau Lightning

C'est pourquoi la correction du problème de malléabilité était si importante. Le Lightning Network est la solution que Bitcoin prévoit pour gérer des millions de paiements par seconde. Nous ouvrons un canal de paiement. Nous échangeons des bitcoins, en dehors de la blockchain principale. Une fois la transaction terminée, seul le solde net final est enregistré sur la blockchain. Une seule transaction sur la blockchain Bitcoin au lieu de centaines.

Le système Lightning fonctionne en créant des chaînes de transactions qui se référencent mutuellement grâce à leurs identifiants. Si un identifiant est modifié en cours de transaction, le remboursement qui vous protège devient caduc. Vous risquez alors de perdre de l'argent. L'ensemble du système de paiement repose sur la stabilité des identifiants.

SegWit a assuré leur stabilité. Point final. Sans cette correction, le déploiement de Lightning aurait été trop risqué. Et sans Lightning, Bitcoin est bloqué à 7-10 transactions par seconde. Ce n'est pas un réseau de paiement. C'est une couche de règlement pour les gros investisseurs.

Je vois les choses ainsi : SegWit n’était pas qu’une simple mise à jour. C’était la pierre angulaire. Taproot en 2021, le Lightning Network, et même les inscriptions Ordinals en 2023. Rien de tout cela n’aurait été possible sans les changements structurels opérés en août 2017.

Formats d'adresses : hérité, encapsulé et SegWit natif

Avez-vous déjà remarqué que certaines adresses Bitcoin commencent par « 1 », d’autres par « 3 » et d’autres encore par « bc1 » ? Il s’agit de la mise à jour SegWit qui apparaît dans votre portefeuille.

Les adresses commençant par « 1 » sont obsolètes. Ancien format. Non compatibles SegWit. Elles entraînent des frais plus élevés. Si votre portefeuille vous fournit encore ce type d'adresse, veuillez mettre à jour votre logiciel.

Les adresses commençant par « 3 » utilisent SegWit. La transaction Bitcoin utilise SegWit en interne, mais elle est encapsulée afin que les anciens portefeuilles qui ne connaissent pas SegWit puissent toujours y envoyer des bitcoins. C'est moins cher que les méthodes traditionnelles, mais ce n'est pas l'option la plus économique.

Les adresses commençant par « bc1q » sont au format SegWit natif, également appelé Bech32. C'est le protocole le plus performant : frais minimaux, détection d'erreurs optimale (le format d'adresse permet de mieux repérer les fautes de frappe) et il est utilisé par 96 % des transactions actuelles.

Vous pourriez également rencontrer des adresses « bc1p ». Il s'agit de Taproot, une mise à jour plus récente datant de 2021 et basée sur SegWit. C'est un autre sujet, mais il est bon de savoir qu'elles existent.

Type d'adresse Commence par Niveau des frais SegWit ?
Héritage (P2PKH) 1 Le plus haut Non
SegWit enveloppé (P2SH) 3 Moyen Oui (emballé)
SegWit natif (Bech32) bc1q Le plus bas Oui (natif)
Racine pivotante (Bech32m) bc1p Le plus bas Oui + Taproot

Combien économisez-vous réellement sur les frais ?

Voilà ce que mes amis non-initiés veulent vraiment savoir : combien ça coûte moins cher ?

Unchained a effectué les calculs. Une transaction SegWit standard à signature unique permet d'économiser environ 53 % sur les frais par rapport aux méthodes traditionnelles. Avec une configuration multisignature 2 sur 3 (courante dans le secteur de la conservation de titres), l'économie atteint environ 64 %. Ce n'est pas une simple erreur d'arrondi. Lors d'une journée de forte activité où les utilisateurs de méthodes traditionnelles paient 30 $ par transaction, vous payez moins de 15 $ avec SegWit natif.

Pourquoi ? Encore une fois, à cause du calcul du poids des blocs. Les données de témoin comptent pour 0,25 octet virtuel au lieu de 1. Votre transaction occupe donc moins d'espace dans le bloc. Les mineurs facturent moins cher. C'est simple.

Si votre portefeuille Bitcoin vous attribue encore des adresses commençant par « 1 », vous perdez de l'argent à chaque envoi. Passez au protocole SegWit natif. Cinq minutes suffisent. Coinbase, Ledger, Trezor, BlueWallet, Sparrow : tous le prennent en charge. Aucun inconvénient.

Segwit

La controverse : pourquoi SegWit a-t-il failli ne jamais voir le jour ?

Cette partie est honnêtement plus intéressante que la technologie elle-même. SegWit a failli disparaître avant même son lancement.

Le conflit semblait simple en apparence. Un camp, celui des « gros bloqueurs », souhaitait augmenter la taille maximale des blocs de 1 Mo à 8 Mo, voire plus. Plus d'espace, plus de transactions. Une solution simple. Bitmain, le plus grand mineur de bitcoins au monde, soutenait ardemment ce camp. Certains accusaient Bitmain de s'opposer à SegWit car cela anéantirait ASICBOOST, une astuce secrète intégrée à leurs puces de minage qui leur conférait un avantage de vitesse sur leurs concurrents. Bitmain a nié ces accusations. Le monde des cryptomonnaies n'y a pas cru.

L'autre camp était principalement composé de développeurs de Bitcoin Core et de personnes exécutant des nœuds complets à domicile. Leur argument : multiplier par huit la taille des blocs implique de multiplier par huit la bande passante, le stockage et la puissance de calcul nécessaires pour faire fonctionner un nœud. D'ici quelques années, seuls les centres de données et les fermes de minage pourront se permettre de valider la blockchain Bitcoin. La décentralisation disparaîtra discrètement.

Je suivais la situation en direct et j'avais vraiment l'impression que Bitcoin allait succomber à ce débat. Les échanges étaient houleux sur Twitter, Reddit et lors de conférences. Il y a même eu une réunion à huis clos à New York (l'« Accord de New York ») où plusieurs entreprises ont tenté de négocier un accord combinant SegWit et une augmentation ultérieure de la taille des blocs. Cet accord a lui aussi échoué.

Voici ce qui s'est réellement passé : SegWit a été activé le 1er août 2017 suite à une modification logicielle (soft fork) initiée par les utilisateurs. Les mineurs de Bitcoin qui s'y opposaient ont créé Bitcoin Cash (BCH) le même jour. BCH utilisait des blocs de 8 Mo (désormais 32 Mo) et n'intégrait pas SegWit. Il existe toujours et se négocie à un prix infime par rapport à celui du Bitcoin.

Le 1er août est parfois surnommé « Jour de l'indépendance du Bitcoin ». L'enseignement principal est que ce sont les opérateurs de nœuds, et non les sociétés de minage, qui ont le dernier mot sur les règles du Bitcoin. Ce précédent est plus important que n'importe quelle ligne de code de la mise à jour SegWit elle-même.

Adoption de SegWit aujourd'hui

Le débat est clos. 96 % des transactions Bitcoin utilisent SegWit dès 2025. Tous les principaux portefeuilles et plateformes d'échange le prennent en charge. Si vous utilisez encore d'anciennes adresses, la seule explication est un logiciel non mis à jour depuis des années.

La mise à jour SegWit a également ouvert la voie à tout ce qui a suivi. Taproot est apparu en novembre 2021 et a ajouté les signatures Schnorr à la structure de SegWit. Ordinals a fait son apparition en 2023 et a commencé à intégrer des fichiers JPEG dans l'espace de données de témoins créé par SegWit. Les avis sont partagés à ce sujet, mais le constat demeure : SegWit a créé l'espace, et les développeurs l'ont investi.

SegWit vous concerne-t-il personnellement ? Si vous utilisez Bitcoin, oui. Ouvrez les paramètres de votre portefeuille et vérifiez le format de votre adresse. Si elle commence par « bc1q », tout est en ordre. Si elle commence par « 1 », vous devriez migrer dès aujourd’hui. Vous bénéficierez ainsi de frais réduits, de confirmations plus rapides en cas de congestion et d’un accès complet aux paiements Lightning.

Vous n'y penserez jamais au quotidien. C'est comme la plomberie sous le plancher. Mais si personne ne l'avait installé en 2017, la maison serait inondée depuis longtemps.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.