Quels scénarios pour Segwit ?

30
335

Traduction [1] d’un article de Jimmy Song, « early adopter » et entrepreneur du Bitcoin :

« Depuis avant-hier un grand nombre de mineurs [2] a commencé à signaler le BIP 91. Segwit, semble-t-il, finira par être verrouillé puis activé et les gens ont a nouveau confiance dans l’avenir de Bitcoin. Dans cette publication, je vais revenir sur les derniers développements et envisager les différents scénarios possibles.

 

Signalisation du BIP 91

Si vous l’ignorez encore, le BIP 91 est un mécanisme qui permet d’activer Segwit (BIP 141) avec le soutien de 80% du réseau seulement au lieu des 95% requis par le BIP 141. Pour déclencher le BIP 141, le BIP 91 doit être signalé au bit 4 [3] sur 80% des blocs [au moins] dans une période de 336 blocs. Après l’activation du BIP 91, les blocs qui ne signalent pas le BIP 141, seront orphelins [4] exactement comme avec le BIP 148 (UASF). Le BIP 91 est un moyen d’anticiper le BIP 148 et d’éviter le risque d’une scission.

Segwit2x, le client le plus populaire intégrant le BIP 91, devait sortir le 21 juillet, mais plusieurs mineurs ont décidé de signaler d’ores et déjà la proposition 91 […]. 

Les questions qui pourraient surgir à ce stade c’est : Que va-t-il se passer maintenant ? Est-ce que toutes les dates seront avancées de quelques jours ? Que se passera-t-il si un mineur important fait défection et que le BIP 91 ne parvient pas à respecter le seuil de 80% ? Segwit sera-t-il tout même adopté ? Qu’en est-il du “hard fork” ? Ce sont d’excellentes questions et je vais essayer de prévoir ce qui pourrait arriver au cours des deux prochaines semaines.

 

Verrouillage du BIP 91

Le BIP 91 dispose d’un mécanisme particulier pour son verrouillage, qui diffère des “soft fork” basés sur le BIP 9 [Version bits]. Le BIP 141 (Segwit) nécessite 95% de 2016 blocs alors que le BIP 91 nécessite 80% de 336 blocs (nombre apparemment choisi parce qu’il correspond à 1/6ème de 2016). Cela signifie qu’une période de comptage dure environ 56 heures. Comme nous avons commencé plus tôt que prévu, nous disposons de 6 périodes pour verrouiller le BIP 91. Une fois le BIP 91 verrouillé, les blocs non-segwit ne seront rejetés qu’après une nouvelle période de 336 blocs. Cela signifie que si le BIP 91 est verrouillé mais n’est pas activé au 1er août, le BIP 148 pourrait tout de même provoquer une scission.

 

Scénario 1 : La chronologie optimiste

La période actuelle de signalement du BIP 91 a commencé au bloc 476112 (le 16 juillet) et se terminera au bloc 476448 (le 19 juillet environ). Comme trop peu de blocs signalent le BIP 91 sur la période actuelle, le BIP 91 ne sera pas verrouillé au bloc 476448.

Le BIP 91 pourrait au plus tôt être verrouillé au bloc 476784, c’est-à-dire autour du 21 juillet 2017 à 10H00 GMT. Ce serait avant le calendrier prévu puisque Segwit2x ne devait être diffusé que le 21 juillet. Cela signifierait que le BIP 91 serait activé 336 blocs plus tard, au bloc 477120 (autour du 23 juillet à 18H00 GMT). À ce moment-là, tous les blocs qui ne signaleront pas le BIP 141 (Segwit) seront rejetés du réseau. Puisque au moins 80% des mineurs n’accepteraient pas de tels blocs, les mineurs qui créent des blocs sans signaler le BIP 141 perdraient vraisemblablement la récompense et les frais de transaction du bloc [environ 14 BTC soit près de 30 000 € au cours actuel]. Par conséquent, pendant l’intervalle de 56 heures séparant les blocs 476784 et 477120, les derniers mineurs mettront probablement à jour leur logiciel pour signaler à Segwit.

 

Pour résumer, ce scénario se présente comme suit :

– 19 juillet à 2H00 GMT : La période du BIP 91 commence.
– 21 juillet à 10H00 GMT : La 1ère période du BIP 91 se ferme avec plus de 80% de signalisation et le BIP 91 se verrouille.
– 23 juillet à 18H00 GMT : le BIP 91 est activé et chaque bloc signale le BIP 141 (Segwit).
– Autour du 27 juillet : La nouvelle période d’ajustement commence (2016 blocs). Tous les blocs signalent Segwit.
– 1er août à 00H00 GMT : le BIP 148 se déclenche mais n’a aucun effet puisque chaque bloc signale déjà le BIP 141.
– Autour du 10 août : la période d’ajustement de la difficulté s’achève avec plus de 95% de signalisation et le BIP 141 se verrouille.
– Autour du 23 août : une nouvelle période d’ajustement de la difficulté s’achève et le BIP 141 (Segwit) est actif.
– Autour du 18 novembre :  le Hard Fork pour des blocs à 2Mo est programmé [5].

 

Scénario 2 : le retard

Si la signalisation du BIP 91 mettait un peu plus de temps, par exemple si certains mineurs de l’accord de New York étaient en retard dans la signalisation du BIP 91, mais si on atteignait tout de même le seuil de 80% avant le 28 juillet, le scénario serait à peu près le même :

