Explication de SegWit : Du problème de signature de Bitcoin à sa mise en œuvre moderne

SegWit, abréviation de Segregated Witness, représente l’une des améliorations les plus significatives du protocole Bitcoin depuis sa création. Plutôt que de réviser l’ensemble du système, cette amélioration sophistiquée a abordé des vulnérabilités techniques spécifiques tout en introduisant des améliorations infrastructurelles qui allaient transformer la façon dont Bitcoin pouvait évoluer. Comprendre ce que fait SegWit et pourquoi cela importe nécessite d’examiner le problème qu’il a été conçu pour résoudre.

Le problème central : la malléabilité des transactions et les obstacles Layer 2

Avant SegWit, Bitcoin était confronté à un problème cryptographique particulier connu sous le nom de malléabilité des transactions. Les signatures numériques qui vérifient les transactions Bitcoin pouvaient être modifiées de manière à faire apparaître la transaction différente, même lorsqu’elle était modifiée par quelqu’un qui ne l’avait pas créée à l’origine. Cela n’invalidait pas la transaction ni ne changeait son effet fondamental — les coins continuaient de se déplacer du sender au receiver — mais cela créait une vulnérabilité critique qui rendait presque impossible le déploiement de solutions de seconde couche.

Le Lightning Network et d’autres protocoles de couche deux nécessitent une certitude absolue quant à l’intégrité des transactions. Sans résoudre la malléabilité des transactions, ces solutions de mise à l’échelle ne pouvaient pas fonctionner de manière fiable au-dessus de Bitcoin. Le problème n’était pas seulement gênant ; c’était une impasse architecturale pour l’évolution de Bitcoin vers un système de paiement à haut débit.

La solution technique de SegWit : la séparation des données de témoin

L’élégance de SegWit réside dans la façon dont il résout le problème de la malléabilité des transactions. En déplaçant les données de signature — appelées « données de témoin » — de l’espace principal de la transaction vers une partie séparée de chaque bloc Bitcoin, SegWit a éliminé la possibilité de manipuler les signatures de transaction. Cette réorganisation structurelle a eu plusieurs effets en aval.

Tout d’abord, elle a libéré le développement de la couche deux. Le Lightning Network et des protocoles similaires pouvaient désormais fonctionner en toute confiance, ouvrant la voie à Bitcoin pour gérer exponentiellement plus de transactions par seconde que ce que permet la couche de base. Au-delà de ce bénéfice principal, SegWit a introduit une expansion de la capacité des blocs via un mécanisme technique appelé « unités de poids ». Plutôt que d’augmenter simplement la taille du bloc (ce qui aurait nécessité une hard fork contestée), SegWit a intelligemment redéfini la façon dont les données de bloc sont comptabilisées, permettant effectivement aux blocs d’atteindre environ 4 mégaoctets de données en théorie, bien que plus réalistement autour de 2 mégaoctets selon la composition des transactions.

Ce gain d’efficacité a permis de réduire les frais de transaction pour les utilisateurs disposant de portefeuilles compatibles SegWit. De plus, l’architecture technique de SegWit a créé ce que les développeurs appellent des « versions de script » — un cadre qui simplifie le déploiement des futures améliorations de Bitcoin. Des innovations émergentes comme les signatures Schnorr, qui amélioreraient la programmabilité et la flexibilité de Bitcoin, sont devenues réalisables.

Tout cela a été accompli via une soft fork, une mise à niveau compatible avec les versions antérieures nécessitant seulement le soutien majoritaire de la puissance de hachage minière plutôt qu’un consensus unanime du réseau. Ce choix technique a évité le genre de fragmentation du réseau qui peut résulter de mises à jour par hard fork contentieuses.

Innovations des développeurs : comment Bitcoin Core a implémenté la mise à niveau

Le chemin vers la mise en œuvre de SegWit a impliqué plusieurs équipes. Blockstream a initialement développé une version précoce du concept pour son projet de sidechain Elements. Cependant, la percée est survenue lorsque le contributeur de Bitcoin Core Luke-jr a reconnu qu’une version compatible avec l’ancien pouvait être déployée sur le réseau principal Bitcoin lui-même.

L’équipe de développement de Bitcoin Core a pris en charge le travail d’implémentation, avec Eric Lombrozo, Johnson Lau et Pieter Wuille en tant qu’auteurs principaux de la Proposition d’Amélioration de Bitcoin (BIP) et développeurs principaux. Leur travail a constitué la base technique, bien que de nombreux autres développeurs de core aient contribué par des revues, des tests et des raffinements. Le mécanisme d’activation lui-même a évolué grâce à la contribution de la communauté — le développeur Litecoin Shaolinfry et l’ingénieur de Bitmain James Hilliard ont développé des approches alternatives pour l’activation basée sur le signal, qui se sont révélées cruciales par la suite.

