Actualités du développement Safe 🇫🇷 16 novembre 2023

Ceci est une traduction automatique. L’original en anglais est ici: Update 16 November, 2023

Nous avons été occupés cette semaine à mettre à jour le testnet en vue de sa relance. L’une des causes des erreurs que nous avons constatées la dernière fois était que la réplication était effectuée sur un trop grand nombre de nœuds, entraînant une utilisation accrue de la mémoire. À son tour, cela a entraîné des changements de prix rapides, ce qui a obligé les clients à se retrouver coincés dans une boucle de nouvelles dépenses.

Nous avons mis en place quelques PR pour arrêter ces réplications excessives maintenant. Nous les testons en interne et déboguons davantage les problèmes potentiels.

Des améliorations des outils sont en cours pour nous aider à suivre les redevances sur les réseaux de test et à obtenir des mesures de base à comparer. Et nous étudions des techniques de test plus subtiles avec des objectifs concrets que de simplement lancer quelques concerts pour voir ce qui se passe.

Nous étudions également un régime de paiement simplifié proposé par @ansleme.

L’objectif est de simplifier les paiements et de supprimer le besoin de nouvelles tentatives et de remboursements en cas de changement de prix. Le devis signé fournit un accord de prix vérifié entre le client et le nœud.

En résumé ça ressemble à ça

  • Le client demande au nœud un devis, le nœud répond avec le prix + l’horodatage + la signature
  • Le client rassemble le montant total du paiement, y compris les redevances
  • Le client envoie le paiement au nœud avec le devis signé
  • Le nœud vérifie que la signature est valide et que l’horodatage date des 10 dernières minutes (par exemple)
  • S’il est valide, le nœud stocke les données

Les points clés sont :

  • La signature du nœud supprime le besoin de remboursement en cas de changement de prix entre le devis et le paiement, car le nœud sait qu’il a accepté ce devis lors de sa création.
  • L’horodatage permet au nœud de rejeter les citations trop anciennes (comme actuellement).
  • Cela réduit le besoin de nouvelles tentatives et de paiements mis en cache chez le client (tant que le client essaie de télécharger dans le délai d’expiration du contrat).
  • Un seul paiement et transfert de redevances au lieu de plusieurs.

L’horodatage ici est un contrat entre le nœud et lui-même pour s’assurer que les clients ne paient pas mal. Ce n’est PAS un contrat entre le client et le nœud.

Merci encore à tous ceux qui ont aidé avec les testnets et les tests. Nous espérons pouvoir bientôt vous proposer une itération testnet plus longue durée.

Progrès général

En plus de la proposition de paiement ci-dessus, @anselme a continué à affiner la configuration du paiement à un nœud, ce qui nécessite un peu de refactorisation.

@Roland a bricolé le déployeur testnet afin que nous puissions extraire des informations plus utiles lors du lancement de testnets, y compris l’obtention de l’adresse multi-adresse Genesis et des statistiques de nœuds. Il a également créé un PR pour que le déployeur ajoute de la résilience aux tâches Ansible, afin qu’il ignore les erreurs lors du déploiement jusqu’à 10 % des nœuds. . Lors des tests, un réseau de 2 000 nœuds avec des nœuds inaccessibles était toujours capable de se déployer avec succès en utilisant l’option « ignore_unreachable ».

Roland a également résolu un problème avec les délais d’attente des clients qui a été identifié par @loziniak

@bochaco a effectué un changement qui signifie que les redevances s’élèvent désormais à 15 % des paiements de stockage au lieu de l’approche un nano par adresse que nous utilisons. Nous vérifions également le montant total reçu avec les notifications et pas seulement le nombre de notifications. Anselme a mis à jour le logiciel du portefeuille en conséquence.

@Qi_ma a réparti le paiement des redevances entre les sujets afin de réduire l’utilisation des ressources et a travaillé sur des tests pour évaluer son impact.

@bzee a examiné comment arrêter gracieusement les nœuds avec des signaux en plus de RPC et examine libp2p pour voir s’il y a des éléments à prendre en compte pour la déconnexion, plutôt que d’utiliser killall ou Ctrl-C. Lui et d’autres membres de l’équipe étudient également la protection Sybil libp2p.

Et @joshuef a travaillé dur pour mettre fin à ces satanées réplications excessives.


Liens utiles

N’hésitez pas à répondre ci-dessous avec des liens vers les traductions de cette mise à jour de développement et les modérateurs les ajouteront ici.

En tant que projet open source, nous sommes toujours à la recherche de commentaires, de commentaires et de contributions de la communauté. Ne soyez donc pas timide, rejoignez-nous et créons ensemble le réseau sécurisé!