O almacenamento LF descentralizado foi transferido a unha licenza aberta

LF 1.1.0, un almacén de datos de clave/valor descentralizado e replicado, xa está dispoñible. O proxecto está a ser desenvolvido por ZeroTier, que está a desenvolver un switch Ethernet virtual que permite combinar hosts e máquinas virtuais situadas en diferentes provedores nunha rede local virtual, cuxos participantes intercambian datos en modo P2P. O código do proxecto está escrito en linguaxe C. A nova versión destaca pola súa transición á licenza gratuíta MPL 2.0 (Mozilla Public License).

Anteriormente, o código LF estaba dispoñible baixo unha BSL (Business Source License), que non é gratuíta debido á discriminación contra determinadas categorías de usuarios. A licenza BSL foi proposta polos cofundadores de MySQL como unha alternativa ao modelo Open Core. A esencia de BSL é que o código de funcionalidade avanzada está inicialmente dispoñible para a súa modificación, pero durante algún tempo pódese usar de xeito gratuíto só se se cumpren condicións adicionais, que requiren a compra dunha licenza comercial para evitar.

LF é un sistema completamente descentralizado e permítelle implantar un único almacén de datos nun formato de clave-valor encima dun número arbitrario de nós. Os datos mantéñense sincronizados en todos os nodos e todos os cambios replícanse totalmente en todos os nodos. Todos os nodos en LF son iguais entre si. A ausencia de nodos separados que coordinen o funcionamento do almacenamento permítelle desfacerse dun único punto de fallo e a presenza dunha copia completa dos datos en cada nodo elimina a perda de información cando os nodos individuais fallan ou están desconectados.

Para conectar un novo nodo á rede, non é necesario obter permisos separados: calquera pode iniciar o seu propio nodo. O modelo de datos de LF está construído arredor dun gráfico acíclico dirixido (DAG), que simplifica a sincronización e permite unha variedade de estratexias de seguridade e resolución de conflitos. A diferenza dos sistemas de táboas hash distribuídas (DHT), a arquitectura IF está deseñada inicialmente para o seu uso en redes pouco fiables onde non se garante a dispoñibilidade constante de nós. Entre as áreas de aplicación da LF, menciónase a creación dos sistemas de almacenamento máis supervivibles, nos que se almacenan volumes relativamente pequenos de datos críticos que raramente cambian. Por exemplo, LF é axeitado para almacéns de claves, certificados, parámetros de identidade, ficheiros de configuración, hash e nomes de dominio.

Para protexerse contra a sobrecarga e o abuso, aplícase un límite na intensidade das operacións de escritura no almacenamento compartido, implementado en base á proba de traballo; para poder gardar datos, un participante na rede de almacenamento debe completar un determinado tarefa, que se verifica facilmente, pero require grandes recursos á hora de calcular (semellante á organización da expansión dos sistemas baseados en blockchain e CRDT). Os valores calculados tamén se usan como sinal á hora de resolver conflitos.

Como alternativa, pódese lanzar unha autoridade de certificación na rede para emitir certificados criptográficos aos participantes, dando dereito a engadir rexistros sen confirmar o traballo e dando prioridade á resolución de conflitos. Por defecto, o almacenamento está dispoñible sen restricións para conectar ningún participante, pero de forma opcional, baseándose nun sistema de certificados, pódense crear almacenamentos privados cercados, nos que só poden converterse en participantes nodos certificados polo propietario da rede.

Características principais de LF:

  • Fácil de implementar o seu propio almacenamento e conectarse ás redes de almacenamento público existentes.
  • Non hai un único punto de falla e a capacidade de implicar a todos no mantemento do almacenamento.
  • Acceso de alta velocidade a todos os datos e a posibilidade de acceder aos datos que quedan no seu nodo, mesmo despois dunha interrupción na conectividade da rede.
  • Un modelo de seguridade universal que permite combinar varios mecanismos de resolución de conflitos (heurísticas locais, peso baseado no traballo realizado, tendo en conta o nivel de confianza doutros nodos, certificados).
  • Unha API flexible para consultar datos que permite especificar varias claves aniñadas ou intervalos de valores. Capacidade de vincular varios valores a unha tecla.
  • Todos os datos almacénanse en forma cifrada, incluídas as claves, e verifícanse. O sistema pódese usar para organizar o almacenamento de datos confidenciais en nós non fiables. Os rexistros dos que non se coñecen as claves non se poden determinar pola forza bruta (sen coñecer a clave é imposible obter os datos asociados a ela).

As limitacións inclúen un foco no almacenamento de datos pequenos que raramente cambian, a ausencia de bloqueos e a coherencia de datos garantida, altos requisitos de CPU, memoria, espazo en disco e ancho de banda e un aumento constante do tamaño de almacenamento ao longo do tempo.

Fonte: opennet.ru

Engadir un comentario