Dies ist eine maschinelle Übersetzung. Das Original in Englisch ist hier: Update 16 February, 2023
Zeit für einen kurzen Überblick darüber, wo wir uns mit den verschiedenen beweglichen Teilen befinden, aus denen die Safe-Maschine besteht. Wie üblich ist es eine Mischung aus schneller Beschleunigung in einigen Bereichen und anderen, die an anderer Stelle auf Fortschritte warten, bevor sie sich bewegen können.
Insgesamt sind wir begeistert von den Vereinfachungsmöglichkeiten, die die stabile Set-Idee bietet, sehr glücklich über die Gründung der Stiftung und erfreut über Fortschritte beim Konsens. Es ist auch großartig, Community-Testnetze wieder zum Laufen zu bringen und Leute zu haben, die mit ihren eigenen GUIs in Aktion treten .
Allgemeiner Fortschritt:
Wir suchen immer nach Möglichkeiten, den Kunden dazu zu bringen, mehr Arbeit zu erledigen, und @oetyng untersucht, wie es die Ältesten mit dem, was in der Sektion passiert, auf dem Laufenden halten kann (zusammen mit AE, Klatsch usw.).
@anselme hat DBCs umgestaltet und seine Änderungen in den Hauptcode integriert, und @Chriso schließt die Implementierung des Überwachungsstapels ab.
@roland hat den Verlagerungsprozess so umgestaltet, dass der verlagerte Knoten den Prozess steuert.
Mostafa und @davidrusu stecken in dem stabilen Set fest und arbeiten an einem Übergabeprotokoll, das kein DKG erfordert. Mostafa untersucht auch den binären Kompilierungsprozess, um zu versuchen, ihn zu beschleunigen.
Auch am stabilen Set ist @joshuef zuversichtlich, dass wir mit ein paar zusätzlichen Änderungen einen Weg zu Tiered Storage haben.
Qp2p wird immer noch operiert, wobei @bochaco auf Anomalien beim Lesen und Schreiben von Streams testet, während @bzee dazu übergegangen ist, Protokolle in Bezug auf Verzögerungen im Netzwerk zu analysieren, wenn Knoten belastet werden.
Schließlich hat @JimCollinson an verschiedenen rechtlichen Kleinigkeiten für den Vorstand gearbeitet und auch eine Startstrategie in Betracht gezogen.
Fortschrittsbericht
Stallset
Behandlung der Ältesten und ältesten Erwachsenen als vertrauenswürdiger als jüngere Nodes, keine Notwendigkeit, dass sie aufgrund der Node-Alterung umziehen müssen, und Einführung von Tiered Storage . Könnte die Notwendigkeit für DKG und Umzug beseitigen, die beide schwierig sind.
Fortschritt: Entwurfsphase, Annahmen testen, noch experimentell.
Todo: Tests abschließen, bei Erfolg an der Implementierung arbeiten.
Konsens
Viele Prozesse können von AE und Eventual Consistency (CRDTs) gehandhabt werden, aber in einigen Fällen ist wahrscheinlich eine lokale Bestellung erforderlich, da Forks doppelte Ausgaben ermöglichen könnten, während wir auf ihre Auflösung warten. https://github.com/maidsafe/sn_consensus
Fortschritt: Der MVBA-Algorithmus (Multi Values Byzantine Agreement) wurde entwickelt und getestet.
Zu erledigen: Bewerben Sie sich für Mitgliedschaftsalgorithmen. Versuche in Live-Umgebung.
Quicp2p
Qp2p ist eine auf QUIC basierende Netzwerkbibliothek, die es Peers in einem P2P-Netzwerk ermöglicht, sicher zu kommunizieren. https://github.com/maidsafe/qp2p
Fortschritt : qp2p wird umgestaltet mit dem Ziel, den größten Teil seiner Funktionalität in sn_node zu bringen, wo es einfacher ist, damit zu arbeiten. Quic ist eine Blackbox.
Todo: Diese Arbeit ist noch nicht abgeschlossen.
Nachrichten und Speicherspitzen
Wir sahen eine Flut von Nachrichten und einen Anstieg der Speichernutzung, insbesondere wenn ein neuer Knoten Älteste kontaktierte und darum bat, beizutreten. https://github.com/maidsafe/safe_network/tree/main/sn_comms
Fortschritt: Wir sehen meistens keine Speicherspitzen mehr. Nachrichten sind ein zentraler Bestandteil der Funktionsweise des Netzwerks, daher verfeinern wir die Dinge dort ständig. Wir arbeiten an einem besseren Gegendruck, indem wir die Staukontrolle von Quinn zuverlässiger nutzen.
Todo: Ausmerzen von Fehlern, wenn wir sie sehen, weitere Vereinfachung.
Überwachung und Beobachtbarkeit
Wir sind von dem ELK-Setup, das wir zuvor verwendet haben, zu OpenSearch (einem moderneren Open-Source-Fork von ElasticSearch), OpenTelemetry und einem Data Prepper gewechselt, da wir diese Dienste auf ECS hosten können, anstatt EC2-Instances zu verwenden. https://github.com/maidsafe/terraform-testnet-infra
Fortschritt: Das ist jetzt ziemlich genau so, obwohl wir immer noch nach der besten Konfiguration suchen.
Todo: Schließe es ab und öffne es dann für die Community, sofern möglich.
Datenverarbeitung
Datenhandhabung, Neuverteilung von Chunks, wenn ein Erwachsener offline geht, und eleganter Umgang mit Splits.
Fortschritt: Auch dies ist ein Kernbestandteil der Funktionalität und die Arbeit ist im Gange, siehe Stable Sets oben.
Todo: Etablieren Sie abgestufte Daten. Die Grundlagen wurden gelegt, wir müssen die Dinge über die Abdeckung des Umzugs und die Feinabstimmung hinaus testen.
Aushändigen
Wenn ein Ältester bemerkt, dass die aktuellen Ältesten nicht die sieben ältesten Knoten sind, löst dies eine Abstimmung über die Beförderung des/der ältesten Erwachsenen und die Herabstufung des/der jüngsten Ältesten aus, um Platz zu machen. Handover ist der Algorithmus, der diesen Prozess steuert.
Fortschritt: Nach Plan abgeschlossen, obwohl es mit Klatsch und Konsens verfeinert wird (siehe unten).
Todo: Führen Sie Klatsch ein, um die Kommunikation zwischen eund prüfen Sie den Konsens, um sicherzustellen, dass die Prozesse beendet werden.
Mitgliedschaft
Dies ermöglicht es den Ältesten, die Kontrolle über die Erwachsenen in ihrer Abteilung zu behalten.
Fortschritt: Mitgliedschaft ist in sn_node integriert, bleibt aber der am schwierigsten zu behebende Bereich, um dies sicherzustellen Ältester konvergiert auf die gleiche Ansicht. Es ist ein Koordinationsproblem.
Todo: Entfernen Sie die doppelte Ansicht der Mitgliedschaft, die wir zwischen SectionPeers
und Membership
haben. Hier wurde mit der Arbeit begonnen, dies auf „SectionPeers“ zu reduzieren, und schreitet gut voran.
Tratsch
Gossip ist eine Art P2P-Protokoll, bei dem ein Knoten regelmäßig Wissen an einen anderen Knoten sendet, der oft ausgewählt wird zufällig, und dieser Knoten leitet die Nachricht an einen anderen Knoten weiter, und so weiter, bis sie „allgemein bekannt“ wird.
Fortschritt: Wir führen Klatsch an verschiedenen Stellen ein, an denen die Prozesse manchmal stecken bleiben können, wie z. B. DKG-Runden, Mitgliedschaften und Netzwerkaufspaltungen. Im letzteren Fall ermöglicht uns Klatsch auch, das Netzwerk nach einem katastrophalen Ausfall wieder aufzubauen.
Todo: Suchen Sie nach weiteren Gelegenheiten, bei denen Klatsch uns helfen kann.
DKG
Die verteilte Schlüsselgenerierung wird verwendet, wenn Älteste Entscheidungen über die Mitgliedschaft treffen müssen.
Fortschritt: DKG wurde umgestaltet, leidet aber immer noch gelegentlich unter Zeitüberschreitungen.
Todo: Versucht, den Bedarf an DKG bei der Entscheidungsfindung zu reduzieren.
Zahlungsablauf
Wenn der Kunde für einen Upload bezahlt, erhält er eine Quittung und die Ältesten und Erwachsenen in den Bereichen, in denen die Daten gespeichert sind, erhalten einen Teil dieser Zahlung. Beim Zahlungsfluss geht es darum, wie diese Verteilung funktioniert.
Fortschritt: Das grundlegende Design ist vorhanden.
Todo: Detailliertes Design zur Abdeckung von Sicherheit, UX und wirtschaftlichen Anreizen. Warten auf andere Entwicklungen.
Stiftung
Die Safe Network Foundation ist eine gemeinnützige Organisation in der Schweiz mit dem Ziel, Forschung und Entwicklung zu erleichtern, zu unterstützen, zu finanzieren und zu fördern sowie die fortlaufende Bereitstellung, Wartung und Einführung von zu ermöglichen Netzwerk und seine Technologien.
Fortschritt: Die Safe Network Foundation wurde gegründet!
Todo: Setzen Sie es um!
Token-Verteilung über sichere Netzwerke
Nach der anfänglichen Verteilung von Token zu Beginn des Netzwerks (10,6 % an MaidSafeCoin-Inhaber, 5 % an Aktionäre, 14,4 % an Netzwerk-Lizenzgebührenpool) werden die verbleibenden 70 % des gesamten maximalen Angebots geschaffen und als Folge davon sicher verteilt von Menschen, die langfristig Daten hochladen. https://safenetforum.org/t/updated-rfc-0061-safe-network-token-distribution/37883
Fortschritt: Erstantrag erstellt und der FINMA zur Genehmigung vorgelegt. Die Mechanik, welche Node-Betreiber während einer bestimmten Transaktion bezahlt werden, wird noch ausgearbeitet.
Todo: Knotenzahlungen entwerfen und testen.
DBCs
Digitale Inhaberzertifikate sind das Vehikel für die Transaktion von Token im Safe Network.
Fortschritt: DBCs wurden umgestaltet, indem ein überflüssiges Element entfernt wurde, das Transaktionen verschleiern sollte, aber mit zweifelhafter Fähigkeit, die Sicherheit zu erhöhen, und die Leistung verbessert wurde. Diese Arbeit steht kurz vor dem Abschluss.
Todo: Verbessern Sie die APIs und die UX in diesem Zusammenhang. Arbeiten Sie die DBC-APIs in die Zahlungsströme ein und testen Sie dort.
Knoten-Refaktorierung
sn_node wurde umgestaltet, um so viele Instanzen von Multithreading wie möglich zu entfernen, um den Code zu vereinfachen und unerwünschte Sperren zu entfernen. Älteste speichern jetzt Daten, damit sie die Speicherkapazität abschätzen können, ohne Erwachsene zu befragen, und wir haben versucht, mehr kleinere Knoten in einem Abschnitt zu haben, was in Testnetzen erfolgreich erprobt wurde.
Fortschritt: Fertig
Todo: Beobachten Sie weiter.
Abschnittsketten-Refaktorierung
Abschnittskette, die sicher verknüpfte Liste, die Abschnittsschlüssel bis zurück zu Genesis verbindet, wird als Merkle-DAG umgestaltet. Es heißt jetzt SectionTree.
Fortschritt: Fertig.
*Nichts tun.
Fehlererkennung (früher Dysfunktion
)
Regelmäßiges Testen, ob Knoten online sind, und Ergreifen von Maßnahmen, wenn dies nicht der Fall ist.
Fortschritt: Refaktoriert mit eigener Testsuite, wartet auf Fortschritte in anderen Bereichen.
Todo: Verbessern Sie das Testen mit Live-Netzwerken und stellen Sie sicher, dass alles wie erwartet funktioniert. Fügen Sie weitere Fehlererkennungsrouten hinzu.
Namensauflösungssystem und Domainnamen
NRS-Karten sind Multimaps (Register unter der Haube), die die Zuordnung aller Unternamen zu URLs für einen bestimmten Obernamen enthalten. Jeder Topname hat seine eigene Multimap.
Fortschritt: Keine Bewegung diesbezüglich.
Todo: Änderungen an der NRS-Ordnung müssen implementiert werden.
Kunde / UX
sn_client ist der Satz von APIs und der Befehlszeilenschnittstelle (CLI), die es Geräten ermöglicht, sich mit dem Netzwerk zu verbinden und mit ihm zu interagieren. https://github.com/maidsafe/safe_network/tree/main/sn_client
Fortschritt : sn_client wurde umgestaltet - Behebung von Nachrichten, die Benutzern zeigen, ob sie verbunden sind oder nicht, insbesondere während des Bootstrappings.
Todo: Kontinuierliche Verbesserung der APIs und CLI im weiteren Verlauf.
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!