Mise à jour EOS Mainnet: versions Block.one EOSIO, améliorations de l'infrastructure du producteur de blocs et processus de mise à niveau EOSIO 2.0

Aujourd'hui, nous jetons un coup d'œil dans les coulisses du travail collaboratif qui a eu lieu au cours des dernières semaines entre Block.one et la clé producteurs de blocs du réseau principal EOS.

Block.one

Les gens de Block.one ont été formidables de travailler avec pour relever les défis des microforks et des blocs manquants auxquels EOS Mainnet est actuellement confronté. Ils ont été en communication régulière avec les producteurs de blocs et ont rapidement résolu les problèmes critiques identifiés par ces producteurs de blocs. Quelques points saillants des versions récentes des versions 1.8.11 et 2.0.2:

  • La fonction «drop-late-blocks» signifie que les blocs arrivant en retard du «producteur de blocs précédent» au «producteur de blocs suivant» sont supprimés. Ceci est différent du comportement précédent où ces blocs interrompaient la production, appliquaient le bloc, puis reprenaient la production. Il est de la responsabilité du «producteur de blocs précédent» d'envoyer les blocs suffisamment rapidement pour qu'ils ne soient pas supprimés. La principale chose à considérer est la latence du réseau, en particulier dans les cas où le «producteur de blocs précédent» et le «producteur de blocs suivant» sont situés sur des continents différents.
  • La fonction «cpu-effort-percent» permet aux producteurs de blocs de régler plus finement la quantité de CPU sur leur nœud de signature qui est utilisée pour créer des blocs. Les blocs plus petits peuvent arriver plus rapidement au prochain producteur de blocs.
  • Permettre aux connexions en lecture seule d'être bidirectionnelles. Les producteurs de blocs utilisent le mode «lecture seule» pour permettre un échange de blocs plus rapide entre eux. La fonctionnalité n'a pas été conçue à cet effet, mais elle est désormais prise en charge.

Pour les techniquement curieux, voici les notes de version pour 1.8.11 et 2.0.2:

Infrastructure des producteurs de blocs

Côté infrastructure, de nombreuses configurations de nœuds ont connu des changements drastiques au cours des deux dernières semaines. Les améliorations peuvent généralement être regroupées dans quelques domaines:

  • Performances plus rapides: CPU plus rapide ou mises à niveau de mémoire supplémentaires.
  • Topologie de réseau améliorée: améliorations architecturales des nœuds en termes de configuration de l'infrastructure du producteur de blocs internes ainsi que de connexions externes optimisées avec d'autres producteurs de blocs.
  • Modifications apportées au logiciel EOSIO: (voir ci-dessus)
  • Réglage de la configuration: examen des principales options de configuration dans EOSIO et ajustement si nécessaire.

Bon nombre de ces changements ne sont pas réellement visibles pour les utilisateurs finaux lorsqu'ils sont terminés et le résultat global ne peut pas être vu tant que plusieurs changements connexes ne sont pas réunis.

En fait, parfois, alors que ces types de modifications sont en cours, les performances globales du réseau peuvent se dégrader pendant une courte période. Par exemple, un producteur de blocs met en ligne un nouveau nœud, qui vise à accélérer la propagation des blocs, mais il a une nouvelle adresse IP, qui pourrait devoir être reflétée dans la configuration EOSIO et les règles de pare-feu d'autres producteurs de blocs. Malheureusement, il n'est pas toujours possible de conserver l'ancienne configuration et la nouvelle configuration en même temps.

Mise à niveau EOSIO 2.0

Quant au processus de mise à niveau vers EOSIO 2.0, de nombreux producteurs de blocs exécutent déjà EOSIO version 2.0.2 (publiée le 6 février 2020) sur leurs nœuds publics API et P2P. De plus, dans le cadre de ces améliorations d'infrastructure, la version 2.0.2 est introduite de manière réfléchie, où elle peut aider à améliorer les performances. Les producteurs de blocs moderniseront diverses parties de leur infrastructure lorsque le moment sera venu pour eux.

En termes de production de blocs, EOS Nation est le premier producteur de blocs à exécuter 2.0.x sur le réseau principal EOS à partir des versions préliminaires 2.0.2. Quelqu'un doit être le premier à tester de nouvelles versions en production sur EOS Mainnet et EOS Nation est heureux de jouer ce rôle. D'autres producteurs de blocs suivront bientôt notre exemple.

Notre chef de l'infrastructure, Matthew Darwin, est en communication régulière avec Block.one et, en soumettant nos journaux à Block.one, il a pu aider à identifier de nombreux problèmes EOSIO. Matthew a également soumis de nombreuses demandes de github et des problèmes liés à la sécurité de HakerOne, dont deux ont reçu des primes.

Nous nous attendons à ce que les producteurs de blocs examinent la version 2.0.2 pour voir quand et où il est logique pour eux de mettre à niveau. Nous nous attendons à ce qu'il soit bientôt déployé sur le réseau P2P qui est utilisé entre les producteurs de blocs pour échanger des blocs, puis à d'autres endroits par la suite. 

Lorsque les producteurs de blocs effectuent ces changements, vous ne remarquerez rien de différent. L'amélioration très attendue des performances d'EOS-VM ne peut pas être activée tant que tout le monde sur le réseau n'est pas prêt et que les problèmes de microforks et de blocs supprimés n'ont pas été résolus. 

Conclusion

Beaucoup de travail a été fait et il reste encore beaucoup à faire pour améliorer la stabilité du réseau et exécuter la mise à niveau 2.0. Les meilleurs producteurs de blocs sont en communication régulière entre eux et avec Block.one pour fournir la meilleure expérience de blockchain possible dans le monde!

Daniel Keyes

Chef de l'exploitation (COO)
Les responsabilités incluent: gestion de produit, opérations, communauté
Lieu: Toronto, Canada

Avant de fonder la première communauté EOS à Toronto et de cofonder EOS Nation, Daniel a passé une décennie dans le secteur de la technologie financière en jouant divers rôles. Sa vaste expérience dans les domaines du service client, des ventes, du coaching commercial, de la formation des agents, du marketing numérique, de la gestion de processus numériques (ceinture verte maigre) et de la gestion de produits (Scrum Master certifié, propriétaire de produit certifié) l'a finalement amené à consulter pour un magasin de développement Blockchain.

Daniel a obtenu un baccalauréat en journalisme de l'Université Ryerson en 2009 et a travaillé comme chercheur stagiaire à Global TV.

Daniel vit selon les principes de vérité, d'amour et de liberté.