A confiabilidade de um sistema, como o tempo médio entre falhas (MTBF), geralmente é calculada agregando a confiabilidade de seus componentes. No entanto, confiar em elementos intermitentes ou não confiáveis pode não ser a melhor ideia para criar um serviço confiável. Sistemas críticos que não podem se dar ao luxo de falhar, como aviões ou naves espaciais, são construídos com redundância em mente— duplicando componentes essenciais para aumentar a confiabilidade.
Os sistemas peer-to-peer (P2P) consistem em milhares ou milhões de pares semelhantes, que podem não ser confiáveis, mas podem ser facilmente duplicados. A duplicação simples pode ser cara, exigindo que um arquivo seja duplicado em vários pares para aumentar a disponibilidade. Felizmente, existem estratégias mais otimizadas para garantir a confiabilidade em redes P2P:
Códigos de correção de erros, como Codificação de Reed Solomon, foram projetados na década de 1950 para controlar e reparar erros em canais de comunicação ruidosos. A redundância é adicionada às informações transmitidas por meio de dados adicionais. O RAID-6 para unidades de disco emprega estratégias de redundância semelhantes.
No sistema de armazenamento de arquivos P2P da Hive, hiveDisk, os arquivos são divididos em fragmentos de dados distribuídos pela rede P2P. Fragmentos adicionais são criados para contabilizar o desaparecimento de pares ou o conteúdo destruído por falhas de hardware. Por exemplo, 100 fragmentos criptografados gerados a partir do seu arquivo e enviados para 100 pares podem exigir apenas 70 para reconstruir o arquivo original. Os fragmentos perdidos são regenerados quando os colegas saem. Com apenas 30% de sobrecarga, a probabilidade de não conseguir acessar o conteúdo é significativamente menor em comparação com a replicação simples.
Os colegas da rede P2P da Hive têm a mesma função, mas exibem comportamentos diferentes. Os padrões de uso e a disponibilidade variam ao longo do dia, entre colegas e entre geografias. O Hive aprende o comportamento de cada colega e posiciona cada fragmento de forma ideal para garantir que os dados sempre possam ser reconstruídos quando necessário.
Embora a correção direta de erros possa mitigar pares indisponíveis, alguns pares podem ter falhas permanentes de hardware. Os colegas que não se conectam há muito tempo ou não conseguem provar que têm dados válidos são marcados como colegas que falharam. A rede P2P da Hive começará a reconstruir seus dados em outro lugar.
Em conclusão, as redes P2P podem garantir a disponibilidade de dados em um grupo de pares heterogêneo e em rápida evolução, aproveitando várias estratégias. Utilizando a vantagem dos números, essas redes fornecem armazenamento estatístico em nuvem, garantindo a confiabilidade e a disponibilidade dos dados.
Para lidar com questões de segurança, especialmente com a distribuição de dados entre vários pares, a hiveNet adota uma abordagem abrangente para garantir a privacidade e a segurança dos dados. Antes de os dados serem enviados para a rede, eles passam por um processo de divisão em partes, compressão e criptografia usando algoritmos seguros. Esse processo garante que os dados permaneçam confidenciais e seguros, com apenas o proprietário dos dados tendo a capacidade de decifrar e acessar as informações originais. Além disso, o design do sistema permite a recuperação de dados com um protocolo de conhecimento zero, garantindo que, mesmo durante a fase de descriptografia e reconstrução, a segurança dos dados seja mantida.
Para regenerar fragmentos perdidos em uma rede P2P, a hiveNet emprega um processo em que os arquivos são inicialmente divididos em vários fragmentos, com fragmentos extras criados para contabilizar possíveis falhas ou saídas de nós. Esse método garante que, mesmo que alguns nós fiquem indisponíveis, a rede ainda possa reconstruir o arquivo original usando os fragmentos restantes. Esse sistema foi projetado para operar com uma margem de redundância, de forma que uma reconstrução completa do arquivo seja possível com apenas um subconjunto do total de fragmentos.
A correção de erros de encaminhamento em redes P2P como a hiveNet enfrenta desafios como gerenciar o armazenamento adicional e a largura de banda necessários para os dados de redundância. Essa sobrecarga é um fator crítico, pois afeta diretamente a eficiência e a relação custo-benefício da rede. A implementação da hiveNet aborda especificamente esses desafios otimizando o armazenamento e a transmissão de dados para minimizar os recursos extras necessários para manter a confiabilidade e garantir a disponibilidade dos dados.