Zdecentralizowane przechowywanie LF zostało przetłumaczone na otwartą licencję

Dostępna jest wersja LF 1.1.0, zdecentralizowanego replikowanego magazynu danych w formacie klucz/wartość. Projekt jest rozwijany przez firmę ZeroTier, która opracowuje wirtualny przełącznik Ethernet, umożliwiający łączenie hostów i maszyn wirtualnych umieszczonych u różnych dostawców w jednej wirtualnej lokalnej sieci, której uczestnicy wymieniają się danymi w trybie P2P. Kod projektu został napisany w języku C. Nowa wersja wyróżnia się przejściem na wolną licencję MPL 2.0 (Mozilla Public License).

Wcześniej kod LF był dostępny na licencji BSL (Business Source License), nie będącej licencją wolną ze względu na dyskryminację określonych kategorii użytkowników. Licencja BSL została zaproponowana przez współzałożycieli MySQL jako alternatywa dla modelu Open Core. Istota BSL polega na tym, że kod rozszerzonej funkcjonalności początkowo jest dostępny do wprowadzania zmian, ale przez jakiś czas może być wykorzystywany bezpłatnie tylko pod warunkiem spełnienia dodatkowych warunków, których obejście wymaga zakupu licencji komercyjnej.

LF jest całkowicie zdecentralizowanym systemem i pozwala na uruchomienie jednego magazynu danych w formacie klucz-wartość na dowolnej liczbie węzłów. Na wszystkich węzłach dane są przechowywane w synchronizowanym stanie, a wszystkie zmiany są w pełni replikowane między wszystkimi węzłami. Wszystkie węzły w LF są sobie równe. Brak poszczególnych węzłów koordynujących pracę magazynu pozwala wyeliminować pojedynczy punkt awarii, a posiadanie pełnej kopii danych na każdym węźle wyklucza utratę informacji w przypadku awarii lub odłączenia pojedynczych węzłów.

Aby połączyć się z siecią nowego węzła, nie jest wymagane uzyskanie osobnych uprawnień — każdy chętny może uruchomić swój węzeł. Model danych w LF oparty jest na skierowanym acyklicznym grafie (DAG), co ułatwia synchronizację i pozwala stosować różne strategie rozwiązywania konfliktów oraz zapewnienia bezpieczeństwa. W przeciwieństwie do systemów opartych na rozproszonych tablicach haszujących (DHT), architektura IF została pierwotnie zaprojektowana do użytku w niezawodnych sieciach, w których stała dostępność węzłów nie jest gwarantowana. Jako obszary zastosowania LF wymienia się tworzenie maksymalnie odpornych systemów przechowywania, w których przechowywane są stosunkowo niewielkie ilości krytycznych danych, które rzadko się zmieniają. Na przykład, LF nadaje się do przechowywania kluczy, certyfikatów, parametrów identyfikacji, plików konfiguracyjnych oraz hashy. nazw domen.

Aby chronić przed przeciążeniem i nadużyciami, stosowane jest ograniczenie intensywności operacji zapisu w wspólnym magazynie, wdrożone na podstawie dowodu wykonania pracy (proof of work) — aby uzyskać możliwość zapisywania danych, uczestnik sieci przechowywania musi wykonać określone zadanie, które łatwo można zweryfikować, ale wymaga dużych zasobów obliczeniowych (analogicznie do organizacji rozbudowy systemów opartych na blockchainie i CRDT). Wyliczone wartości są również stosowane jako wskaźnik przy rozwiązywaniu konfliktów.

Alternatywnie, w sieci może zostać uruchomione centrum certyfikacji w celu wydawania uczestnikom certyfikatów kryptograficznych, dających prawo do dodawania rekordów bez potwierdzenia pracą i dających priorytet przy rozwiązywaniu konfliktów. Domyślnie magazyn jest dostępny bez ograniczeń dla przyłączania wszelkich uczestników, ale opcjonalnie na podstawie systemu certyfikatów mogą być tworzone odgrodzone prywatne magazyny, w których uczestnikami mogą być tylko węzły potwierdzone przez właściciela sieci.

Główne cechy LF:

  • Łatwość wdrożenia swojego magazynu i podłączenia się do istniejących publicznych sieci przechowywania.
  • Brak pojedynczego punktu awarii i możliwość zaangażowania w utrzymanie magazynu wszystkich chętnych.
  • Wysoka prędkość dostępu do wszystkich danych oraz możliwość odwołania się do danych pozostających na swoim węźle, nawet w przypadku przerwania łączności sieciowej.
  • Uniwersalny model bezpieczeństwa, pozwalający na łączenie różnych mechanizmów rozwiązywania konfliktów (lokalna heurystyka, waga oparta na wykonanej pracy, uwzględnienie poziomu zaufania innych węzłów, certyfikaty).
  • Elastyczne API do zapytań o dane, umożliwiające wskazanie wielu zagnieżdżonych kluczy lub zakresów wartości. Możliwość powiązania wielu wartości z jednym kluczem.
  • Wszystkie dane są przechowywane w zaszyfrowanej postaci, w tym klucze, i są weryfikowane. System może być używany do organizacji przechowywania poufnych danych na węzłach, którym nie można zaufać. Zapisy, klucze do których są nieznane, nie mogą być określone metodą brute-force (nie znając klucza, nie można uzyskać powiązanych z nim danych).

Z ograniczeń zaznaczono ułożenie na przechowywaniu niewielkich, rzadko zmieniających się danych, brak blokad i gwarantowanej spójności danych, wysokie wymagania dotyczące CPU, pamięci, przestrzeni dyskowej i przepustowości, ciągły wzrost rozmiaru magazynu w czasie.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster