Der dezentrale LF-Speicher wurde in eine offene Lizenz überführt

LF 1.1.0, ein dezentraler, replizierter Schlüssel-/Wert-Datenspeicher, ist jetzt verfügbar. Das Projekt wird von ZeroTier entwickelt, das einen virtuellen Ethernet-Switch entwickelt, der es ermöglicht, Hosts und virtuelle Maschinen verschiedener Anbieter in einem virtuellen lokalen Netzwerk zu kombinieren, dessen Teilnehmer Daten im P2P-Modus austauschen. Der Projektcode ist in der Sprache C geschrieben. Die neue Version zeichnet sich durch den Übergang zur kostenlosen MPL 2.0-Lizenz (Mozilla Public License) aus.

Zuvor war der LF-Code unter einer BSL (Business Source License) verfügbar, die aufgrund der Diskriminierung bestimmter Benutzerkategorien nicht kostenlos ist. Die BSL-Lizenz wurde von den Mitbegründern von MySQL als Alternative zum Open-Core-Modell vorgeschlagen. Der Kern von BSL besteht darin, dass der Code mit erweiterter Funktionalität zunächst zur Änderung verfügbar ist, für einige Zeit jedoch nur dann kostenlos genutzt werden kann, wenn zusätzliche Bedingungen erfüllt sind, deren Umgehung den Erwerb einer kommerziellen Lizenz erfordert.

LF ist ein vollständig dezentrales System und ermöglicht die Bereitstellung eines einzelnen Datenspeichers in einem Schlüsselwertformat auf einer beliebigen Anzahl von Knoten. Die Daten werden auf allen Knoten synchronisiert und alle Änderungen werden vollständig auf allen Knoten repliziert. Alle Knoten in LF sind einander gleich. Das Fehlen separater Knoten, die den Betrieb des Speichers koordinieren, ermöglicht es Ihnen, einen einzigen Fehlerpunkt zu beseitigen, und das Vorhandensein einer vollständigen Kopie der Daten auf jedem Knoten verhindert den Verlust von Informationen, wenn einzelne Knoten ausfallen oder getrennt werden.

Um einen neuen Knoten mit dem Netzwerk zu verbinden, müssen Sie keine separaten Berechtigungen einholen – jeder kann seinen eigenen Knoten starten. Das Datenmodell von LF basiert auf einem gerichteten azyklischen Graphen (DAG), der die Synchronisierung vereinfacht und eine Vielzahl von Konfliktlösungs- und Sicherheitsstrategien ermöglicht. Im Gegensatz zu DHT-Systemen (Distributed Hash Table) ist die IF-Architektur zunächst für den Einsatz in unzuverlässigen Netzwerken konzipiert, in denen die ständige Verfügbarkeit von Knoten nicht gewährleistet ist. Zu den Einsatzgebieten von LF gehört die Schaffung möglichst überlebensfähiger Speichersysteme, in denen relativ kleine Mengen kritischer Daten gespeichert werden, die sich selten ändern. LF eignet sich beispielsweise für Schlüsselspeicher, Zertifikate, Identitätsparameter, Konfigurationsdateien, Hashes und Domänennamen.

Zum Schutz vor Überlastung und Missbrauch wird eine Begrenzung der Intensität von Schreibvorgängen auf den gemeinsam genutzten Speicher angewendet, die auf der Grundlage eines Arbeitsnachweises umgesetzt wird. Um Daten speichern zu können, muss ein Teilnehmer des Speichernetzwerks eine bestimmte Leistung erbringen Aufgabe, die leicht zu überprüfen ist, bei der Berechnung jedoch große Ressourcen erfordert (ähnlich der Organisation der Erweiterung von Systemen auf Basis von Blockchain und CRDT). Die errechneten Werte dienen auch als Zeichen bei der Lösung von Konflikten.

Alternativ kann im Netzwerk eine Zertifizierungsstelle eingerichtet werden, die den Teilnehmern kryptografische Zertifikate ausstellt, die das Recht einräumen, Datensätze ohne Bestätigung der Arbeit hinzuzufügen und bei der Lösung von Konflikten Vorrang einzuräumen. Standardmäßig steht der Speicher ohne Einschränkungen für den Anschluss beliebiger Teilnehmer zur Verfügung, optional können jedoch auf Basis eines Zertifikatssystems umzäunte private Speicher erstellt werden, in denen nur vom Eigentümer des Netzwerks zertifizierte Knoten Teilnehmer werden können.

Hauptmerkmale von LF:

  • Einfache Bereitstellung Ihres eigenen Speichers und Anbindung an bestehende öffentliche Speichernetzwerke.
  • Es gibt keinen Single Point of Failure und die Möglichkeit, jeden in die Wartung des Speichers einzubeziehen.
  • Hochgeschwindigkeitszugriff auf alle Daten und die Möglichkeit, auch nach einer Unterbrechung der Netzwerkkonnektivität auf die auf dem Knoten verbleibenden Daten zuzugreifen.
  • Ein universelles Sicherheitsmodell, das die Kombination verschiedener Konfliktlösungsmechanismen ermöglicht (lokale Heuristik, Gewichtung basierend auf abgeschlossener Arbeit, Berücksichtigung der Vertrauensstufe anderer Knoten, Zertifikate).
  • Eine flexible API zum Abfragen von Daten, die die Angabe mehrerer verschachtelter Schlüssel oder Wertebereiche ermöglicht. Möglichkeit, mehrere Werte an einen Schlüssel zu binden.
  • Alle Daten werden inklusive Schlüssel verschlüsselt gespeichert und verifiziert. Mit dem System kann die Speicherung vertraulicher Daten auf nicht vertrauenswürdigen Knoten organisiert werden. Datensätze, deren Schlüssel nicht bekannt sind, können nicht mit roher Gewalt ermittelt werden (ohne Kenntnis des Schlüssels ist es unmöglich, an die damit verbundenen Daten zu gelangen).

Zu den Einschränkungen gehören der Fokus auf die Speicherung kleiner, sich selten ändernder Daten, das Fehlen von Sperren und die garantierte Datenkonsistenz, hohe Anforderungen an CPU, Arbeitsspeicher, Speicherplatz und Bandbreite sowie eine ständige Vergrößerung der Speichergröße im Laufe der Zeit.

Source: opennet.ru

Kommentar hinzufügen