Rejoignez-Nous sur

Méthodologie d'activation de Bitcoin Softfork | Blog BitMEX

forks

News

Méthodologie d'activation de Bitcoin Softfork | Blog BitMEX


Abstrait: La mise à niveau de la softfork Taproot de Bitcoin semble presque prête et la communauté Bitcoin a commencé à discuter sérieusement des méthodologies d'activation potentielles. Dans cet article, nous résumons les principaux choix en matière d'activation et discutons des points de discorde les plus significatifs. Nous concluons en postulant qu'il n'y a pas de méthodologie d'activation parfaite. Toute approche d'activation pourrait créer un mauvais précédent, qui pourrait être exploité à une date ultérieure. Cependant, bien qu'il y ait beaucoup de «bikeshedding», en raison du manque de discorde au sujet de cette mise à niveau particulière, le chemin d'activation exact pris à ce stade peut ne pas être particulièrement critique. Une solution partielle potentielle à certains des dilemmes présents et la voie à suivre pourrait être pour Bitcoin Core de libérer un client avec une logique d'activation relativement passive et pour d'autres membres de la communauté de faire suite à cela en libérant des clients qui forcent légèrement la même activation. de manière plus affirmée.

forks

Aperçu

Comme nous l'avons mentionné en mai 2019, le Racine pivotante La proposition de la softfork Bitcoin gagne du terrain dans la communauté des développeurs et maintenant, à l'été 2020, l'accent est mis sur le débat sur la façon dont la softfork pourrait s'activer sur le réseau Bitcoin.

Histoire des activations de softfork dans Bitcoin

Avant de décider de la meilleure voie à suivre, il peut être judicieux de revenir sur l'histoire des softforks Bitcoin. Pour autant que nous puissions en juger, il y a eu 16 softforks dans l'histoire de Bitcoin, sur la base de notre article de décembre 2017 intitulé "Une histoire complète des fourchettes de consensus de Bitcoin». La majorité des mises à niveau, neuf d'entre elles pour être précis, la plupart du temps entre le début de 2010 et 2012, ont été effectuées sous forme de fourches souples jour du drapeau. D'autre part, sept des fourches souples ont été activées en utilisant un seuil de signalisation mineur, allant de 55% à 95%.

Mise à niveau en douceur Problèmes importants Total
Jour du drapeau ou déployé avec effet immédiat 8 * 1 9
Activations de seuil de mineur

55% de seuil de mineur

1

1

80% de seuil de mineur

1*

1

95% de seuil de mineur

4

1

5

Total avec seuil mineur 5 2 7
Somme finale 13 3 16

(La source: Recherche BitMEX)
(Remarques: * Pour autant que nous sachions, il y avait une fourche de jour du drapeau avec signalisation de mineur obligatoire (BIP148) et une fourche de seuil de mineur avec signalisation de mineur obligatoire (BIP 91))

Bien que la méthode de mise à niveau du jour du drapeau puisse sembler plus fiable sur la base des données ci-dessus, nous ne recommandons pas que ces données soient utilisées pour soutenir l'affirmation selon laquelle la méthodologie du jour du drapeau est supérieure. La plupart des problèmes dans les softforks ci-dessus ont été causés par des particularités sans rapport avec la méthodologie d'activation et l'écosystème a considérablement changé au cours de la période. Les données ci-dessus sont fournies uniquement à des fins de contexte historique et peuvent ne pas être si pertinentes.

La guerre des blocs

L'autre élément de contexte historique, qui encore une fois n'est peut-être pas tout à fait pertinent, est la guerre de la taille des blocs, qui a fait rage de 2015 à 2017. Il y avait une proposition de softfork appelée Segregated Witness, conçue pour augmenter la limite de taille des blocs, cependant, en raison de la taille des blocs conflit de guerre l'activation de cette softfork était en quelque sorte un gâchis dangereux, et par conséquent, de nombreux membres de la communauté sont désireux d'essayer d'améliorer la méthodologie d'activation.

