K dispozici je vydání LF 1.1.0, decentralizovaného replikovatelného úložiště dat ve formátu klíč/hodnota. Projekt vyvíjí společnost ZeroTier, která navrhuje virtuální Ethernetový switch umožňující spojení hostitelů a virtuálních strojů umístěných u různých poskytovatelů v jedné virtuální lokální síti, jejíž účastníci si vyměňují data v režimu P2P. Kód projektu je napsán v jazyce C. Nové vydání je zajímavé přechodem na otevřenou licenci MPL 2.0 (Mozilla Public License).
Dříve byl kód LF dostupný pod licencí BSL (Business Source License), která není otevřená kvůli diskriminaci jednotlivých kategorií uživatelů. Licence BSL byla navržena spoluzakladateli MySQL jako alternativa k modelu Open Core. Podstatou BSL je, že kód rozšířené funkčnosti je původně dostupný pro úpravy, ale po určitou dobu může být bezplatně používán pouze za dodržení dodatečných podmínek, jejichž obejití vyžaduje zakoupení komerční licence.
LF je plně decentralizovaný systém, který umožňuje nasadit jednotné úložiště dat ve formátu klíč-hodnota na libovolném počtu uzlů. Na všech uzlech jsou data uložena ve synchronizovaném stavu a všechny změny jsou plně replikovány mezi všemi uzly. Všechny uzly v LF jsou si navzájem rovny. Absence jednotlivých uzlů, které by koordinovaly práci úložiště, eliminuje jedinou slabé místo, a přítomnost úplné kopie dat na každém uzlu vylučuje ztrátu informací při selhání nebo odpojení jednotlivých uzlů.
Pro připojení k síti nového uzlu není potřeba získávat zvláštní oprávnění – každý, kdo chce, si může spustit svůj uzel. Model dat v LF je postaven na základě orientovaného acyklického grafu (DAG), což usnadňuje synchronizaci a umožňuje aplikovat různé strategie řešení konfliktů a zajištění bezpečnosti. Na rozdíl od systémů založených na distribuovaných hash tabulkách (DHT) je architektura IF od samého začátku navržena pro použití v nespolehlivých sítích, kde není zaručena trvalá dostupnost uzlů. Jako oblasti použití LF se uvádí vytváření co nejodolnějších systémů skladování, ve kterých se uchovávají relativně malé objemy kritických dat, která se mění jen zřídka. Například, LF je vhodná pro úložiště klíčů, certifikátů, identifikačních parametrů, konfiguračních souborů a hashů a doménových jmen.
Pro ochranu před přetížením a zneužíváním se používá omezení intenzity operací zápisu do společného úložiště, které je realizováno na základě důkazu práce (proof of work) – aby získal možnost ukládat data, musí účastník sítě úložiště vykonat určitý úkol, který je snadno kontrolovatelný, ale vyžaduje velké množství zdrojů při výpočtu (podobně jako organizace rozšíření systémů založených na blockchainu a CRDT). Vypočítané hodnoty se také používají jako indikátor při řešení konfliktů.
Alternativně může být v síti spuštěn certifikační úřad pro vydávání účastníkům kryptografických certifikátů, které poskytují právo na přidávání záznamů bez potvrzení prací a poskytují prioritu při řešení konfliktů. Ve výchozím nastavení je úložiště dostupné bez omezení pro připojení jakýchkoli účastníků, ale na základě systému certifikátů mohou být vytvářena izolovaná soukromá úložiště, jejichž účastníky se mohou stát pouze uzly ověřené vlastníkem sítě.
Hlavní vlastnosti LF:
- Jednoduchost nasazení vlastního úložiště a připojení k existujícím veřejným sítím úložiště.
- Nedostatek jediného bodu selhání a možnost zapojení do údržby úložiště všech zájemců.
- Vysoká rychlost přístupu ke všem datům a možnost přístupu k datům zůstávajícím na svém uzlu, i po porušení síťové konektivity.
- Univerzální bezpečnostní model, který umožňuje kombinovat různé mechanismy řešení konfliktů (lokální heuristika, váha na základě vykonané práce, zohlednění úrovně důvěry ostatních uzlů, certifikáty).
- Flexibilní API pro dotazování dat, které umožňuje specifikaci několika vnořených klíčů nebo rozsahů hodnot. Možnost přiřadit více hodnot k jednomu klíči.
- Všechna data jsou uchovávána v šifrované podobě, včetně klíčů, a ověřována. Systém může být použit k uspořádání ukládání citlivých dat na nedůvěryhodné uzly. Záznamy, jejichž klíče nejsou známy, nemohou být identifikovány metodou hrubé síly (bez znalosti klíče nelze získat s ním spojená data).
Mezi omezeními se vyzdvihuje orientace na ukládání malých, málo se měnících dat, absence zámků a garantované konzistence dat, vysoké požadavky na CPU, paměť, diskový prostor a šířku pásma, neustálý nárůst velikosti úložiště v čase.
Zdroj: opennet.ru
