K dispozícii je vydanie LF 1.1.0, decentralizovaného replikovateľného úložiska dát vo formáte kľúč/hodnota. Projekt vyvíja spoločnosť ZeroTier, ktorá vyvíja virtuálny Ethernet switch umožňujúci spojenie hostiteľov a virtuálnych strojov umiestnených rôznymi poskytovateľmi do jednej virtuálnej lokálnej siete, ktorej účastníci si vymieňajú dáta v režime P2P. Kód projektu je napísaný v jazyku C. Nové vydanie je zaujímavé prechodom na voľnú licenciu MPL 2.0 (Mozilla Public License).
Predtým bol kód LF k dispozícii pod licenciou BSL (Business Source License), ktorá nie je voľná kvôli diskriminácii určitých kategórií používateľov. Licenciu BSL navrhli spoluzakladatelia MySQL ako alternatívu k modelu Open Core. Podstata BSL spočíva v tom, že kód pokročilej funkčnosti je pôvodne k dispozícii na úpravy, ale po určitú dobu sa môže používať bezplatne iba za dodržania dodatočných podmienok, na obídenie ktorých je potrebné zakúpenie komerčnej licencie.
LF je úplne decentralizovaný systém a umožňuje nasadiť jednotné úložisko dát vo formáte kľúč-hodnota nad ľubovoľným počtom uzlov. Na všetkých uzloch sú dáta uchovávané v synchronizovanom stave a všetky zmeny sa úplne replikujú medzi všetkými uzlami. Všetky uzly v LF sú si rovné. Absencia jednotlivých uzlov, ktoré koordinujú činnosť úložiska, umožňuje zbaviť sa jediného bodu zlyhania, a existencia úplnej kópie dát na každom uzle vylučuje stratu informácií pri poruche alebo odpojení jednotlivých uzlov.
Na pripojenie do siete nového uzla nie sú potrebné žiadne samostatné oprávnenia — ktokoľvek si môže spustiť svoj uzol. Model dát v LF je postavený na báze orientovaného acyklického grafu (DAG), čo uľahčuje synchronizáciu a umožňuje uplatňovať rôzne stratégie na riešenie konfliktov a zabezpečenie. Na rozdiel od systémov založených na distribuovaných hašovacích tabuľkách (DHT) je architektúra IF pôvodne navrhnutá na použitie v nespoľahlivých sieťach, kde nie je zaručená trvalá dostupnosť uzlov. Ako oblasti použitia LF sa spomína vytváranie maximálne odolných systémov ukladania, v ktorých sú uložené relatívne malé objemy kriticky dôležitých údajov, ktoré sa zriedka menia. Napríklad LF je vhodný na úložiská kľúčov, certifikátov, parametrov identifikácie, konfiguračných súborov, hashov a doménových mien.
Na ochranu pred preťaženiami a zneužitím sa používa obmedzenie intenzity operácií zápisu do spoločného úložiska, realizované na báze dôkazu o vykonanej práci (proof of work) — aby získali možnosť ukladania údajov, účastníci siete ukladania musia vykonať určitú úlohu, ktorá je ľahko overiteľná, ale vyžaduje veľké množstvo zdrojov pri výpočte (podobne ako organizácia rozšírenia systémov založených na blockchaine a CRDT). Vypočítané hodnoty sa taktiež používajú ako znak pri riešení konfliktov.
Ako alternatívu môže byť v sieti spustený certifikačný úrad na vydávanie účastníkom kryptografických certifikátov, ktoré im dávajú právo pridávať záznamy bez potvrdenia prácou a poskytujú prioritu pri riešení konfliktov. Predvolene je úložisko dostupné bez obmedzení na pripojenie akýchkoľvek účastníkov, ale na základe systému certifikátov môžu byť voliteľne vytvorené oddelené súkromné úložiská, ktorých účastníkmi sa môžu stať iba uzly overené majiteľom siete.
Hlavné vlastnosti LF:
- Jednoduchosť nasadenia vlastného úložiska a pripojenia k existujúcim verejným sieťam ukladania.
- Absencia jednotného bodu zlyhania a možnosť zapojiť do údržby úložiska všetkých záujemcov.
- Vysoká rýchlosť prístupu ku všetkým dátam a možnosť prístupu k údajom, ktoré ostávajú na vlastnom uzle, aj po porušení sieťovej konektivity.
- Univerzálny model zabezpečenia, ktorý umožňuje kombinovať rôzne mechanizmy riešenia konfliktov (lokálna heuristika, váha na základe vykonanej práce, zohľadnenie úrovne dôvery iných uzlov, certifikáty).
- Flexibilné API na dotazovanie údajov, ktoré umožňuje zadanie viacerých vnorených kľúčov alebo rozsahov hodnôt. Možnosť priradenia viacerých hodnôt k jednému kľúču.
- Všetky dáta sú uchovávané v zašifrovanej podobe, vrátane kľúčov, a overované. Systém môže byť použitý na organizovanie úložiska dôverných údajov na nedôveryhodných uzloch. Záznamy, ktorých kľúče nie sú známe, nemôžu byť určené metódou pokusu a omylu (bez znalosti kľúča nie je možné získať s ním súvisiace údaje).
Medzi obmedzeniami je zaznamenaná orientácia na uchovávanie malých, zriedkavo sa meniacich dát, absencia zámkov a garantovanej konzistencie dát, vysoké požiadavky na CPU, pamäť, diskový priestor a priepustnosť, a neustále zvyšovanie veľkosti úložiska v priebehu času.
Zdroj: opennet.ru
