O armazenamento descentralizado LF foi traduzido para uma licença aberta

Está disponível a versão LF 1.1.0, um armazenamento de dados descentralizado e replicável no formato chave/valor. O projeto é desenvolvido pela ZeroTier, que cria um switch Ethernet virtual que permite unir hosts e máquinas virtuais alocados em diferentes provedores em uma única rede local virtual, onde os participantes trocam dados em modo P2P. O código do projeto é escrito em C. A nova versão é notável pela mudança para a licença livre MPL 2.0 (Mozilla Public License).

Anteriormente, o código LF estava disponível sob a licença BSL (Business Source License), que não é livre devido à discriminação de certas categorias de usuários. A licença BSL foi proposta pelos cofundadores do MySQL como uma alternativa ao modelo Open Core. A essência da BSL é que o código da funcionalidade estendida é inicialmente disponível para modificação, mas por um certo período, pode ser utilizado gratuitamente apenas sob condições adicionais, cuja violação requer a aquisição de uma licença comercial.

LF é um sistema totalmente descentralizado e permite implantar um único armazenamento de dados no formato chave-valor em um número arbitrário de nós. Em todos os nós, os dados são mantidos em estado sincronizado, e todas as alterações são totalmente replicadas entre todos os nós. Todos os nós no LF são iguais entre si. A ausência de nós separados que coordenam o funcionamento do armazenamento elimina um único ponto de falha, e a existência de uma cópia completa dos dados em cada nó exclui a perda de informações em caso de falha ou desconexão de nós individuais.

Para conectar-se à rede de um novo nó, não é necessário obter permissões separadas — qualquer pessoa interessada pode iniciar seu próprio nó. O modelo de dados no LF é baseado em um grafo acíclico orientado (DAG), que simplifica a sincronização e permite a aplicação de várias estratégias de resolução de conflitos e segurança. Diferente dos sistemas baseados em tabelas hash distribuídas (DHT), a arquitetura IF foi projetada desde o início para uso em redes não confiáveis, onde a disponibilidade contínua dos nós não é garantida. Como aplicações do LF, menciona-se a criação de sistemas de armazenamento altamente resilientes, nos quais são mantidos volumes relativamente pequenos de dados críticos que mudam raramente. Por exemplo, o LF é adequado para armazenamentos de chaves, certificados, parâmetros de identificação, arquivos de configuração, hashes e domínios.

Para proteger contra sobrecargas e abusos, é aplicada uma limitação na taxa de operações de gravação em um armazenamento compartilhado, implementada com base na prova de trabalho (proof of work) — para obter a possibilidade de salvar dados, um participante da rede de armazenamento deve realizar uma determinada tarefa que é facilmente verificável, mas exige grandes recursos de computação (semelhante à organização de sistemas de expansão baseados em blockchain e CRDT). Os valores computados também são utilizados como indicadores na resolução de conflitos.

Como alternativa, uma autoridade certificadora pode ser iniciada na rede para emitir certificados criptográficos aos participantes, conferindo o direito de adicionar registros sem confirmação de trabalho e proporcionando prioridade na resolução de conflitos. Por padrão, o armazenamento está disponível sem restrições para a conexão de quaisquer participantes, mas opcionalmente, com base no sistema de certificados, podem ser criados armazenamentos privados isolados, cujos participantes podem ser apenas nós certificados pelo proprietário da rede.

Principais características do LF:

  • Simplicidade na implantação do seu armazenamento e conexão a redes públicas de armazenamento existentes.
  • Ausência de um único ponto de falha e possibilidade de envolvimento de todos que desejam manter o armazenamento.
  • Alta velocidade de acesso a todos os dados e a capacidade de acessar dados que permanecem em seu nó, mesmo após a quebra da conectividade da rede.
  • Modelo de segurança universal que permite combinar diferentes mecanismos de resolução de conflitos (heurística local, peso com base no trabalho realizado, consideração do nível de confiança de outros nós, certificados).
  • API flexível para solicitação de dados, permitindo a especificação de várias chaves aninhadas ou intervalos de valores. Capacidade de associar múltiplos valores a uma única chave.
  • Todos os dados são armazenados de forma criptografada, incluindo chaves, e verificados. O sistema pode ser usado para organizar o armazenamento de dados confidenciais em nós que não são confiáveis. Registros cujas chaves não são conhecidas não podem ser determinados por força bruta (sem conhecer a chave, não é possível obter os dados relacionados).

As limitações incluem a orientação para o armazenamento de pequenos dados raramente alterados, a ausência de bloqueios e garantias de consistência dos dados, altas exigências de CPU, memória, espaço em disco e largura de banda, além do aumento contínuo do tamanho do armazenamento ao longo do tempo.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster