- IPFS, como se conoce al Sistema de Archivos Interplanetarios, es una solución planteada por Juan Benet y es desarrollada por su Protocol Labs, que podría marcar el futuro de Internet en el mundo
- Al igual que Git plantea una plataforma descentralizada de repositorios, IPFS quiere destacar con un método similar, pero más enfocado al almacenamiento de archivos y la recuperación de datos
Si llevas tiempo entre ordenadores, probablemente has escuchado hablar alguna vez de un concepto muy especial. El de Sistema de Archivos Interplanetarios o IPFS, que tantas dudas suele generar entre quienes recién lo ubican. Justamente por este motivo es que, a continuación, repasamos a qué es y cómo es su funcionamiento.
IPFS, ¿clave para una Internet descentralizada?
Lo primero que debemos destacar, en este sentido, es que el Sistema de Archivos Interplanetarios o IPFS no es otra cosa que una red distribuida de intercambio de archivos entre pares, que muchos analistas ya señalan como una de las mejor posicionadas para convertirse en la base de una nueva web descentralizada.
Esto es debido a que el almacenamiento de datos detrás de Internet, en estos días, tiene que ver más con servidores. Físicos o virtuales, en granjas de servidores masivas o plataformas en la nube, pero siempre dentro de una firma.
Cualquiera que quiera acceder a ellos, no tendrá más remedio que establecer una conexión HTTPS en su navegador hasta el servidor apropiado. En otras palabras, sucede que el servidor está en el centro de todo lo que ocurre. Esta es una simplificación, por supuesto, pero describe el modelo general en el que funciona Internet por ahora.
Y si bien existen soluciones como servidores espejo y redes de entrega de contenidos, las ubicaciones son finitas. IPFS pretende romper con eso, trabajando como una red descentralizada, algo similar a lo que hace el servicio Git. Git es de los sistemas descentralizados más usados, en su caso de repositorios. IPFS también quiere serlo, pero en su caso en todo lo referente al almacenamiento de archivos y la recuperación de datos.
Origen y funcionamiento de IPFS
IPFS fue creado por Juan Benet y es desarrollado por Protocol Labs, la empresa que él mismo fundó a tal fin. Como decíamos, tomó la naturaleza descentralizada de Git y las técnicas distribuidas de ahorro de ancho de banda de torrents y creó un mecanismo que funciona en todos los nodos de la red IPFS. Y aquí lo tenemos.
La web descentralizada de IPFS está formada por todos los ordenadores conectados a ella, conocidos como nodos. Los nodos pueden almacenar datos y hacerlos accesibles para cualquier persona que los solicite.
Si alguien demanda un archivo o bien una página web, se almacena en caché una copia del archivo en su nodo. Mientras más y más personas soliciten esos datos, existirán más y más copias en caché de esta información.
Para que esto sea posible, la web descentralizada utiliza el enrutamiento basado en contenido, como una opción muy interesante a las direcciones web de siempre. Es la forma en la que se establecen estas direcciones y ubicaciones. Como ventaja, eso permite reducir la latencia, el ancho de banda necesario y molestos cuellos de botella.
Por otro lado, alejarse del modelo centralizado significa que no hay un punto focal para que los piratas ataquen. Eventualmente, eso podría tranquilizar a quienes desconfíen de que otros tengan acceso a sus datos privados. Realmente, nadie más podrá acceder a tu información, aunque compartas muchas más cosas que antes.
¿Cómo se almacena todo entonces?
Los datos se almacenan en una serie de fragmentos con un tamaño de 256 KB, que son denominados objetos IPFS. Los archivos más grandes que eso se dividen en tantos objetos IPFS como sea necesario para dividir su contenido. Un objeto IPFS por archivo contiene enlaces a todos los demás objetos IPFS que componen ese archivo.
Cuando se suma un archivo a la red, se le otorga una ID de hash única de 24 caracteres, llamada ID de contenido. Así es como se identifica y referencia dentro de la red IPFS, y se sigue su rastro en el tiempo.
Supongamos que almacenas un archivo en tu nodo y alguien lo solicita y lo descarga directamente desde ese nodo. La próxima vez, cuando un tercero lo demande, podrá obtenerlo tanto de tu nodo, como del de la segunda persona. Cuantas más personas descarguen el archivo, más nodos habrá para ventaja de todos.
La recolección de elementos no utilizados eliminará periódicamente los objetos almacenados en caché sin utilidad. No obstante, puedes anclar archivos a tu nodo si, por alguna razón en especial, pretendes conservarlo aún. Pagando por un almacenamiento externo, incluso, tendrás todos tus archivos anclados sin limitaciones.
Si algo en su sitio web se vuelve viral y genera oleadas masivas de tráfico a su sitio web, las páginas se almacenarán en caché en todos los nodos que recuperan esas páginas. Esas páginas almacenadas en caché se utilizarán para ayudar a atender más solicitudes de páginas, haciendo que la demanda esté cubierta aunque aumente mucho.