Safe Network Entwickler Update 🇩🇪 22. Juli 2021

Dies ist eine maschinelle Ăśbersetzung. Das Original in Englisch ist hier: Update 22nd July, 2021

Im Update dieser Woche beschäftigen wir uns mit dem unbeliebtesten Thema aller – Bugs. Bugs sind kein einfaches Thema, denn in einem komplexen, facettenreichen und hochmodernen System wie Safe kann es schwierig sein zu wissen, wo ein Bug beginnt und ein anderer endet. Liegt dieser Fehler in unserem Code oder einer Drittanbieterbibliothek oder vielleicht darin, wie sie zusammenpassen? Ist das wirklich ein Bugfix oder nur eine Optimierung, die darauf wartet, dass sie passiert?

Trotzdem werden wir ziemlich oft danach gefragt, und da ein wichtiger Punkt der Testnetze darin besteht, die kleinen Blighter aufzuspüren und auszurotten, sollten wir zumindest versuchen, die Situation zu beschreiben. Diese Woche werfen wir also einen Blick auf eines der Dinge, die vor Fleming wirklich zu 100% stimmen müssen – die Beseitigung von Datenverlusten – und die Korrekturen, die wir vornehmen, um dorthin zu gelangen.


Allgemeiner Fortschritt

@Chriso hat an ARM-Builds fĂĽr aarch64 gearbeitet, nicht geholfen durch die Tatsache, dass sein neuer Raspberry Pi mit einer Duff-microSD-Karte geliefert wurde. Ein Ersatz ist am Dienstag eingetroffen, daher sollte es jetzt nicht zu lange dauern. Danke an @folaht, @stout77 und andere fĂĽr das Ausprobieren der bestehenden Builds.

DBCs

Wir haben Fortschritte bei anonymen Transaktionen gemacht, indem wir Pedersen-Verpflichtungen und Blindwerte verwenden, um Beträge zu verbergen. Mehr dazu zu einem späteren Zeitpunkt!

UX

@JimCollinson hat versucht, die UX-Flows basierend auf der Entwicklung des Netzwerks neu auszurichten, um DBCs, Prepaid-Uploads, Multisig-Transaktionen und CRDT-fähige Online-/Offline-Funktionen einzubeziehen.

NRS-Updates

@Anselme und @bochaco haben die Client-API und das Namensauflösungssystem aktualisiert, den Code aufgeräumt und den alten Kartendatentyp entfernt.

Apropos nicht mehr der Neue Anselme, hier ein bisschen von ihm:

Ich komme aus einer Systemprogrammierungsspezialisierung (UNIX) und bin von Feld zu Feld gesprungen, von Blockchain zu Back-End-Programmierung, Datentechnik und maschinellem Lernen. Ich interessiere mich fĂĽr Computerviren, Systemprogrammierung, Softwaresicherheit, Dezentralisierung, maschinelles Lernen und Programmiersprachen.
Ich betrachte Code gerne als Poesie, trotzdem möchte ich für ein größeres Ziel codieren, für Dinge, die wichtig sind. Deshalb bin ich hier bei MaidSafe.

Beseitigung von Datenverlust

Dass Datenverlust für Safe ein absolutes No-Go ist, versteht sich von selbst (das Verschwinden von Daten aus dem Permaweb wäre besonders schlimm). Datenblöcke, die auf sicheren Knoten auf der ganzen Welt gespeichert sind, müssen in der Lage sein, Churn-Ereignisse, lokale Ausfälle und byzantinische Akteure zu überstehen. Diejenigen von Ihnen, die beim Testen geholfen haben (:danke:), werden wissen, dass wir mit der Beseitigung von Datenverlusten noch nicht fertig sind.

Was sind also die Fehler, die dazu fĂĽhren, dass Daten im Laufe der Zeit verschwinden? Wie wir oben angedeutet haben, ĂĽberschneiden sich wahrscheinlich viele Dinge.

Einer der Fehler, der diese Woche behoben wurde, trat bei der Abschnittsteilung auf, bei der Erwachsene, die versuchten, Daten zu replizieren, manchmal mit einem ihrer Meinung nach anderen Erwachsenen kommunizierten, der jedoch bei der Aufteilung zu einem Ältesten befördert worden war – und die Nachricht ignorierten. Tests deuten darauf hin, dass dieser möglicherweise seinen Hersteller getroffen hat. Auf Nimmerwiedersehen. Diese Art von Fehler sollte viel seltener sein, wenn Anti-Entropie vollständig implementiert ist. Und noch seltener haben wir dafür einen zuverlässigen Test.

Andere Fixes zur Behebung von Datenverlustproblemen umfassen die Änderung des Routing-Flusses zwischen verschiedenen Erwachsenen in einem Abschnitt und zwischen Erwachsenen und Älteren, um sicherzustellen, dass die Chunks tatsächlich dort sind, wo wir sie denken, und nicht aufgrund fehlerhafter Logik verloren gegangen sind.

Aber wir haben auch gesehen, dass das Problem mit nicht genĂĽgend Arbeitsspeicher wahrscheinlich auch eine Ursache fĂĽr Datenverlust war. Wir denken, dass wir das jetzt ĂĽberwunden haben, aber ein paar Fragen bleiben. Es kann mehr sein.

Wie Sie hoffentlich sehen können, sind diese Fehler eine schwierige Sache. Sie können an mehreren Stellen existieren, sich überschneiden und einer kann einen anderen auslösen. Sie können schwer zu reproduzieren sein und erfordern bestimmte Netzwerkbedingungen oder Nachrichten, die sich zu bestimmten Zeiten kreuzen.

Wir kommen jedoch dorthin und hätten keine Chance, sie aufzuspüren, ohne all die Leute, die beim Testen geholfen haben. Auch wenn sie nur von kurzer Dauer sind, sind die Informationen, die die Testnets dem Team liefern, von unschätzbarem Wert. Nochmals vielen Dank für die bisherige Fehlersuche!


NĂĽtzliche Links


FĂĽhlen Sie sich frei, unten mit Links zu Ăśbersetzungen dieses Entwicklungsupdates zu antworten, und die Moderatoren werden sie hier hinzufĂĽgen.

Als Open Source-Projekt sind wir immer auf der Suche nach Feedback, Kommentaren und Community-Beiträgen. Seien Sie also nicht schüchtern, machen Sie mit und lassen Sie uns gemeinsam das sichere Netzwerk erstellen!