– 19 juillet à 2H00 GMT : La première période du BIP 91 commence.
– 21 juillet à 10H00 GMT : La période s’achève avec moins de 80% de signalisation.
– 23 juillet à 18H00 GMT : La seconde période du BIP 91 s’achève avec moins de 80% de signalisation.
– 26 juillet à 02H00 GMT : La troisième période du BIP 91 s’achève avec plus de 80% de signalisation et le BIP 91 se verrouille.
– 28 juillet à 10H00 GMT : Après 336 nouveaux blocs le BIP 91 est activé et chaque bloc signale le BIP 141 (Segwit).
– Autour du 27 juillet : La nouvelle période d’ajustement commence (2016 blocs). Chaque bloc à partir du 28 juillet signalant Segwit, ce sera peut-être suffisant pour atteindre 95%.
– 1er août à 00H00 GMT : le BIP 148 se déclenche mais n’a aucun effet puisque chaque bloc signale déjà le BIP 141.
– Autour du 10 août : la période d’ajustement de la difficulté s’achève avec plus de 95% de signalisation et le BIP 141 se verrouille.
– Autour du 23 août : une nouvelle période d’ajustement de la difficulté s’achève et le BIP 141 (Segwit) est actif.
– Autour du 18 novembre :  le Hard Fork pour des blocs à 2Mo est programmé [5].

On notera que même avec des signalements qui tardent, l’activation de Segwit ne sera peut-être pas retardée car une nouvelle période d’ajustement de difficulté débutera autour du 27 juillet.

 

Scénario 3 : L’échec

Si la signalisation BIP91 n’atteignait pas 80% avant le 28 juillet, nous allons probablement vers une scission de la chaine :

– 19 juillet à 02H00 GMT : La première période du BIP 91 commence.
– 21 juillet à 10H00 GMT : La période s’achève avec moins de 80% de signalisation.
– 22 juillet à 18H00 GMT – La seconde période s’achève avec moins de 80% de signalisation.
– 25 juillet à 02H00 GMT – La troisième période s’achève avec moins de 80% de signalisation.
– 27 juillet à 10H00 GMT – La quatrième période s’achève avec moins de 80% de signalisation.
– 29 juillet à 18H00 GMT – La cinquième période s’achève avec moins de 80% de signalisation.
– 1er août à 00H00 GMT : le BIP 148 se déclenche. Cela entraînera probablement une scission du réseau en deux chaînes, que ce soit avec un taux de hachage minoritaire du BIP 148 ou avec un taux de hachage majoritaire mais un « hard fork » des mineurs.

À ce stade, toute une série de choses peuvent se produire, Bitmain pourrait lancer Bitcoin ABC [6] en réponse à l’UASF, on peut aussi imaginer un changement de preuve de travail et beaucoup d’autres scénarios que j’ai abordés dans un autre article. Autre hypothèse à envisager : on atteint les 80% le 29 juillet (c’est à dire avec un jour de retard). Les partisans de l’UASF pourraient alors décider de repousser d’un jour le déclenchement du BIP 148 afin d’empêcher une scission. Un tel scénario est possible, bien que peu probable.

 

Probabilité de chaque scénario

Les deux scénarios sans division (et où Segwit s’active) semblent plus probables que celui de l’échec du BIP 91. Le scénario d’une scission ne peut se produire que si un mineur signataire de l’accord de New York décide de le trahir […]. D’autres scénarios sont possibles, comme la signalisation à la fois du BIP 91 et du BIP 141 par une majorité de mineurs, mais ils sont très improbables et ne seront donc pas envisagés ici.

 

Conclusion

Si l’Accord de New York est solide, le BIP 91 sera vraisemblablement verrouillé. Une période avec une signalisation de 80% devrait se produire au cours de la prochaine semaine, et la règle de la signalisation obligatoire du BIP 141 s’imposera au réseau quelques jours plus tard. Cela signifie que le BIP 148 n’entraînera pas de partage de réseau.

Si le BIP 91 ne parvient pas à atteindre 80% au cours des prochaines semaines, ce sera la guerre totale dans Bitcoin. La probabilité de ce scénario est cependant assez faible. Cela dit, l’activation du BIP 91 et de Segwit ne font probablement que retarder le combat, elle ne l’évite pas. Le “fork” de Segwit2x [7], autour de novembre, sera la prochaine grande confrontation.

 

Source : medium.com

 


[1] Avertissement : il s’agit d’une traduction non-professionnelle. En cas de doute veuillez consulter le texte original.

[2] Antpool (22,9%), BTC.top (11,7%), BTC.com (7,5%), Bixin (7,5%), BTCC (6,5%), BW Pool (5,8%), ViaBTC (4,6%), Bitfury (3,2%), Bitclub (3,2%), Bitcoin.com (4,4%)

[3] Bit : espace dans l’entête d’un bloc de transaction réservé au signalement des BIPs, Bitcoin Improvement Proposals (propositions d’amélioration de Bitcoin).

[4] Ils ne seront plus considérés comme valides pour la partie du réseau ayant adopté le BIP 91 ou le BIP 148.

[5] En vain car il sera probablement rejeté.

[6] Bitcoin Adjustable Blocksize Cap : pour les amateurs de très gros blocs.

[7] Un « hard fork » pour des blocs à 2Mo.