Actualités du développement Safe 🇫🇷 22 juillet 2021

Ceci est une traduction automatique. L’original en anglais est ici: Update 22nd July, 2021

Dans la mise à jour de cette semaine, nous abordons le sujet le moins préféré de tout le monde : les bogues. Les bogues ne sont pas un sujet facile à cerner car dans un système de pointe complexe, à multiples facettes comme Safe, il peut être difficile de savoir où commence un bogue et où se termine un autre. Ce bogue est-il dans notre code ou dans une bibliothèque tierce, ou peut-être dans la façon dont ils s’emboîtent ? Est-ce vraiment une correction de bogue ou juste une optimisation qui attend de se produire ?

Cela dit, c’est quelque chose qui nous est souvent demandé, et comme l’un des principaux objectifs des réseaux de test est de nous permettre de traquer et d’exterminer les petits fléaux, nous devrions au moins essayer de décrire la situation. Cette semaine, nous examinerons donc l’une des choses qui doivent vraiment être en place à 100 % avant Fleming – éliminer la perte de données – et les correctifs que nous mettons en place pour y parvenir.

Progrès général

@Chriso a travaillé sur des versions ARM pour aarch64, pas aidé par le fait que son nouveau Raspberry Pi est arrivé avec une carte microSD duff. Un remplaçant est arrivé mardi, il ne devrait donc pas être trop long d’attendre maintenant. Merci à @folaht, @stout77 et à d’autres pour avoir essayé les versions existantes.

DBC

Nous avons progressé sur les transactions anonymes en utilisant les engagements de Pedersen et des valeurs aveugles pour masquer les montants. Plus sur ceux à une date ultérieure!

UX

@JimCollinson a cherché à réorganiser les flux UX en fonction de l’évolution du réseau pour inclure les DBC, les téléchargements prépayés, les transactions multisig et les capacités en ligne/hors ligne activées par CRDT.

Mises à jour du SNR

@Anselme et @bochaco ont mis à jour l’API client et le système de résolution de noms, en rangeant le code et en supprimant l’ancien type de données Map.

En parlant d’Anselme, qui n’est plus le nouveau garçon, voici un peu de lui :

Issu d’une spécialisation en programmation système (UNIX), j’ai sauté de domaine en domaine, passant de la blockchain à la programmation back-end, en passant par l’ingénierie des données et l’apprentissage automatique. Je suis passionné par les virus informatiques, la programmation système, la sécurité logicielle, la décentralisation, l’apprentissage automatique et les langages de programmation.
J’aime penser le code comme de la poésie, malgré cela, je veux coder pour un but plus grand, pour des choses qui comptent. C’est pourquoi je suis ici à MaidSafe.

Éliminer la perte de données

Il va sans dire que la perte de données est un non-non absolu pour Safe (la disparition des données du permaweb serait particulièrement mal vue). Les morceaux de données stockés sur des nœuds sécurisés partout dans le monde doivent pouvoir survivre aux événements de désabonnement, aux pannes locales et aux acteurs byzantins. Ceux d’entre vous qui ont aidé aux tests (:merci:) sauront que nous n’en sommes pas encore là pour éliminer la perte de données.

Alors, quels sont les bugs qui font disparaître les données au fil du temps ? Comme nous l’avons laissé entendre ci-dessus, il est probable que beaucoup de choses se chevauchent.

L’un des bugs - corrigé cette semaine - s’est produit lors de la division de la section, où les adultes essayant de répliquer les données communiquaient parfois avec ce qu’ils pensaient être un autre adulte mais qui, lors de la division, avait été promu à un aîné - et a donc ignoré le message. Les tests suggèrent que celui-ci est peut-être allé rencontrer son créateur. Bon débarras. Ce type de bogue devrait être beaucoup plus rare lorsque l’Anti-Entropy est complètement implémenté. Et plus rare encore maintenant, nous avons un test fiable pour cela.

D’autres correctifs pour résoudre les problèmes de perte de données ont inclus la modification du flux de routage entre différents adultes dans une section et entre les adultes et les aînés pour s’assurer que les morceaux sont réellement là où nous pensons qu’ils sont et n’ont pas été perdus en raison d’une logique défectueuse.

Mais nous avons également vu que le problème de mémoire insuffisante était également probablement une cause de perte de données. Nous pensons que nous sommes au-dessus de celui-ci maintenant, mais quelques questions demeurent. Il y en a peut-être plus.

Comme vous pouvez le voir, espérons-le, ces bugs sont une chose difficile à cerner. Ils peuvent exister à plusieurs endroits, se chevaucher et l’un peut en déclencher un autre. Ils peuvent être difficiles à reproduire, nécessitant des conditions de réseau spécifiques ou des messages traversant à des moments spécifiques.

Nous y arrivons cependant et nous n’aurions aucune chance de les retrouver sans toutes les personnes qui se sont mobilisées pour aider aux tests. Même lorsqu’elles sont de courte durée, les informations que les testnets fournissent à l’équipe sont inestimables, alors merci encore une fois pour tout le débogage jusqu’à présent !


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é!