La bataille d’activation : mineurs, utilisateurs et la UASF

Le parcours de SegWit, de la proposition à la mise en œuvre, révèle la complexité politique sous-jacente aux améliorations techniques. Bien qu’annoncée publiquement en décembre 2015 avec un code prêt en un an, SegWit ne s’est activé qu’en 2017 — un retard de deux ans dû au refus de nombreux mineurs Bitcoin de signaler leur soutien à la mise à niveau.

Dans la communauté technique de Bitcoin, SegWit a rencontré peu de scepticisme. Le débat externe portait sur la priorité à donner à d’autres approches de mise à l’échelle ou si SegWit suffisait à lui seul. Cependant, ces désaccords légitimes se sont mêlés à la dispute sur l’activation. Certains observateurs ont spéculé que les mineurs utilisaient SegWit comme levier dans des négociations plus larges sur la mise à l’échelle. Plus provocant encore, des preuves suggéraient que certaines opérations minières utilisaient une optimisation propriétaire appelée AsicBoost, incompatible avec SegWit — leur offrant des incitations financières à bloquer la mise à niveau.

Ce blocage a provoqué un mouvement de contre-attaque populaire. En 2017, des utilisateurs Bitcoin se sont mobilisés autour d’une idée proposée par Shaolinfry : une Soft Fork Activée par l’Utilisateur (UASF). Ces utilisateurs ont annoncé leur intention d’activer SegWit sur leurs nœuds indépendamment des préférences des mineurs cet été-là. Si cela avait été réalisé, cela aurait créé deux réseaux Bitcoin séparés — l’un avec SegWit, l’autre sans — un résultat catastrophique pour l’écosystème.

Face à cette « option nucléaire », les mineurs ont capitulé quelques jours avant la date limite de la UASF, en utilisant un nouveau mécanisme d’activation conçu par James Hilliard pour signaler leur soutien à SegWit. En août 2017, SegWit était en ligne sur le réseau Bitcoin.

Utilisation pratique : adresses SegWit et frais de transaction

Utiliser SegWit ne nécessite que d’employer un portefeuille ayant intégré la technologie. Ces portefeuilles génèrent des adresses SegWit et acheminent automatiquement les transactions via les mécanismes SegWit, avec des utilisateurs bénéficiant immédiatement de frais réduits.

Il existe deux formats d’adresses SegWit. Les adresses P2SH commencent par « 3 » — bien que toutes les adresses commençant par 3 ne soient pas forcément des adresses SegWit, rendant leur identification visuelle imparfaite. Les adresses Bech32, commençant par « bc1 », sont définitivement SegWit et offrent les frais les plus faibles de tous les types d’adresses Bitcoin. Ces transactions bech32 sont moins coûteuses que les transactions SegWit P2SH car elles utilisent plus efficacement le système d’unités de poids.

Les adresses traditionnelles commençant par « 1 » ne sont jamais des adresses SegWit. Parmi les portefeuilles supportant SegWit, on trouve Bitcoin Core, Electrum, Green, Trezor, Ledger, et de nombreux autres, bien que l’adoption par les portefeuilles ait été progressive.

Adoption actuelle : pourquoi SegWit n’est pas universel

Près d’une décennie après l’activation de SegWit, l’adoption reste incomplète. Plus de la moitié des transactions Bitcoin utilisent désormais SegWit, mais une part importante du réseau repose encore sur des formats de transaction hérités. Cette adoption étonnamment lente résulte de facteurs techniques et politiques.

Les obstacles techniques incluent la surcharge d’implémentation. Pour les grandes institutions financières et plateformes de paiement, intégrer SegWit nécessite une migration à l’échelle du système et des ressources de développement importantes. Les petits développeurs de portefeuilles et fournisseurs de services ont simplement dépriorisé la mise à niveau par rapport à d’autres fonctionnalités, même si l’intégration est relativement simple.

Une dimension politique persiste également. Certaines entités résistent prétendument à l’adoption de SegWit en protestation contre son approche de mise à l’échelle. Elles peuvent préférer d’autres solutions ou suspecter que SegWit ne répond pas suffisamment aux contraintes de débit de Bitcoin. Certains observateurs spéculent même que le maintien volontaire de frais élevés sur Bitcoin sert d’incitation à pousser les utilisateurs vers d’autres cryptomonnaies.

Il est à noter que l’adoption incomplète de SegWit ne prive pas les premiers utilisateurs de ses avantages. Ceux qui ont effectué la mise à niveau bénéficient de frais réduits indépendamment de la participation à l’échelle du réseau. Les avantages en termes de frais augmentent à mesure que l’adoption se répand, mais ces bénéfices s’accumulent progressivement. Fait intéressant, une adoption plus faible de SegWit réduit également la taille moyenne des blocs, ce qui offre ses propres avantages techniques en termes d’efficacité des nœuds et de résilience du réseau.

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler

Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)