Hoy en día, internet es una herramienta muy importante en nuestra vida cotidiana. La usamos para consumir todo tipo de contenido, para comunicarnos con familiares, amigos y compañeros, para aprender, para gestionar nuestras vidas…
HTTP es el protocolo de comunicación que gobierna Internet ahora y seguirá haciéndolo por mucho tiempo. Sin embargo, hay algún inconveniente, es el hecho de que el modelo actual está en gran parte centralizado.
El modelo actual de la web tal como la conocemos funciona manteniendo la información centralizada. Prácticamente todos los contenidos de internet están alojados en servidores webs concretos, con proveedores como AWS, GCP, Azure, DigitalOcean, entre otros.
Desde mi punto de vista, la centralización de proveedores no es un problema, ya que puedes balancear tus servicios entre proveedores o publicar tus contenidos en proveedores de alojamiento web locales más pequeños.
El problema de la centralización se basa en los cuellos de botella o mal funcionamiento de los proveedores de alojamiento web Cloud, o problemas con la conexión a internet en caso que tengas tu servicio On-Premise.
Quizás también la censura, aunque no es tan común, es un gran problema para algunos países, donde el diseño de la información centralizada, permiten empoderar a los proveedores o gobiernos a aplicar sus políticas sobre los contenidos publicados.
Nada que con el tiempo pueda solucionarse, pero cuando uno de estos servicios cae o deja de publicar tu contenido, tus servicios web dejan de funcionar.
Aunque haya muchas expectativas que nos hace seguir utilizando un modelo centralizado. Queremos que las páginas, imágenes y videos se carguen al instante, y lo queremos en alta calidad. La centralización de servidores permite a las empresas tener el control completo sobre la rapidez con que puede entregar todo este contenido. Aunque eso podría estar a punto de cambiar con soluciones como IPFS, el Sistema de Archivos Interplanetario.
¿Qué es IPFS (Interplanetary File System)?
IPFS (Sistema de Archivos Interplanetario), tal como indica su nombre es un proyecto muy ambicioso. Tiene como objetivo hacer la web completamente distribuida, ejecutándola en una red P2P que funciona de manera similar a cómo funciona BitTorrent.
Para ver cómo IPFS logra estos objetivos, primero hay que entender cómo accedemos al contenido en la web ahora mismo. Pongamos como ejemplo descargar una imagen de Internet.
Al descargar una imagen de internet, le indicas a tu navegador exactamente dónde encontrar la imagen. En este caso la ubicación de la imagen es la dirección IP o el nombre del dominio. Esto se denomina direccionamiento “basado en la ubicación”. En este caso le estas indicando al navegador dónde obtener la imagen, pero si esa ubicación no está accesible, en otras palabras, el servidor está caído, no podrás obtener la imagen.
Sin embargo, hay una alta probabilidad de que alguien más tenga descargada esa imagen desde antes y que todavía tenga una copia de ella, y sin embargo, tu navegador no puede acceder a esa copia de la imagen en otro navegador.
Para solucionar esto, IPFS pasa de direccionar “basado en ubicación” a direccionar “basado en contenido”. En lugar de decir “dónde” encontrar un recurso, solo dices “qué” es lo que quieres.
¿Cómo funciona IPFS?
Cada archivo tiene un hash único. Cuándo quieres descargar un archivo concreto, le preguntas a la red: “¿Quién tiene el archivo con este hash?” y alguien en la red IPFS te lo proporcionará.
Ahora podrías pensar: “¿Cómo sé que esa persona no ha manipulado el archivo?” Como cada archivo dispone de su hash único para solicitar el archivo, el sistema verifica el archivo recibido volviendo a generar un hash y comparándolo con el solicitado, para así garantizar que la recepción de cada archivo es legítimo.
Otra buena característica de usar hashes para encontrar un archivo es evitar la duplicación de contenido. Cuando varias personas publican el mismo archivo en IPFS, solo se creará una vez, permitiendo que la red IPFS sea mucho más eficiente.
Conclusión
IPFS es un proyecto muy ambicioso que podría conducir a un verdadero internet descentralizado. Puedes ver proyectos como DTube, una web básicamente como YouTube, pero completamente distribuida y alojada en un el sistema IPFS. Con IPFS es posible almacenar grandes partes de internet en Marte o donde quiera que sea. De forma que si alguien ya solicitó un contenido que quieres descargar, puedes descargarlo directamente desde el nodo más cercano, que puede ser tu vecino o desde Marte.