Safe Network Entwickler Update đŸ‡©đŸ‡Ș 16. November 2023

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

Wir waren diese Woche damit beschĂ€ftigt, das Testnetz fĂŒr den Relaunch vorzubereiten. Eine Ursache fĂŒr die Fehler, die wir letztes Mal sahen, war die Replikation, die auf zu viele Knoten ging, was zu einer erhöhten Speichernutzung fĂŒhrte. Dies fĂŒhrte wiederum zu schnellen PreisĂ€nderungen, was dazu fĂŒhrte, dass die Kunden in einer Wiederausgabeschleife stecken blieben.

Wir haben einige PRs eingefĂŒhrt, um diese ĂŒbermĂ€ĂŸigen Replikationen jetzt zu stoppen. Wir testen sie intern und beheben potenzielle Probleme weiter.

Derzeit werden Verbesserungen der Tools durchgefĂŒhrt, um uns dabei zu helfen, LizenzgebĂŒhren ĂŒber Testnetze hinweg zu verfolgen und Basismetriken zu erhalten, mit denen wir vergleichen können. Und wir betrachten subtilere Testtechniken mit konkreten Zielen, als einfach nur ein paar Gigs zu buchen, um zu sehen, was passiert.

Wir prĂŒfen auch ein von @ansleme vorgeschlagenes vereinfachtes Zahlungssystem.

Ziel ist es, Zahlungen zu vereinfachen und die Notwendigkeit von Wiederholungsversuchen und RĂŒckzahlungen bei PreisĂ€nderungen zu beseitigen. Das unterzeichnete Angebot stellt eine verifizierte Preisvereinbarung zwischen dem Kunden und dem Knoten dar.

Zusammenfassend sieht es so aus

  • Der Kunde bittet den Knoten um ein Preisangebot, der Knoten antwortet mit Preis + Zeitstempel + Signatur
  • Der Kunde erhebt den Gesamtzahlungsbetrag einschließlich LizenzgebĂŒhren
  • Der Kunde sendet die Zahlung zusammen mit dem unterschriebenen Preisangebot an den Knoten
  • Der Knoten ĂŒberprĂŒft, ob die Signatur gĂŒltig ist und der Zeitstempel innerhalb der letzten 10 Minuten liegt (zum Beispiel).
  • Wenn gĂŒltig, speichert der Knoten Daten

Die wichtigsten Punkte sind:

  • Durch die Node-Signierung entfĂ€llt die Notwendigkeit einer RĂŒckzahlung, falls sich der Preis zwischen Angebot und Zahlung Ă€ndert, da der Node weiß, dass er diesem Angebot bei der Erstellung zugestimmt hat.
  • Der Zeitstempel ermöglicht es dem Knoten, ĂŒbermĂ€ĂŸig alte AnfĂŒhrungszeichen abzulehnen (wie jetzt).
  • Dies reduziert die Notwendigkeit von Wiederholungsversuchen und zwischengespeicherten Zahlungen im Client (solange der Client versucht, innerhalb der Vertragsablaufzeit einen Upload durchzufĂŒhren).
  • Nur eine einzige Zahlung und Überweisung der LizenzgebĂŒhren statt mehrerer.

Der Zeitstempel hier ist ein Vertrag zwischen dem Knoten und sich selbst, um sicherzustellen, dass die Kunden nicht falsch bezahlen. Es handelt sich NICHT um einen Vertrag zwischen dem Kunden und dem Knoten.

Nochmals vielen Dank an alle, die bei Testnetzen und Tests geholfen haben. Wir hoffen, Ihnen bald eine langlebigere Testnet-Iteration anbieten zu können.

Allgemeiner Fortschritt

Neben dem oben genannten Zahlungsvorschlag hat @anselme auch die Pay-One-Node-Einrichtung weiter verfeinert, was eine gewisse Umgestaltung erfordert.

@Roland hat am Testnet-Deployer herumgebastelt, damit wir beim Starten von Testnets weitere nĂŒtzliche Informationen abrufen können, einschließlich des Abrufens der Genesis-Multiadressen- und Knotenstatistiken. Er hat außerdem eine PR fĂŒr den Deployer erstellt, um Ansible-Aufgaben Resilienz zu verleihen, sodass Fehler bei der Bereitstellung von bis zu 10 % der Knoten ignoriert werden . Beim Testen konnte ein Netzwerk mit 2.000 Knoten und nicht erreichbaren Knoten mit der Option „ignore_unreachable“ immer noch erfolgreich bereitgestellt werden.

Roland hat außerdem ein Problem mit Client-Timeouts behoben, das von @loziniak identifiziert wurde

@bochaco hat eine Änderung durchgefĂŒhrt, was bedeutet, dass die LizenzgebĂŒhr nun 15 % der Speicherzahlungen betrĂ€gt anstelle des von uns verwendeten Ein-Nano-pro-Adresse-Ansatzes. Wir prĂŒfen bei den Benachrichtigungen auch den Gesamteingangsbetrag und nicht nur die Anzahl der Benachrichtigungen. Anselme hat die Wallet-Software entsprechend aktualisiert.

@Qi_ma hat die LizenzgebĂŒhren auf verschiedene Themen aufgeteilt, um den Ressourcenverbrauch zu reduzieren, und hat an Tests gearbeitet, um die Auswirkungen zu bewerten.

@bzee hat untersucht, wie man die Knoten zusĂ€tzlich zu RPC auch mit Signalen ordnungsgemĂ€ĂŸ stoppen kann, und schaut sich „libp2p“ an, um zu sehen, ob beim Abmelden Dinge zu berĂŒcksichtigen sind, anstatt „killall“ oder „Strg-C“ zu verwenden. Er und andere Teammitglieder informieren sich auch ĂŒber den Sybil-Schutz „libp2p“.

Und @joshuef hat hart daran gearbeitet, diesen lĂ€stigen ĂŒbermĂ€ĂŸigen Replikationen ein Ende zu setzen.


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