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

Introduzido nova versão do sistema de arquivos descentralizado IPFS 0.5 (InterPlanetary File System), que forma um armazenamento de arquivos com versão global, implantado na forma de uma rede P2P formada a partir de sistemas participantes. O IPFS combina ideias previamente implementadas em sistemas como Git, BitTorrent, Kademlia, SFS e Web, e se assemelha a um único “enxame” de BitTorrent (peers participantes da distribuição) trocando objetos Git. Para acessar o IPFS FS global, o protocolo HTTP pode ser usado ou o FS virtual /ipfs pode ser montado usando o módulo FUSE. O código de implementação de referência está escrito em Go e distribuído por sob licenças Apache 2.0 e MIT. Adicionalmente está desenvolvendo uma implementação do protocolo IPFS em JavaScript que pode ser executada no navegador.

Key característica IPFS é um endereçamento baseado em conteúdo, no qual o link para acessar um arquivo está diretamente relacionado ao seu conteúdo (inclui um hash criptográfico do conteúdo). IPFS possui suporte integrado para controle de versão. O endereço do arquivo não pode ser renomeado arbitrariamente; ele só pode ser alterado após alterar o conteúdo. Da mesma forma, é impossível fazer uma alteração em um arquivo sem alterar o endereço (a versão antiga permanecerá no mesmo endereço, e a nova estará acessível através de um endereço diferente, pois o hash do conteúdo do arquivo será alterado). Considerando que o identificador do arquivo muda a cada alteração, para não transferir novos links a cada vez, são disponibilizados serviços de vinculação de endereços permanentes que levam em consideração diferentes versões do arquivo (IPNS), ou fixando um alias por analogia com FS e DNS tradicionais (MFS (Sistema de Arquivo Mutável) e DNSLink).

Por analogia com o BitTorrent, os dados são armazenados diretamente nos sistemas dos participantes que trocam informações no modo P2P, sem estarem vinculados a nós centralizados. Caso seja necessário receber um arquivo com determinado conteúdo, o sistema encontra os participantes que possuem esse arquivo e envia com seus sistemas em partes para diversos streams. Após carregar o arquivo em seu sistema, o participante se torna automaticamente um dos pontos para sua distribuição. Para identificar os membros da rede em cujos nós o conteúdo de interesse está presente usado tabela de hash distribuída (DHT).

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

Essencialmente, o IPFS pode ser visto como uma reencarnação distribuída da Web, endereçando por conteúdo em vez de localização e nomes arbitrários. Além de armazenar arquivos e trocar dados, o IPFS pode ser utilizado como base para a criação de novos serviços, por exemplo, para organizar o funcionamento de sites que não estão vinculados a servidores, ou para criar distribuídos aplicações.

O IPFS ajuda a resolver problemas como confiabilidade de armazenamento (se o armazenamento original cair, o arquivo pode ser baixado dos sistemas de outros usuários), resistência à censura de conteúdo (o bloqueio requer o bloqueio de todos os sistemas de usuários que possuem uma cópia dos dados) e organização do acesso na ausência de conexão direta com a Internet ou se a qualidade do canal de comunicação for ruim (você pode baixar dados através de participantes próximos na rede local).

Na versão IPFS 0.5 aumentou significativamente a produtividade e a confiabilidade. A rede pública baseada em IPFS ultrapassou a marca dos 100 mil nós e as alterações no IPFS 0.5 refletem a adaptação do protocolo para funcionar nessas condições. As otimizações tiveram como foco principal melhorar os mecanismos de roteamento de conteúdo responsáveis ​​pela busca, publicidade e recuperação de dados, bem como melhorar a eficiência da implementação tabela hash distribuída (DHT), que fornece informações sobre nós que possuem os dados necessários. O código relacionado ao DHT foi quase completamente reescrito, acelerando significativamente a pesquisa de conteúdo e as operações de definição de registros IPNS.

Em particular, a velocidade de realização de operações de adição de dados aumentou 2 vezes, anunciando novos conteúdos à rede 2.5 vezes,
recuperação de dados de 2 a 5 vezes e pesquisa de conteúdo de 2 a 6 vezes.
Mecanismos redesenhados para roteamento e envio de anúncios possibilitaram acelerar a rede em 2 a 3 vezes devido ao uso mais eficiente da largura de banda e da transmissão do tráfego em segundo plano. A próxima versão introduzirá o transporte baseado no protocolo QUIC, o que permitirá ganhos de desempenho ainda maiores ao reduzir a latência.

O trabalho do sistema IPNS (Sistema de Nomes Interplanetários), usado para criar links permanentes para conteúdos em mudança, foi acelerado e aumentou a confiabilidade. O novo pubsub de transporte experimental permitiu acelerar a entrega de registros IPNS em 30-40 vezes ao testar em uma rede com mil nós (um especial foi desenvolvido para experimentos Simulador de rede P2P). A produtividade do interlayer foi aproximadamente duplicada
Badger, usado para interagir com o sistema operacional FS. Com suporte para gravações assíncronas, o Badger agora é 25 vezes mais rápido que a antiga camada flatfs. O aumento da produtividade também afetou o mecanismo Troca de bits, usado para transferir arquivos entre nós.

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

Entre as melhorias funcionais, destaca-se a utilização de TLS para criptografar conexões entre clientes e servidores. Novo suporte para subdomínios no gateway HTTP – os desenvolvedores podem hospedar aplicativos descentralizados (dapps) e conteúdo da web em subdomínios isolados que podem ser usados ​​com endereços hash, IPNS, DNSLink, ENS, etc. Um novo namespace /p2p foi adicionado, que contém dados relacionados a endereços de pares (/ipfs/peer_id → /p2p/peer_id). Adicionado suporte para links “.eth” baseados em blockchain, que expandirão o uso de IPFS em aplicativos distribuídos.

A startup Protocol Labs, que apoia o desenvolvimento do IPFS, também desenvolve o projeto em paralelo. o FileCode, que é um complemento do IPFS. Embora o IPFS permita que os participantes armazenem, consultem e transfiram dados entre si, o Filecoin está evoluindo como uma plataforma baseada em blockchain para armazenamento persistente. O Filecoin permite que os usuários que possuem espaço em disco não utilizado o forneçam à rede mediante o pagamento de uma taxa e os usuários que precisam de espaço de armazenamento o comprem. Se a necessidade de um local desaparecer, o usuário poderá vendê-lo. Dessa forma, forma-se um mercado de espaço de armazenamento, no qual as liquidações são feitas em tokens Filecoin, gerado pela mineração.

Fonte: opennet.ru

Adicionar um comentário