SegWit

Logo SegWit

Segregated Witness, ou SegWit, est le nom utilisé pour un changement de soft fork implémenté dans le format de transaction de Bitcoin.

Le titre officiel « Segregated Witness (Consensus layer) » portait le numéro de proposition d'amélioration Bitcoin BIP141[1]. L'objectif déclaré était d'empêcher la malléabilité non intentionnelle des transactions bitcoin, d'autoriser la transmission facultative de données et de contourner certaines restrictions de protocole (telles que la limite de taille de bloc ) avec un soft fork[2].

Il visait également à atténuer un problème de limitation de taille de blockchain qui réduit la vitesse de transaction bitcoin. Pour ce faire, il divise la transaction en deux segments, supprime la signature de déverrouillage (données « témoin ») de la partie d'origine et l'ajoute en tant que structure distincte à la fin[3]. La section d'origine continue à contenir les données de l'expéditeur et du destinataire, et la nouvelle structure « témoin » contiendrait des scripts et des signatures. Le segment de données d'origine serait compté normalement, mais le segment « témoin » sera, en effet, compté comme un quart de sa taille réelle.

## Histoire

[modifier | modifier le code]

### Limite de taille de bloc

[modifier | modifier le code]

Bitcoin est une crypto-monnaie, une forme de monnaie utilisant la cryptographie pour sécuriser les transactions.

Chaque enregistrement d'une unité de bitcoins est appelé un « bloc », et tous les blocs sont liés séquentiellement en utilisant un hachage cryptographique sur le bloc précédent et en stockant sa sortie dans le suivant. Cela forme une chaîne de blocs, ou une blockchain[4].

Chaque bloc contient des informations sur qui envoie et reçoit une unité donnée de bitcoin (une transaction), ainsi que la signature qui approuve chaque transaction. À l'origine, il n'y avait pas de limite à la taille des blocs. Cependant, cela a permis à des acteurs malveillants de créer de fausses données « bloquées » qui étaient très longues comme une forme d'attaque par déni de service (attaque DoS). Ces faux blocs seraient détectés, mais cela prendrait beaucoup de temps, ce qui ralentirait tout le système.

### Scalabilité et malléabilité

[modifier | modifier le code]

La conception actuelle de la blockchain bitcoin est considérée comme présentant deux lacunes.

#### Évolutivité

[modifier | modifier le code]

Un nouveau bloc est ajouté à la chaîne à des intervalles aléatoires d'une moyenne de conception de 10 minutes (la preuve de travail provoque ce délai). Avec la limite de taille de bloc, cela limite le nombre de transactions pouvant être traitées dans un temps donné. Certains sites contournent ce problème en utilisant des "paiements hors chaîne" effectuant des transactions sans les écrire dans la blockchain, ce qui implique divers compromis concernant la confiance et la finalité des transactions.

D'autres ont proposé des changements au bitcoin qui réformeraient le format de la blockchain d'une manière rétro-incompatible. Par exemple, FlexTrans (Flexible Transactions) réduirait la taille des transactions en changeant la façon dont elles sont décrites en un système de « balise », permettant plus de transactions par bloc. Ceci est incompatible avec les systèmes qui ne sont pas mis à jours.

### Témoins séparés comme solution

[modifier | modifier le code]

Les données de signature appelées le « témoin » seraient séparées de l'enregistrement de l'arbre de Merkle indiquant qui envoie ou reçoit les bitcoins. Les données témoins sont déplacées à la fin, et chaque octet ne compterait que pour un quart d'unité.

Il traite également la malléabilité des signatures, en sérialisant les signatures séparément du reste des données de transaction, de sorte que l'ID de transaction ne soit plus malléable[2].

## Activation

[modifier | modifier le code]

Le 21 juillet 2017, les mineurs de bitcoins ont bloqué une mise à niveau logicielle appelée Bitcoin Improvement Proposal (BIP) 91, ce qui signifie que la mise à niveau de Segregated Witness a été activée au bloc 477 120.

SegWit atténue le problème de mise à l'échelle de deux manières :

* SegWit résout la malléabilité des transactions, permettant ainsi au Lightning Network, un réseau superposé de canaux de micropaiement, résolvant hypothétiquement le problème de mise à l'échelle en permettant à un nombre pratiquement illimité de transactions instantanées et peu coûteuses de se produire « hors chaîne »[5].
* SegWit introduit une nouvelle métrique pour mesurer l'impact des transactions et des blocs sur le réseau : le poids (weight). Le poids est défini par : poids = 4 × taille de base + taille du témoin. Cela signifie, qu'en théorie la nouvelle taille maximale d'un bloc est de 4 Mo, bien qu'en pratique cela est pratiquement impossible. Cette augmentation de la taille des blocs permet d'améliorer la scalabilité de bitcoin en permettant plus de transactions par bloc[6].

Le 8 août, une autre étape a été franchie lorsque 100 % des pools de minage de bitcoins ont signalé la prise en charge de SegWit, bien que SegWit ne soit pas entièrement activé avant le 21 août au plus tôt, après quoi les mineurs commenceraient à rejeter les blocs qui ne prennent pas en charge SegWit.

Initialement, la plupart des transactions bitcoin n'ont pas pu utiliser la mise à niveau.

Segregated Witness a été activé le 24 août 2017. Le prix du bitcoin a augmenté de près de 50 % dans la semaine suivant l'activation de SegWit[7]. Le 21 juillet 2017, le bitcoin s'échangeait à 2 748 dollars, en hausse de 52 % par rapport aux 1 835 dollars du 14 juillet 2017[7].

