La confiabilidad de un sistema, como su tiempo medio entre fallos (MTBF), se calcula con frecuencia sumando la confiabilidad de sus componentes. Sin embargo, confiar en elementos intermitentes o poco confiables puede no ser la mejor idea para crear un servicio confiable. Se construyen sistemas críticos que no pueden permitirse el lujo de fallar, como los aviones o las naves espaciales teniendo en cuenta la redundancia—duplicar componentes críticos para mejorar la confiabilidad.
Los sistemas peer-to-peer (P2P) constan de miles o millones de pares similares, que pueden no ser confiables pero que se duplican fácilmente. La duplicación simple puede resultar costosa, ya que requiere que un archivo se duplique en varios pares para aumentar la disponibilidad. Afortunadamente, existen estrategias más óptimas para garantizar la confiabilidad en las redes P2P:
Códigos de corrección de errores, como Codificación Reed Solomon, se diseñaron en la década de 1950 para controlar y reparar errores en los canales de comunicación ruidosos. La redundancia se añade a la información transmitida mediante datos adicionales. El RAID-6 para unidades de disco emplea estrategias de redundancia similares.
En el sistema de almacenamiento de archivos P2P de Hive, hiveDisk, los archivos se dividen en fragmentos de datos distribuidos en la red P2P. Se crean fragmentos adicionales para tener en cuenta la desaparición de pares o el contenido destruido por fallos de hardware. Por ejemplo, es posible que 100 fragmentos cifrados generados a partir de un archivo y enviados a 100 pares solo requieran 70 para reconstruir el archivo original. Los fragmentos que faltan se regeneran cuando los compañeros se van. Con solo un 30% de sobrecarga, la probabilidad de no poder acceder al contenido es significativamente menor en comparación con la replicación simple.
Los compañeros de la red P2P de Hive tienen la misma función, pero muestran comportamientos diferentes. Los patrones de uso y la disponibilidad varían a lo largo del día, de un usuario a otro y de un lugar a otro. Hive aprende el comportamiento de cada compañero y coloca cada fragmento de forma óptima para garantizar que los datos siempre se puedan reconstruir cuando sea necesario.
Si bien la corrección de errores hacia adelante puede mitigar los pares no disponibles, algunos pares pueden experimentar fallas de hardware permanentes. Los compañeros que no se han conectado durante mucho tiempo o que no pueden demostrar que tienen datos válidos se marcan como compañeros fallidos. La red P2P de Hive empezará a reconstruir sus datos en otros lugares.
En conclusión, las redes P2P pueden garantizar la disponibilidad de datos en un grupo de pares heterogéneo y en rápida evolución al aprovechar varias estrategias. Aprovechando la ventaja de los números, estas redes proporcionan almacenamiento estadístico en la nube, lo que garantiza la confiabilidad y disponibilidad de los datos.
Para gestionar los problemas de seguridad, especialmente con la distribución de datos entre numerosos pares, hiveNet adopta un enfoque integral para garantizar la privacidad y la seguridad de los datos. Antes de subir los datos a la red, se someten a un proceso de división en fragmentos, compresión y cifrado mediante algoritmos seguros. Este proceso garantiza que los datos permanezcan confidenciales y seguros, y que solo el propietario de los datos tenga la capacidad de descifrar la información original y acceder a ella. Además, el diseño del sistema permite la recuperación de datos con un protocolo de conocimiento cero, lo que garantiza que, incluso durante la fase de descifrado y reconstrucción, se mantenga la seguridad de los datos.
Para regenerar los fragmentos que faltan en una red P2P, hiveNet emplea un proceso en el que los archivos se dividen inicialmente en varios fragmentos, y se crean fragmentos adicionales para tener en cuenta las posibles fallas o salidas de los nodos. Este método garantiza que, aunque algunos nodos dejen de estar disponibles, la red pueda reconstruir el archivo original utilizando los fragmentos restantes. Este sistema está diseñado para funcionar con un margen de redundancia, de modo que es posible reconstruir el archivo completo con solo un subconjunto del total de fragmentos.
La corrección de errores hacia adelante en redes P2P como hiveNet se enfrenta a desafíos como la administración del almacenamiento y el ancho de banda adicionales necesarios para los datos de redundancia. Esta sobrecarga es un factor crítico, ya que afecta directamente a la eficiencia y rentabilidad de la red. La implementación de hiveNet aborda específicamente estos desafíos al optimizar el almacenamiento y la transmisión de datos para minimizar los recursos adicionales necesarios para mantener la confiabilidad y garantizar la disponibilidad de los datos.