La logique d'activation pour la mise à niveau des témoins séparés a été incluse dans Bitcoin Core, sur la base d'un seuil de mineur de 95%, avec un délai d'un an. Il n'y a pas eu d'activation le jour du drapeau à la fin. Finalement, vers la fin de la fenêtre softfork, deux softforks différentes, une softfork flag day (BIP148) et une softfork 80% mineur seuil (BIP91) ont rendu obligatoire la signalisation pour la softfork Segregated Witness et donc elle s'est finalement activée. Aucune de ces deux softforks (BIP148 ou BIP91) n'a été incluse dans Bitcoin Core.

En raison de la confusion désordonnée ci-dessus, beaucoup ont conclu que le système à seuil de 95%, sans signalisation obligatoire, était en quelque sorte un échec. Cependant, à notre avis, ce gâchis était principalement causé par les tensions dans la guerre des blocs, plutôt que par les faiblesses inhérentes à la logique d'activation.

Le débat d'activation

Hormis la question difficile des paramètres de synchronisation et en supposant que la signalisation du seuil des mineurs sera utilisée quelque part, pour autant que nous puissions en juger, le débat semble se concentrer sur trois domaines quelque peu interdépendants:

  1. La période de signalisation du seuil du mineur doit-elle être suivie d'une activation le jour du drapeau?
  2. Quelles parties de la logique d'activation (le cas échéant) doivent être incluses dans Bitcoin Core?
  3. La signalisation des mineurs devrait-elle éventuellement devenir obligatoire?

Nous avons essayé de résumer les interrelations entre ces principaux points de débat dans l'illustration ci-dessous de l'arbre de décision. Sur la base de notre illustration, nous pensons qu'il existe essentiellement six choix raisonnablement probables en ce qui concerne l'activation de la softfork moderne.

Arbre de décision de la méthodologie d'activation de Softfork (en supposant une certaine forme de signalisation de seuil de mineur)

fcr

(Source: Recherche BitMEX)
(Remarque: le côté droit de l'arbre, avec la signalisation obligatoire du mineur, est cohérent avec BIP 8, tandis que le côté gauche de l'arbre est cohérent avec BIP 9)

Dans les tableaux ci-dessous, nous visons à résumer les principaux points de débat en faveur et contre les trois questions difficiles ci-dessus, auxquelles il peut être nécessaire de répondre afin de déterminer la méthodologie d'activation de la softfork.

Jour du drapeau à la fin de la période de signalisation

En faveur d'un jour du drapeau Contre un jour de drapeau
  • L'absence d'un jour de drapeau dans l'activation des témoins séparés d'origine a causé des problèmes car les mineurs ne l'ont pas activé au début et il y avait des craintes que la mise à niveau ne se produise pas.
  • La signalisation des mineurs sans jour de drapeau donne une fausse impression que les mineurs contrôlent les règles du protocole, alors qu'en réalité le vote de seuil est simplement un mécanisme de signalisation permettant aux mineurs de signaler qu'ils sont prêts pour une fourche souple que la communauté a déjà décidé.
  • Si les mineurs choisissent de ne pas activer la softfork prématurément, elle peut l'activer en toute sécurité à une date ultérieure dans le futur. Ce sont les utilisateurs finaux qui contrôlent en fin de compte les règles du protocole, pas les mineurs. Le mécanisme de vote par seuil est simplement un moyen d'activer en toute sécurité les fourches souples tôt
  • Utiliser un jour de drapeau est trop agressif à ce stade. Au lieu de cela, il faut adopter une approche plus amicale et ne considérer le jour du drapeau que dans des circonstances exceptionnelles, si les acteurs commencent à paraître hostiles
  • Il est essentiel d'être aussi patient et amical que possible en ce qui concerne les règles du protocole. Dans le cas où les mineurs ne seraient pas satisfaits de la mise à niveau, les règles de consensus du statu quo devraient prévaloir et aucune softfork ne devrait se produire, cela garantit que les règles de Bitcoin restent solides
  • En raison d'un manque de discorde, il est probable que les mineurs activeront volontairement la fourche souple de toute façon, alors pourquoi utiliser un système de jour de drapeau agressif et risqué alors que ce n'est pas nécessaire?
  • L'ajout d'un jour de drapeau crée un tout nouvel ensemble de problèmes. Par exemple, qui a le pouvoir de lancer le jour du drapeau? Comment la communauté obtient-elle un accord sur la date? N'importe qui peut créer une softfork pour le jour du drapeau à tout moment et les nouvelles règles pourraient être controversées.

