SegWit : un fork de trop

0
43

Extraits d’un article publié le 21 décembre 2016 sur medium sous le pseudonyme de Jaqen Hash’ghar :

« SegWit autorise une limite théorique maximale de taille de bloc d’environ 4 Mo. Cependant, cela n’est vrai que si le bloc entier était occupé par des transactions de très petite taille “de base » [comprendre : en excluant la partie témoin] (par exemple P2WPKH avec une entrée et une sortie). En pratique, sur la base de la taille moyenne des transactions actuelles et des différents types de transactions effectuées, la limite maximale de taille de bloc devrait être d’environ 1,7 Mo.

Cependant, la limite théorique de 4 Mo crée un problème majeur. Les mineurs et les opérateurs de nœuds complets doivent s’assurer que leurs systèmes peuvent gérer la limite de 4 Mo, même si au mieux, ils ne pourront prendre en charge qu’environ 40 % de cette capacité de transaction. Pourquoi ? Parce qu’il existe une incitation financière pour les acteurs malveillants à concevoir des transactions avec une base de petite taille mais des données témoins volumineuses et complexes. Ceci est exacerbé par le fait que les scripts témoins (c’est-à-dire P2SH-P2WSH ou P2SH-P2WSH) auront des limites de taille de script plus élevées que les scripts de rachat P2SH normaux. Ces problèmes potentiels ne font qu’empirer si la limite de taille de bloc augmente à l’avenir. Par exemple, une taille de base maximale de 2 Mo crée monte la limite à 8 Mo. Ce problème entrave l’évolutivité et rend plus difficile l’augmentation future de la capacité […].

Segregated Witness est la mise à niveau de protocole la plus radicale et irresponsable à laquelle Bitcoin a été confronté au cours de ses huit années d’histoire. La pression en faveur du soft fork SegWit place les mineurs de Bitcoin dans une position difficile et injuste dans la mesure où ils sont poussés à appliquer une modification compliquée et controversée du protocole Bitcoin, sans consensus communautaire ni discussion honnête pesant les avantages par rapport aux coûts. L’ampleur des modifications du code est loin d’être anodine : presque toutes les parties du code sont affectées par SegWit.

Alors que l’augmentation de la capacité de transaction de Bitcoin a déjà été considérablement retardée, SegWit propose une solution peu professionnelle et inefficace à la fois en termes de malléabilité et de mise à l’échelle des transactions. En tant que soft fork, SegWit introduit davantage de dettes techniques dans le protocole et ne parvient fondamentalement pas à atteindre son objectif de conception. En tant que hard fork, combiné à une véritable mise à l’échelle en chaîne, SegWit peut atténuer efficacement la malléabilité des transactions et le hachage quadratique des signatures. Chacune de ces questions est trop importante pour l’avenir du Bitcoin pour miser sur SW en tant que soft fork et le bagage permanent qui l’accompagne.

Même si les auteurs de cet article souhaitent augmenter la capacité de transaction, il est de loin préférable de travailler à une solution technique propre à la malléabilité et à l’évolutivité plutôt que d’encombrer davantage le protocole Bitcoin d’une dette technique permanente. »

Source : https://medium.com/the-publius-letters/segregated-witness-a-fork-too-far-87d6e57a4179