Safe Network Entwickler Update 🇩🇪 19. Oktober 2023

Dies ist eine maschinelle Übersetzung. Das Original in Englisch ist hier: Update 19 October, 2023

Es ist großartig, dass wir zumindest auf Kundenseite im Forum nachsehen, Protokolle anfordern können, wenn etwas nicht funktioniert, und es im Handumdrehen beheben können. Ein typisches Beispiel ist das Problem mit fehlenden Blöcken beim Herunterladen großer Dateien. In diesem Fall ging es darum, beim Herunterladen Blöcke zu stapeln.

Tatsächlich war es eine rundum gute Woche für Korrekturen, von denen viele mit unseren internen Tests und der Integration zu tun hatten, einige aber auch sichtbarer waren. Einer, der gerade veröffentlicht wurde, befasst sich mit einem Problem, bei dem Kunden zu viel für Uploads bezahlten. Jedes Mal, wenn eine Rückzahlung erforderlich war, zahlt der Kunde (derzeit) alle Knoten in der nahen Gruppe zurück und nicht nur den Knoten mit der höheren Rate. Obwohl wir dies verbessern müssen (um nicht zu viel zu bezahlen), haben die Knoten tatsächlich nur das kostenlose Geld verworfen, das ihnen gesendet wurde, wenn sie bereits über die Daten verfügten. Jetzt nehmen sie alle ihnen zugesandten Token entgegen und prüfen dann, ob diese tatsächlich ausreichen (die Übertragung der Token kann ohnehin nicht rückgängig gemacht werden).

Bei der Untersuchung eines Client-Protokolls von @Toivo, das zeigte, dass der Client bei Chunk-Uploads eine Schleife durchführte, fand Qi die Ursache im Verlust von Netzwerkverbindungen und Routing-Tabellen. In diesem Fall ist es möglicherweise am besten, den Client einfach zu beenden und ihn erneut zu starten.

Es war auch eine großartige Woche für die externe Zusammenarbeit. Wir hatten ein produktives Treffen mit Max Inden von IPFS, einem der wichtigsten „libp2p“-Rust-Leute, in dem wir erklärten, wie wir Kademlia/Libp2p verwenden, was sich deutlich von der Art und Weise unterscheidet, wie IPFS es verwendet. Bei IPFS geht es darum, zu verfolgen, wer die Daten speichert, und nicht darum, die Daten selbst zu verwalten. Daher ist es für kleine Datenübertragungen konzipiert, während Safe für große Datenübertragungen konzipiert ist, weshalb wir über einen eigenen Replikationsmechanismus verfügen. Wie auch immer, es war ein gutes Treffen und wir freuen uns auf die weitere Zusammenarbeit und darauf, zu sehen, wie wir im Vorfeld einen Beitrag leisten können, wobei AutoNat ein Hauptziel ist.

Vielen Dank an alle, die Anomalien entdeckt und Protokolle gesendet haben. Sehr geschätzt. Manchmal ist es für uns schwierig, Fehler zu reproduzieren, deshalb können sie sehr hilfreich sein. Josh, Qi und Roland haben sie durchgesehen und uns diese Woche dabei geholfen, eine Reihe von Störungen zu beheben.

Wir haben die Ursache des Hauptspeicherverlusts bei Knoten aufgespürt, die „zurückrufen“, wenn sie bemerken, dass einer verloren geht oder sich offenbar hinter einem NAT befindet. Dieser Prozess bricht nicht so ab, wie er sollte, daher haben wir einen Teil des Codes entfernt und einen deutlichen Rückgang des Speichers festgestellt. Wir verfolgen jetzt die Auswirkungen dieser Maßnahme und prüfen, ob es hier noch andere Bereiche gibt, in denen wir uns verbessern könnten.

HeapNet2 erweist sich als robustes Biest. Wir freuten uns über @neiks Kommentar: „Die Stille im Hören ist ohrenbetäubend, was bedeutet, dass wir immer weniger Grund zum Jammern finden, lol.“ ”

Da die Chunk-Uploads und -Downloads nun stabil zu sein scheinen, können wir uns auf die Registrierung, die Bezahlung der Foundation und die Optimierung der Replikation konzentrieren.

Wir hoffen, Sie haben bemerkt, dass die Jungs diese Woche im Forum unterwegs waren. Wenn Sie feststellen, dass etwas nicht stimmt, rufen Sie uns einfach an. Beim nächsten Testnetz sollte es um Lizenzgebührenzahlungen gehen. Wir arbeiten gerade an einem neuen Setup, um die Dinge dort zu überprüfen.

Allgemeiner Fortschritt

@anselme hat Zahlungen schneller und effizienter gemacht, indem er CashNotes (schwer) im Code so schnell wie möglich in Überweisungen (leicht) umgewandelt hat, um dies zu vermeiden Umgang mit großen CashNotes, die von der Festplatte gelesen werden müssen. Dies führt zu einem geringeren Speicherbedarf, da Übertragungen viel einfacher sind als bei CashNotes und viel weniger Festplatten-I/O erfordern.

Er hat auch einen potenziellen möglichen Double Spend-Fehler behoben, indem er jede Aufteilung zu einem Fehler gemacht hat, mit Ausnahme von Registern, für die Aufteilungen als CRDTs behandelt werden Client-Seite.

@roland hat eine PR eröffnet, um Benutzern die Konfiguration des Open Metrics Server-Ports zu ermöglichen. Er befasst sich auch mit der Selbstheilung durch Abfragen und potenzielle Caching-Ansätze.

@chriso hat eine neue Kiste namens „sn_releases“ erstellt, um ein Repository zum Herunterladen und Extrahieren unserer Release-Binärdateien bereitzustellen. Er machte auch eine PR für eine Rostkiste zur Verwaltung von Systemdiensten. Diese Arbeit wird die Tür zu einem Tool zum Verwalten von Knoten öffnen (um automatisierte Updates zu ermöglichen).

Frisch nach seinem Sieg bei der Lösung des Mysteriums der fehlenden Chunks beim Download und der Lösung des Client-Loop-Rätsels lüftet @qi_ma nun ein ähnliches Rätsel: das Chunkless-Node-Syndrom. Er hat einige interessante Hinweise zum „PeerId“-Bias, was möglicherweise einige ungleichmäßige Node-/Chunk-/Reward-Verteilungen erklärt. :männlicher_detektiv:

@bochaco hat die Netzwerk-Lizenzgebührenzahlungen so gut wie abgeschlossen, einschließlich der Validierung der pro Knotenadresse gezahlten Beträge. Dies ist nun zumindest der erste Schritt, um die Zahlung von Nettolizenzgebühren durch Kunden zu ermöglichen, diese durch Knoten zu verifizieren und Benachrichtigungen von Knoten über GossipSub zu versenden. Alle Knoten haben standardmäßig das GossipSub-Thema abonniert, aber nur die Lizenzgebühren zahlen michnt-Benachrichtigungen werden über das Thema gesendet.

@joshuef hat sich angeschaut, wie viele Knoten für das Halten eines Chunks bezahlt werden müssen. Theoretisch könnte es nur eine sein, was den großen Vorteil der Einfachheit hat, aber riskant sein könnte, wenn der Knoten ausfällt, bevor die Replikation stattfinden kann. @bzee führt Tests zu diesem Szenario durch. Josh und @dirvine arbeiten auch daran, fehlerhafte Knoten zu identifizieren und auszuwerfen/ignorieren.


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