Ceci est une traduction automatique. L’original en anglais est ici: Update 22 September, 2022
Rien de majeur à signaler cette semaine sur le front technologique, nous nous en tiendrons donc à un rapport d’avancement général plutôt qu’à la plongée approfondie habituelle. Plus à signaler sur le front de l’équipe, cependant, où nous sommes heureux d’accueillir un nouveau membre de l’équipe. Mostafa est un développeur blockchain expérimenté originaire de Malaisie.
Bienvenue dans l’équipe, Mostafa !
Salut. C’est Mostafa. Je suis un ingénieur logiciel. Ravi de vous rencontrer.
Une fois, quand j’étais étudiant, j’ai décidé de visiter un ancien temple du feu (un bâtiment vieux de plus de 2000 ans) qui était situé dans un endroit sauvage. Trouver le temple du feu était difficile, alors j’ai demandé à des gens du coin de m’aider. Fait intéressant, ils l’ont appelée la « maison du diable » et quand je leur ai demandé pourquoi ils ont dit, « parce que les humains ne peuvent pas construire une telle chose, ça doit être le diable ». C’était dans mon esprit récemment lorsque j’ai lu l’histoire des ponts du diable en Europe. Les ponts qui ont été construits il y a des siècles et qui fonctionnent toujours. Les gens les appellent les ponts du diable, parce qu’ils ne peuvent pas croire qu’un humain l’a construit, ce doit être le diable.
Personne ne sait qui a construit le pont du diable ou le temple du feu, mais ils sont toujours debout. Construisons un réseau diabolique !
Progrès général
Le travail de SectionTree
est maintenant terminé
Un rappel de @roland pourquoi nous avons réimplémenté certaines parties de la SectionTree
…
Le
SectionTree
(anciennementNetworkPrefixMap
) est une structure de données qui encapsule nos connaissances actuelles sur le réseau. Il peut être considéré comme un arbre où chaque nœud est uneSectionKey
signée par son parentSectionKey
, à l’exception du nœud racine (genesis_key
). Les feuilles de l’arbre contiennent également le SAP de la section tout en éliminant les SAP des non-feuilles.Étant donné que chaque
Client/Node
peut avoir une vue réseau différente, leSectionTree
peut varier considérablement entre les participants. De plus, il est nécessaire d’envoyer des parties de l’arbre (SectionTreeUpdate
, qui regroupe la chaîne de preuve + SAP) à toute personne qui en fait la demande et d’être sûr qu’il ne gâche pas son arbre en essayant de le mettre à jour.La
SecuredLinkedList
était auparavant utilisée pour construire laSectionTree
, mais elle présentait quelques problèmes qui entraînaient des insertions incorrectes et elle n’était pas conforme à la CRDT. Par conséquent, il a été réimplémenté en tant que CRDT (en particulierMerkleRegister
), et l’ancienSecuredLinkedList
a été remplacé par le nouveauSectionsDAG
. Maintenant, nous pouvons être sûrs qu’il se comporte comme prévu, peu importe l’ordre ou la durée de la mise à jour !
@roland est maintenant passé aux tests de génération de clé distribuée (DKG) avec @anselme. Comme expliqué au cours des deux dernières semaines, il y a eu des problèmes avec le processus DKG qui ne se termine pas toujours. Après quelques tests intensifs, il semble assez stable maintenant, et @anselme écrit de la documentation pour le processus de test.
Un mot d’Anselme sur le prochain DKG…
Le DKG à venir, plus résilient et sans minuterie
Le processus DKG est actuellement un processus actif utilisant des temporisateurs qui, en cas d’activité réseau intense, échouent souvent en raison de délais d’attente. Nous avons récemment travaillé sur un nouveau DKG qui n’utilise pas de minuteries, permettant à la place de retarder les messages et de prendre en charge les pertes de paquets importantes. Lorsque les nœuds ne reçoivent pas de messages pendant un certain temps, ils communiquent leurs connaissances aux autres dans l’espoir de les mettre à jour, ou même d’obtenir des mises à jour de leur part si les informations envoyées sont obsolètes. De cette façon, chaque nœud finira par atteindre la terminaison DKG.
Nous adoptons désormais également les DKG simultanés avec cette nouvelle implémentation. C’est maintenant une course entre les DKG et le groupe de candidats qui atteint la fin avant que les autres n’aient la chance de devenir le nouveau groupe d’anciens. Certaines sessions DKG peuvent être bloquées ou se terminer en retard, mais nous ne les considérons pas comme des échecs, elles ont participé à la course et ont tout simplement perdu. Nous voulons que le prochain groupe d’anciens soit aussi fiable que possible, donc choisir le vainqueur de cette course DKG est également un moyen pour nous de choisir les meilleurs nœuds. Finalement, après le roulement de la section, ces sessions DKG deviennent obsolètes et lorsque les candidats réalisent qu’ils ont perdu la course, ils savent qu’ils peuvent s’arrêter.
Un autre duo dynamique @bochaco et @chriso ont débogué les tests DBC. Ils ont trouvé un problème par lequel le SAP (liste des anciens actuels) est supprimé par erreur lors du processus de test client, ce qui déstabilise le réseau.
Pendant ce temps, @bochaco continue de travailler sur l’autre flux d’activité majeur pour le moment, en rationalisant les processus de messagerie et en utilisant des threads uniques lorsque cela est possible.
@joshuef et @davidrusu travaillent également sur les aspects de la rationalisation des messages, Josh étudie l’extraction du module comms
du code node
, pour voir si cela pourrait se prêter mieux au multi-threading, tandis que David découple certains des le code partagé par les caisses sn_node
et network_knowledge
, qui, espérons-le, éliminera certaines des erreurs de jonction de nœuds que nous avons constatées.
Liens utiles
- Site Web du réseau sécurisé
- Safe Network Primer
- Principes de base du réseau
- Feuille de route
- Glossaire
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é!