Logique d'activation à inclure dans Bitcoin Core

En faveur de l'inclusion de la logique d'activation dans Bitcoin CoreContre l'inclusion de la logique d'activation dans Bitcoin Core

  • Si la méthodologie d'activation n'est pas implémentée dans Bitcoin Core, il y a alors le problème de la coordination des paramètres d'activation.
  • En même temps, si d'autres membres de la communauté libèrent le client avec une logique d'activation, cela crée un dangereux précédent. De nombreux utilisateurs pourraient libérer toutes sortes de clients pour les fourches logicielles, lorsque le consensus est insuffisant, ce qui augmente le risque de fractures de chaîne dangereuses à l'avenir.
  • Bitcoin Core, y compris la méthodologie d'activation, est la moins mauvaise option
  • Bitcoin Core libérerait un client qui inclut une logique d'activation, cependant, il ne sera pas associé à d'autres corrections de bogues. Dans le même temps, Bitcoin Core ne dispose pas d'une fonction de mise à jour automatique. Par conséquent, la mise à niveau est entièrement facultative et Bitcoin Core ne force pas un changement de protocole, seuls les utilisateurs qui choisissent d'exécuter le nouveau logiciel modifient la règle de protocole.
  • L'un des plus gros problèmes avec la guerre de la taille des blocs était que de nombreuses personnes surestiment maintenant la mesure dans laquelle le projet Bitcoin Core a du pouvoir sur les règles de consensus de Bitcoin. C'est maintenant un problème important et la communauté doit donc s'assurer que Bitcoin Core n'a pas la capacité de modifier les règles de consensus par elle-même.
  • Les changements de règles de consensus doivent provenir d'un groupe plus large que les développeurs de logiciels et doivent également être motivés par un mouvement d'utilisateurs de base.
  • Il est trop controversé et agressif pour le projet Bitcoin Core de mettre en œuvre une mise à niveau du jour du drapeau, c'est une prise de pouvoir inappropriée. Les utilisateurs et / ou les mineurs doivent démontrer leur soutien à une proposition de softfork avant que Core puisse inclure un jour de drapeau

Signalisation obligatoire du mineur au point d'activation du jour du drapeau

En faveur de la signalisation forcée des mineurs

