Decentraliserad LF-lagring har överförts till en öppen licens

LF 1.1.0, ett decentraliserat, replikerat nyckel-/värdedatalager, är nu tillgängligt. Projektet utvecklas av ZeroTier, som utvecklar en virtuell Ethernet-switch som låter dig kombinera värdar och virtuella maskiner som finns hos olika leverantörer i ett virtuellt lokalt nätverk, vars deltagare utbyter data i P2P-läge. Projektkoden är skriven på C-språk. Den nya utgåvan är känd för sin övergång till den kostnadsfria MPL 2.0-licensen (Mozilla Public License).

Tidigare var LF-koden tillgänglig under en BSL (Business Source License), som inte är gratis på grund av diskriminering av vissa kategorier av användare. BSL-licensen föreslogs av medgrundarna av MySQL som ett alternativ till Open Core-modellen. Kärnan i BSL är att koden för avancerad funktionalitet initialt är tillgänglig för modifiering, men kan under en tid användas kostnadsfritt endast om ytterligare villkor är uppfyllda, som kräver köp av en kommersiell licens för att kringgå.

LF är ett helt decentraliserat system och låter dig distribuera ett enda datalager i ett nyckel-värdeformat ovanpå ett godtyckligt antal noder. Data hålls synkroniserade över alla noder, och alla ändringar replikeras helt över alla noder. Alla noder i LF är lika med varandra. Frånvaron av separata noder som koordinerar driften av lagringen gör att du kan bli av med en enda felpunkt, och närvaron av en fullständig kopia av data på varje nod eliminerar förlusten av information när enskilda noder misslyckas eller kopplas bort.

För att ansluta en ny nod till nätverket behöver du inte skaffa separata behörigheter - vem som helst kan starta sin egen nod. LF:s datamodell är uppbyggd kring en riktad acyklisk graf (DAG), som förenklar synkronisering och möjliggör en mängd olika konfliktlösnings- och säkerhetsstrategier. Till skillnad från distribuerade hashtabellsystem (DHT) är IF-arkitekturen initialt designad för användning i opålitliga nätverk där den konstanta tillgängligheten av noder inte är garanterad. Bland tillämpningsområdena för LF nämns skapandet av de mest överlevbara lagringssystemen, där relativt små volymer av kritisk data lagras som sällan förändras. Till exempel är LF lämplig för nyckellager, certifikat, identitetsparametrar, konfigurationsfiler, hash- och domännamn.

För att skydda mot överbelastning och missbruk tillämpas en gräns för intensiteten av skrivoperationer till den delade lagringen, implementerad på basis av bevis på arbete - för att kunna spara data måste en deltagare i lagringsnätverket slutföra en viss uppgift, som är lätt att verifiera, men kräver stora beräkningsresurser (liknande att organisera utbyggnaden av system baserade på blockchain och CRDT). De beräknade värdena används också som tecken vid lösning av konflikter.

Som ett alternativ kan en certifikatutfärdare startas på nätverket för att utfärda kryptografiska certifikat till deltagare, vilket ger rätt att lägga till poster utan bekräftelse av arbete och prioriterar att lösa konflikter. Som standard är lagringen tillgänglig utan begränsningar för att ansluta några deltagare, men valfritt, baserat på ett certifikatsystem, kan inhägnade privata lagringar skapas, där endast noder certifierade av nätverkets ägare kan bli deltagare.

Huvuddragen hos LF:

  • Lätt att distribuera din egen lagring och ansluta till befintliga offentliga lagringsnätverk.
  • Det finns ingen enskild punkt av misslyckande och möjligheten att involvera alla i underhållet av lagringen.
  • Höghastighetsåtkomst till all data och möjlighet att få åtkomst till data som finns kvar på dess nod, även efter ett avbrott i nätverksanslutningen.
  • En universell säkerhetsmodell som låter dig kombinera olika konfliktlösningsmekanismer (lokal heuristik, vikt baserat på utfört arbete, med hänsyn till förtroendenivån för andra noder, certifikat).
  • Ett flexibelt API för sökning av data som gör att flera kapslade nycklar eller värdeintervall kan specificeras. Möjlighet att binda flera värden till en nyckel.
  • All data lagras i krypterad form, inklusive nycklar, och verifieras. Systemet kan användas för att organisera lagringen av konfidentiell data på opålitliga noder. Poster för vilka nycklarna inte är kända kan inte bestämmas med brute force (utan att känna till nyckeln är det omöjligt att få data som är associerade med den).

Begränsningar inkluderar fokus på lagring av små, sällan föränderliga data, frånvaron av lås och garanterad datakonsistens, höga krav på CPU, minne, diskutrymme och bandbredd, och en konstant ökning av lagringsstorlek över tid.

Källa: opennet.ru

Lägg en kommentar