Atualização significativa do sistema de arquivos descentralizado global IPFS 0.5

Apresentado nova versão do sistema de arquivos descentralizado IPFS 0.5 (InterPlanetary File System), que forma um armazenamento global versionado de arquivos, implementado como uma rede P2P, composta por sistemas de participantes. O IPFS combina ideias previamente implementadas em sistemas como Git, BitTorrent, Kademlia, SFS e Web, e se assemelha a um único 'swarm' BitTorrent (pares que participam na distribuição), trocando objetos Git. Para acessar o sistema de arquivos global, o IPFS pode usar o protocolo HTTP ou montar um sistema de arquivos virtual /ipfs usando o módulo FUSE. O código da implementação de referência é escrito na linguagem Go e é distribuído sob as licenças Apache 2.0 e MIT. Adicionalmente está em desenvolvimento existe uma implementação do protocolo IPFS em JavaScript, que pode funcionar no navegador.

Chave característica O IPFS é uma endereçamento baseado em conteúdo, onde o link para acessar um arquivo está diretamente relacionado ao seu conteúdo (inclui um hash criptográfico do conteúdo). O IPFS possui suporte embutido a versionamento. O endereço de um arquivo não pode ser renomeado arbitrariamente, ele só pode mudar após a alteração do conteúdo. Da mesma forma, não é possível modificar um arquivo sem alterar seu endereço (a versão antiga permanecerá no mesmo endereço, enquanto a nova estará disponível através de outro endereço, uma vez que o hash do conteúdo do arquivo mudará). Considerando que o identificador do arquivo muda a cada alteração, para evitar sempre passar novos links, serviços são fornecidos para vincular endereços permanentes, que levam em conta diferentes versões do arquivo (IPNS), ou para fixar um apelido, semelhante aos FSS e DNS tradicionais, (MFS (Sistema de Arquivos Mutáveis) e DNSLink).

Assim como no BitTorrent, os dados são armazenados diretamente nos sistemas dos participantes, que trocam informações em modo P2P, sem depender de nós centralizados. Quando é necessário obter um arquivo com um conteúdo específico, o sistema encontra participantes que possuem esse arquivo e o fornece a partir de seus sistemas em partes, através de múltiplos fluxos. Após o download do arquivo para seu sistema, o participante se torna automaticamente um dos pontos de distribuição. Para identificar os participantes da rede nos nós onde o conteúdo de interesse está presente, é utilizado uma tabela hash distribuída (DHT).

Atualização significativa do sistema de arquivos descentralizado global IPFS 0.5

Essencialmente, o IPFS pode ser visto como uma reencarnação distribuída da Web com endereçamento por conteúdo, ao invés de localização e nomes arbitrários. Além de armazenar arquivos e trocar dados, o IPFS pode ser usado como base para a criação de novos serviços, por exemplo, para organizar o funcionamento de sites que não estejam vinculados a servidores ou para criar distribuídos applications.

O IPFS ajuda a resolver desafios como a confiabilidade do armazenamento (se o armazenamento original falhar, o arquivo pode ser carregado de sistemas de outros usuários), a resistência à censura de conteúdo (para bloquear, seria necessário bloquear todos os sistemas de usuários que tenham uma cópia dos dados) e a organização do acesso na ausência de uma conexão direta à internet ou em caso de má qualidade da conexão (pode-se baixar dados através dos participantes mais próximos na rede local).

Na versão IPFS 0.5 aumentou significativamente o desempenho e a confiabilidade do trabalho. A rede pública baseada em IPFS superou a marca de 100 mil nós e as alterações no IPFS 0.5 refletem a adaptação do protocolo para operar em tais condições. As otimizações concentraram-se principalmente na melhoria dos mecanismos de roteamento de conteúdo, responsáveis pela busca, anúncio e recuperação de dados, bem como no aumento da eficiência da implementação. tabela hash distribuída (DHT), que fornece informações sobre os nós que possuem os dados solicitados. O código relacionado ao DHT foi praticamente reescrito, o que acelerou significativamente as operações de pesquisa de conteúdo e a determinação de registros IPNS.

Em particular, a velocidade de execução das operações de adição de dados aumentou em 2 vezes, o anúncio de novo conteúdo na rede em 2,5 vezes,
a recuperação de dados de 2 a 5 vezes, e a pesquisa de conteúdo de 2 a 6 vezes.
Os mecanismos revisados de roteamento e envio de anúncios permitiram acelerar o funcionamento da rede em 2-3 vezes, aproveitando de forma mais eficiente a largura de banda e a transmissão de tráfego em segundo plano. No próximo lançamento, está prevista a implementação de transporte baseado no protocolo QUIC, o que permitirá um aumento ainda maior no desempenho devido à redução das latências.

O funcionamento do sistema IPNS (Inter-Planetary Name System) foi acelerado e a confiabilidade aumentada, sendo utilizado para criar links permanentes para conteúdo que muda. O novo transporte experimental pubsub possibilitou acelerar a entrega de registros IPNS em 30-40 vezes durante os testes em uma rede com mil nós (um simulador P2P foi especialmente desenvolvido para os experimentos). simulador de rede P2P). O desempenho da camada foi aumentado em aproximadamente duas vezes.
Badger, utilizado para interagir com o sistema operacional. Com o suporte a operações de gravação assíncronas, o Badger agora funciona 25 vezes mais rápido do que a antiga camada flatfs. O aumento de desempenho também afetou o mecanismo Bitswap, utilizado para transferir arquivos entre nós.

Atualização significativa do sistema de arquivos descentralizado global IPFS 0.5

Entre as melhorias funcionais, destaca-se a utilização de TLS para criptografar as conexões entre clientes e servidores. Houve suporte a subdomínios no gateway HTTP — os desenvolvedores podem hospedar aplicativos descentralizados (dapps) e conteúdo web em subdomínios isolados, que podem ser utilizados com endereços hash, IPNS, DNSLink, ENS etc. Um novo namespace /p2p foi adicionado, onde foram movidos os dados relacionados aos endereços dos pares (/ipfs/peer_id → /p2p/peer_id). O suporte a links " .eth " baseado em blockchain foi adicionado, o que expandirá a aplicação do IPFS em aplicativos distribuídos.

A startup Protocol Labs, que apoia o desenvolvimento do IPFS, também está desenvolvendo paralelamente o projeto FileCoin, que é uma camada sobre o IPFS. Se o IPFS permite que os participantes salvem, solicitem e transfiram dados entre si, o Filecoin se desenvolve como uma plataforma baseada em tecnologias blockchain para armazenamento permanente. O Filecoin permite que usuários com espaço em disco não utilizado ofereçam esse espaço à rede por uma recompensa, enquanto usuários que precisam de espaço para armazenamento podem comprá-lo. Se a necessidade de espaço desaparecer, o usuário pode vendê-lo. Dessa forma, forma-se um mercado de espaço de armazenamento, cujos pagamentos são feitos em tokens Filecoin, gerados através da mineração.

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