É possível fornecer um serviço seguro e confiável usando nós inseguros e não confiáveis? À primeira vista, construir um sistema confiável a partir de componentes não confiáveis parece contra-intuitivo. No entanto, aproveitando a redundância, a correção direta de erros e a modelagem inteligente do comportamento dos nós, é possível criar um serviço P2P seguro e confiável usando nós não confiáveis.
Sistemas críticos, como aviões ou naves espaciais, não podem se dar ao luxo de falhar. Para garantir a confiabilidade, esses sistemas contam com o conceito de engenharia de redundância — a duplicação de componentes críticos. Felizmente, os sistemas peer-to-peer (P2P) são compostos por milhares ou milhões de nós semelhantes, que podem ser facilmente duplicados, apesar de sua falta de confiabilidade.
Códigos de correção de erros, como Codificação de Reed Solomon, foram inventados na década de 1950 para controlar e reparar erros em canais de comunicação ruidosos. Esses códigos adicionam redundância às informações transmitidas, permitindo a correção de erros. Estratégias semelhantes, como INVASÃO 6, são usados em unidades de disco para aumentar a confiabilidade.
Nos sistemas de arquivos P2P da Hive, os arquivos são divididos em fragmentos de dados e espalhados pela rede. Estilhaços adicionais são criados para contabilizar o desaparecimento de nós ou falhas de hardware. Por exemplo, vamos supor que 100 fragmentos criptografados sejam gerados a partir do seu arquivo e enviados para 100 pares. Eles são gerados de forma que apenas 70 sejam necessários para reconstruir o arquivo original. Os fragmentos perdidos são regenerados assim que descobrimos a saída dos nós. Com apenas 30% de sobrecarga, a probabilidade de não conseguir acessar o conteúdo é significativamente menor em comparação com estratégias simples de replicação.
Todos os nós da rede Hive P2P têm a mesma função, mas se comportam de maneira diferente. O computador do seu quarto é desligado todas as noites, mas seu NAS está ligado 24 horas por dia, 7 dias por semana. Os padrões de uso e a disponibilidade diferem ao longo do dia e variam entre os nós e entre as geografias. O hiveNet aprende o comportamento de cada nó e fornece o posicionamento ideal para garantir a disponibilidade de nós suficientes quando os dados são necessários.
A persistência dos dados e a proteção da acessibilidade são vitais em sistemas P2P. Os nós podem apresentar falhas de hardware e permanecer indisponíveis para sempre. Os nós que não responderem ao comprovante de armazenamento por algum tempo ou para os quais a indisponibilidade tenha sido relatada por um longo período serão marcados como um nó com falha. A rede P2P começará a reconstruir seus dados em outro lugar. Para proteger a privacidade dos dados, os dados são criptografados antes de saírem do dispositivo do usuário. Nem o Hive nem nenhum dos nós que armazenam esses dados poderão descriptografar o conteúdo.
Ao compreender e implementar redundância, correção direta de erros e modelagem inteligente do comportamento dos nós, é possível criar um serviço P2P seguro e confiável usando nós não confiáveis. O sistema de arquivos P2P da Hive é um excelente exemplo de como essas estratégias podem ser combinadas de forma eficaz para garantir a persistência, acessibilidade e privacidade dos dados em uma rede descentralizada.