Au cours de la première semaine d'octobre, la proportion de transactions sur le réseau utilisant SegWit est passée de 7 % à 10 %, indiquant une augmentation du taux d'utilisation.

Un petit groupe de mineurs de bitcoins principalement basés en Chine, qui n'étaient pas satisfaits des plans d'amélioration SegWit proposés par bitcoin, a avancé des plans alternatifs pour une scission qui a créé Bitcoin Cash[8].

En février 2018, les transactions SegWit dépassaient 30 %[9].

### SegWit2x

[modifier | modifier le code]

Le témoin séparé (BIP141) ne doit pas être confondu avec SegWit2x (SegWit2Mb). En mai 2017, Digital Currency Group (à ne pas confondre avec la Digital Currency Initiative du MIT Media Lab) a annoncé qu'il avait proposé une proposition, appelée SegWit2x (« l'accord de New York »), activant Segregated Witness à 80% seuil du taux de hachage bitcoin total, signalisation au bit 4 ; et l'activation d'une limite de taille de bloc de 2 Mo dans les six mois avec une prise en charge supérieure à 80 % du taux de hachage bitcoin total[10].

À la mi-2017, bien que la proposition SegWit2x bénéficiait d'un soutien supérieur à 90% du hashrate, cependant, la proposition SegWit2x a été controversée en ce que le travail sur le projet est limité à un groupe de développeurs sur invitation uniquement. À la mi-juillet 2017, il est devenu évident que les mineurs soutenaient la mise en œuvre de la partie Segwit de l'accord avant l' UASF du 1er août 2017, tentant ainsi d'éviter le risque d'un hard fork pour le réseau bitcoin[11].

Le 8 novembre 2017, les développeurs de SegWit2x ont annoncé que le hard fork prévu vers le 16 novembre 2017 avait été annulé faute de consensus[12].

## BIP associés

[modifier | modifier le code]

* BIP141 Segregated Witness (Consensus layer) – activé le 24 août 2017
* BIP143 Transaction Signature Verification for Version 0 Witness Program [1] – activé le 24 août 2017
* BIP144 Segregated Witness (Peer Services) – activé le 24 août 2017
* BIP148 Activation obligatoire du déploiement de segwit - activé (a mandaté l'activation de BIP141, 143, 144)

## Notes et références

[modifier | modifier le code]

* (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « SegWit » (voir la liste des auteurs).

1. ↑ All Bitcoin Improvement Proposals, including BIP141.
2. ↑ a et b Segregated Witness proposal BIP 141.
3. ↑ Investopedia: SegWit (Segregated Witness).
4. ↑ How the Bitcoin protocol actually works.
5. ↑ Luke Graham, « As bitcoin comes off its record high, the next step is to avoid a 'lightning fork' » [archive du 1er décembre 2017], CNBC, 9 août 2017 (consulté le 23 novembre 2017).
6. ↑ (en) Segregated Witness Benefits was published on, « Segregated Witness Benefits », sur Bitcoin Core, 26 janvier 2016 (consulté le 29 septembre 2024)
7. ↑ a et b Paul Vigna, « Bitcoin Rallies Sharply After Vote Resolves Bitter Scaling Debate », WSJ, 21 juillet 2017 (consulté le 26 janvier 2020).
8. ↑ Anna Irrera et Gertrude Chavez-Dreyfuss, « Bitcoin 'clone' sees a slow start following split », Independent, 2 août 2017 (consulté le 22 juin 2018).
9. ↑ « SegWit and the bitcoin transaction fee conspiracy theory », sur FT Alphaville, FT, 2018 mars 2021.
10. ↑ « Leading bitcoin ecosystem participants reach consensus on scaling issue », sur Econo Times, Econo Times, 25 mai 2017 (consulté le 23 juin 2017).
11. ↑ « Dispute could mean financial panic in Bitcoin », Associated Press, 14 juillet 2017 (consulté le 19 juillet 2017).
12. ↑ Paul Vigna, « Bitcoin Dodges Split That Threatened Its Surging Price », The Wall Street Journal, 8 novembre 2017 (consulté le 8 novembre 2017).

v · m

Bitcoin

* Histoire
* Statut légal
* Économie

Personnes |

* Gavin Andresen
* Andreas Antonopoulos
* Adam Back
* Wences Casares
* Tim Draper
* Hal Finney
* Mark Karpelès
* Bobby C. Lee (en)
* Satoshi Nakamoto
* Charlie Shrem
* Nick Szabo
* Amir Taaki
* Ross Ulbricht
* Roger Ver
* Cody Wilson
* Jumeaux Winklevoss (en)
* Craig Steven Wright

Technologies |

* Base58
* Réseau Bitcoin
* Chaîne de blocs
* Pièces de couleur (pt)
* Crypto-monnaie
* Bitcoin ATM (en)
* Service de mélange de crypto-monnaie
* ECDSA
* Lightning
* P2P
* Preuve de travail
* SHA-2
* SegWit
* UTXO

Échanges |

* ANX (zh)
* Bitstamp
* BTC-e
* BTC China (en)
* Coinsecure (Inde)
* Coinbase
* Huobi (en)
* ItBit (en)
* Crypto.com
* Kraken
* LocalBitcoins (en)
* OKCoin

Client Logiciel principal |

* Bitcoin Core

autres clients |

* Bitcoin Knots
* Électrum
* Bitcoin XT
* Bitcoin Classic
* Bitcoin Unlimited

* Portail des cryptomonnaies

*[Mo]: mégaoctet
*[1er]: premier
*[(en)]: Langue : anglais
*[v]: Voir ce modèle.
*[m]: Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.