Hard-fork Bitcoin Cash de Novembre, ce qu'il faut savoir

BitcoinCours.com, le 30 Octobre 2017

Bitcoin ABC٭, un des logiciels client du protocole Bitcoin Cash, a écrit un communiqué concernant la mise à jour par hard fork prévue pour le mois de
Novembre 2017. Ci-dessous la traduction rapide:
                                             ٭ Adjustable Blocksize Cap

Au plus tard le 1er novembre, Bitcoin ABC publiera une nouvelle version du logiciel qui contient une mise à jour de l'algorithme de réglage de la difficulté (DAA).

Ceci est une modification des règles de consensus de Bitcoin Cash, mais le changement ne sera pas activé avant le 13 novembre. C'est un hard fork, donc les échanges, portefeuilles et autres logiciels devront se mettre à niveau avant le 13 novembre.

Nous avons été en communication avec les mineurs Bitcoin Cash et ils attendent cette mise à jour.

L' EDA٭ d'origine de Bitcoin Cash a permis à ce dernier de survivre en tant que chaîne minoritaire, mais il produit des fluctuations violentes du hashrate. Ceci est problématique car cela empêche les confirmations rapides pour les utilisateurs et modifie radicalement le calendrier d'émission des coins.
٭Emergency Difficulty Adjustment

Plusieurs propositions visant à améliorer le DAA ont été avancées. Nous apprécions ces propositions et les avons toutes examinées. Après mûre réflexion, nous avons pris la décision de mettre en œuvre une proposition du développeur principal de Bitcoin ABC Amaury Sechet (plus de détails sur cette proposition ci-dessous).

Notre décision de choisir une proposition spécifique n'a pas été facile, car Bitcoin Cash a plusieurs équipes de développement indépendantes, et il y a eu beaucoup de discussions entre les développeurs des différents groupes.

Nous avons le plus grand respect pour tous les développeurs impliqués dans les discussions, mais seul un algorithme peut être choisi, et une décision opportune est requise.

Par conséquent, nous avons décidé d'adopter une approche scientifique et avons utilisé deux équipes de test impartiales et non connectées: Bitprim et nChain. Ces équipes ont mené leurs tests séparément et sont parvenues à la même conclusion quant à l'algorithme le plus approprié.

À l'avenir, les changements au niveau du consensus devraient prévoir davantage de planification, ainsi qu'un processus visant à faciliter la communication entre les équipes. Nous sommes impatients de travailler avec d'autres équipes pour définir et affiner ce processus dans les mois et les années à venir.

Les trois premiers algorithmes testés sont «D578» de Neil Booth, «D601» d'Amaury Sechet et «D622» de Tom Harding.

Tous les trois ont produit des résultats similaires dans nos propres tests, et tous trois ont produit des durées moyennes de blocs d'environ 600 secondes, une amélioration colossale par rapport au code actuel.

Les synopsis de Bitprim et de nChain sont les suivants:

BitPrim: "Les propositions de Tom et Amaury sont très similaires en termes de performances. La proposition d'Amaury a de meilleures chances d'obtenir un consensus de réseau "

nChain: "D601 est le choix logique. D622 est de 3,1% (+/- 1,2% à 95% CI) meilleur dans la plupart des cas, mais il y a des cas limites. Par exemple, un gros mineur peut amener des fluctuations dans le timing"

Nous reconnaissons que D601 (proposition d'Amaury Sechet) n'a pas nécessairement la performance la plus élevée, mais comme les trois ont des performances similaires, D601 a été sélectionné parce qu'il semble présenter le moins de risque.

Algorithme

Le nouvel algorithme DAA vise à atteindre les objectifs suivants: 
  1. Ajuster la difficulté au taux de hachage pour cibler une intervalle de bloc moyenne de 600 secondes.
  2. Éviter les changements soudains de difficulté lorsque le taux de hachage est assez stable.
  3. Ajuster la difficulté rapidement lorsque le taux de hachage change rapidement.
  4. Éviter les oscillations dues à la rétroaction entre le taux de hachage et la difficulté.
  5. Être résilient aux attaques comme la manipulation d'horodatage.

Cet algorithme est basé sur une période moyenne mobile simple de 144. La difficulté est ajustée à chaque bloc, en fonction de la quantité de travail effectuée et du temps écoulé sur les 144 blocs précédents.

Pour calculer la difficulté, nous commençons par les trois blocs supérieurs, et choisissons celui avec l'horodatage médian des trois. Ensuite, le processus est répété avec les blocs 144, 145 et 146 et un bloc d'horodatage médian est à nouveau choisi parmi ces 3.

A partir de ces deux blocs distants d'environ 144 blocs, nous définissons W comme la quantité de travail effectuée entre les blocs, et T comme le temps écoulé entre les blocs. Un filtre haut-bas est appliqué pour que T ait une valeur maximale de 2 jours et une valeur minimale de 0,5 jour. Cela empêche la difficulté de changer trop brusquement. (Normalement, 144 blocs prend environ 1 jour).

Nous pouvons ensuite calculer:
Wn = W * ExpectedBlockTime / T.
G = (2 ^ 256 / Wn) - 1

Ceci est notre objectif de difficulté. Enfin, un filtre final est appliqué pour imposer une cible maximale.

L'activation des nouvelles règles de consensus se fera sur la base d'un horodatage médian sur les blocs qui ont lieu après l'horodatage 1510600000, ce qui correspond au 13 novembre à 14h06 GMT. Ce code d'activation a été fusionné.

L'heure exacte de la mise à jour dépend de l'horodatage des blocs minés après cet horodatage.

Mise à niveau du réseau

Bitcoin ABC prendra des mesures pour contacter les principaux échanges et les fournisseurs de portefeuille. Toute aide dans cet effort est la bienvenue. Vous pouvez aider en contactant les échanges, les fournisseurs de portefeuilles et les autres participants à l'écosystème, et en leur faisant savoir qu'ils devraient mettre à jour leur logiciel ou exécuter une version mise à jour de Bitcoin ABC ou d'autres logiciels compatibles.

En guise de dernière remarque, Bitcoin ABC est attaché aux valeurs du développement décentralisé. Nous nous efforçons d'être une implémentation leader et de stimuler l'innovation et le progrès, mais nous ne souhaitons pas être LE leader, car nous croyons qu'il ne devrait jamais y avoir une autorité unique.

Bien que cette fois-ci, c'est la proposition de Bitcoin ABC qui est proposée aux mineurs, nous sommes confiants qu'avec le temps, d'autres équipes de développement verront également leurs idées mises en œuvre alors que nous avançons ensemble en tant que communauté unie.