¿Es posible proporcionar un servicio seguro y fiable utilizando nodos inseguros y poco fiables? A primera vista, crear un sistema fiable a partir de componentes poco fiables parece contradictorio. Sin embargo, al aprovechar la redundancia, la corrección directa de errores y el modelado inteligente del comportamiento de los nodos, es posible crear un servicio P2P seguro y confiable utilizando nodos poco confiables.
Los sistemas críticos, como los aviones o las naves espaciales, no pueden permitirse el lujo de fallar. Para garantizar la confiabilidad, estos sistemas se basan en el concepto de ingeniería de redundancia: la duplicación de componentes críticos. Afortunadamente, los sistemas peer-to-peer (P2P) están compuestos por miles o millones de nodos similares, que pueden duplicarse fácilmente, a pesar de su falta de fiabilidad.
Códigos de corrección de errores, como Codificación Reed Solomon, se inventaron en la década de 1950 para controlar y reparar errores en canales de comunicación ruidosos. Estos códigos añaden redundancia a la información transmitida, lo que permite la corrección de errores. Estrategias similares, como INCURSIÓN 6, se utilizan en unidades de disco para mejorar la fiabilidad.
En los sistemas de archivos P2P de Hive, los archivos se dividen en fragmentos de datos y se distribuyen por la red. Se crean fragmentos adicionales para tener en cuenta la desaparición de los nodos o los fallos de hardware. Por ejemplo, supongamos que se generan 100 fragmentos cifrados a partir de su archivo y se envían a 100 pares. Se generan de tal manera que solo se necesitan 70 para reconstruir el archivo original. Los fragmentos que faltan se regeneran tan pronto como descubrimos que los nodos se han ido. Con solo un 30% de sobrecarga, la probabilidad de no poder acceder al contenido es significativamente menor en comparación con las estrategias de replicación simples.
Todos los nodos de la red P2P de Hive tienen la misma función, pero se comportan de forma diferente. El ordenador de su habitación está apagado todas las noches, pero su NAS está encendido las 24 horas del día, los 7 días de la semana. Los patrones de uso y la disponibilidad varían a lo largo del día y varían de un nodo a otro y de un lugar a otro. HiveNet aprende el comportamiento de cada nodo y proporciona una ubicación óptima para garantizar que haya suficientes nodos disponibles cuando se necesitan datos.
La protección de la accesibilidad y la persistencia de los datos son vitales en los sistemas P2P. Los nodos pueden sufrir fallos de hardware y no estar disponibles para siempre. Los nodos que no respondan a la prueba de almacenamiento durante algún tiempo o para los que se notifique su falta de disponibilidad durante mucho tiempo se marcarán como nodos fallidos. La red P2P comenzará a reconstruir sus datos en otro lugar. Para proteger la privacidad de los datos, los datos se cifran antes de salir del dispositivo del usuario. Ni Hive ni ninguno de los nodos que almacenan estos datos podrán descifrar el contenido.
Al comprender e implementar la redundancia, la corrección de errores de reenvío y el modelado inteligente del comportamiento de los nodos, es posible crear un servicio P2P seguro y confiable utilizando nodos poco confiables. El sistema de archivos P2P de Hive es un excelente ejemplo de cómo estas estrategias se pueden combinar de manera eficaz para garantizar la persistencia, la accesibilidad y la privacidad de los datos en una red descentralizada.