LF, um armazenamento descentralizado de dados replicados

LF é um armazenamento descentralizado de dados replicados no formato de chave / valor que está sendo desenvolvido por ZeroTier, que desenvolve um switch Ethernet virtual que permite combinar hosts e máquinas virtuais localizadas em diferentes provedores em uma rede local virtual, cujos participantes trocam dados em modo P2P.

Anteriormente, o código LF estava disponível sob a licença BSL (Business Source License), que não é gratuita devido à discriminação contra certas categorias de usuários. A licença BSL foi proposta pelos co-fundadores do MySQL como uma alternativa ao modelo Open Core. A essência do BSL é que o código para a funcionalidade estendida está inicialmente disponível para modificação, mas por algum tempo ele pode ser usado gratuitamente somente se condições adicionais forem atendidas, para contornar o que a compra de uma licença comercial exige.

LF é um sistema totalmente descentralizado e permite implementar um único data warehouse no formato de valor-chave em um número arbitrário de nós. Todos os nós mantêm os dados sincronizados e todas as alterações são totalmente replicadas em todos os nós, além de todos os nós LF serem iguais. A ausência de nós separados coordenando o trabalho de armazenamento permite livrar-se de um único ponto de falha e a presença de uma cópia completa dos dados em cada nó elimina a perda de informações em caso de falha ou desligamento do indivíduo.

Para conectar um novo nó à rede, você não precisa obter permissões separadas; qualquer um pode iniciar seu próprio nó. O modelo de dados LF é baseado em um gráfico acíclico direcionado(DAG) que simplifica a sincronização e permite diferentes estratégias de segurança e resolução de conflitos.

Ao contrário dos sistemas baseados em tabelas de hash distribuídas (DHT), a arquitetura IF foi originalmente projetada para uso em redes não confiáveis, onde a disponibilidade constante de nós não é garantida. Os aplicativos LF incluem a criação dos sistemas de armazenamento mais resilientes que armazenam quantidades relativamente pequenas de dados de missão crítica que raramente mudam. Por exemplo, LF é adequado para keystores, certificados, credenciais, arquivos de configuração, hashes e nomes de domínio.

Para proteger contra sobrecarga e abuso, uma limitação da intensidade das operações é aplicada escrever para armazenamento compartilhado, implementado com base em uma prova de trabalho (prova de trabalho), para poder salvar os dados, um membro do armazenamento A rede deve realizar uma determinada tarefa, que é facilmente verificada, mas requer grande recursos computacionais (semelhantes para organizar a expansão de sistemas baseados em blockchain e CRDT). Os valores calculados também são usados ​​como um indicador para resolução de conflitos.

Como alternativa, uma autoridade de certificação pode ser lançada na rede emitir certificados criptográficos aos participantes que dão o direito de adicionar entradas sem confirmação do trabalho e dão prioridade na resolução de conflitos. Por padrão, o armazenamento está disponível sem restrições para conectar participantes, mas opcionalmente, dependendo do sistema de certificado, armazenamentos privados cercados podem ser criados, nos quais apenas nós certificados pelo proprietário da rede podem se tornar participantes.

Dentre as principais características do LF, destacam-se:

  • Facilidade de implantar seu armazenamento e conectar-se às redes de armazenamento públicas existentes.
  • A ausência de um único ponto de falha e a capacidade de envolver todos na manutenção da loja.
  • Acesso de alta velocidade a todos os dados e capacidade de acessar os dados deixados em seu nó, mesmo após uma falha de conectividade de rede.
  • Um modelo de segurança universal que permite combinar vários mecanismos de resolução de conflitos (heurísticas locais, ponderação com base no trabalho realizado, tendo em conta o nível de confiança de outros nós, certificados).
  • API flexível para consultar dados, permitindo que você especifique várias chaves aninhadas ou intervalos de valores. Capacidade de vincular vários valores a uma chave.
  • Todos os dados são armazenados criptografados, incluindo chaves, e verificados. O sistema pode ser usado para organizar o armazenamento de dados confidenciais em nós não confiáveis. Os registros, cujas chaves não são conhecidas, não podem ser determinados pelo método da força bruta (sem conhecer a chave, é impossível obter os dados associados a ela).
  • Entre las limitaciones, el enfoque está en almacenar datos pequeños que rara vez cambian, la ausencia de bloqueos y consistencia de datos garantizada, altos requisitos de CPU, memoria, espacio en disco y ancho de banda, y un aumento constante en el tamaño del almacenamiento ao longo do tempo.

Por fim, se você tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.