Contre la signalisation forcée des mineurs

  • La signalisation obligatoire des mineurs fournit la certitude que la communauté sait si l'activation a fonctionné ou non. Sans le marquage obligatoire, l'activation du jour du drapeau aurait pu être passée et les utilisateurs ne sauraient pas si la fourche est activée
  • Par exemple, une fois le jour du drapeau passé, les utilisateurs devraient attendre plusieurs mois (ou plus) pour voir si un bloc enfreignant les nouvelles règles de la fourche souple est produit, construit et accepté par l'économie dans son ensemble et cela pourrait se produire à tout moment.
  • Un mineur attaquant hostile pourrait produire un blocage qui viole la règle de la fourche à tout moment, par exemple un moment conçu pour provoquer un chaos maximal.
  • Par conséquent, bien que la signalisation obligatoire oblige de manière agressive les mineurs à se mettre à niveau et augmente le risque d'un tronçonnage, c'est mieux que l'alternative, qui permet à un attaquant de créer un risque de tronçonnage similaire, sauf à un moment qui convient à l'acteur hostile.
  • Les fourches souples modernes limitent uniquement règles Bitcoin non standard. Cela rend l'activation très sûre, car seul un mineur malveillant qui passe à un client anti-softfork pourrait provoquer un tronçonnage. Même si les mineurs n'effectuent pas de mise à niveau pour la softfork, ils produiraient toujours des blocs valides. La signalisation obligatoire rompt cette méthodologie de mise à niveau très sûre et introduit des risques supplémentaires. Les mineurs qui ne mettent pas à niveau et n'effectuent aucune action produiraient des blocs invalides
  • La signalisation obligatoire des mineurs est donc trop agressive. Les mineurs devraient être libres de ne pas mettre à niveau et de continuer à fonctionner comme avant la fourche
  • La signalisation obligatoire des mineurs n'encouragera que le faux signalement, lorsque les mineurs prétendent s'être mis à niveau pour prendre en charge le changement de protocole, mais manipulent simplement le drapeau. Nous savons déjà que le faux drapeau est courant, par exemple, dans le passé, de grands mineurs ont produit des blocs avec plusieurs drapeaux contradictoires. Par conséquent, la signalisation obligatoire n'apporte aucune certitude

Conclusion

On pourrait soutenir qu'il y a une quantité importante de «bikeshedding» qui se produit à propos de la logique d'activation. En raison du manque de discorde concernant cette mise à niveau particulière, le chemin d'activation exact pris à ce stade peut ne pas être particulièrement critique à ce stade. Cependant, comme on peut le voir dans les discussions ci-dessus, il n'y a pas de méthodologie d'activation parfaite, chaque méthode a des problèmes ou expose des faiblesses ou contradictions potentielles en ce qui concerne la robustesse des règles de protocole de Bitcoin. Toute approche adoptée pour résoudre le problème pourrait créer un précédent et donc être exploitée à une date ultérieure avec d'autres changements de protocole.

Peut-être y a-t-il un compromis qui pourrait être atteint en ce qui concerne le dilemme apparent de la méthodologie d'activation actuelle:

  • Bitcoin Core pourrait inclure une logique d'activation basée sur BIP 9, en choisissant une logique d'activation de seuil de mineur à 95% sans pour autant un jour drapeau à la fin de la période d'activation et sans pour autant signalisation obligatoire des mineurs. Par conséquent, Bitcoin Core n'agirait pas de manière ouvertement agressive, car la coopération des mineurs serait nécessaire pour activer la softfork. Il existe également un précédent pour cela, car Bitcoin Core a publié des clients avec cette logique d'activation à plusieurs reprises dans le passé
  • D'autres versions communautaires du logiciel (pas Bitcoin Core) pourraient alors être publiées. Ces autres clients pourraient contenir une logique d'activation du jour du drapeau, avec une signalisation du mineur obligatoire pour la fourche logicielle Bitcoin Core, programmée pour coïncider avec la fin de la fenêtre d'activation choisie par Bitcoin Core. Cette softfork communautaire activerait donc la softfork de Bitcoin Core

Dans une certaine mesure, cela résout le calendrier du problème de coordination de la communauté, car les membres de la communauté pourraient simplement choisir la fin de la fenêtre d'activation de Bitcoin Core comme période de signalisation obligatoire. Cela ne crée pas non plus de précédent dangereux pour les clients obligés d'activer une softfork, car il est utilisé pour activer une softfork où la logique existe déjà dans Bitcoin Core. Cette méthodologie d'activation est raisonnablement similaire à la façon dont le témoin séparé s'est finalement activé, sauf que cette fois, elle pourrait être planifiée dès le départ, du moins dans une certaine mesure. Cela ne résout certainement pas tous les problèmes, et nous ne prétendons pas non plus que ce soit un bon résultat, mais pour nous, cela semble être une voie potentielle probable.

Autres lectures / matériels



Traduction de l’article de BitMEX Research : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top