Explicación fácil del protocolo IPFS, la web distribuida

A pesar de que el protocolo HTTP ha permitido el desarrollo de Internet hasta el día de hoy, ha sido evidente que posee limitaciones que lo están volviendo anticuado.

Juan F. Bolaños
7 min readOct 31, 2018

El Sistema de Archivos Interplanetario (IPFS, por su siglas en inglés) es un protocolo de código abierto y una red diseñados para crear un método de almacenamiento y uso compartido de hipermedia en un sistema de archivos distribuido (de igual a igual o cliente-cliente).

La infraestructura actual de Internet no es tan descentralizada como idealmente se la concibió al inicio, asimismo, su funcionamiento se basa en algunos protocolos obsoletos que generan diversos problemas. IPFS propone resolver esos inconvenientes relacionados con el protocolo HTTP — Hyper Text Transfer Protocol, en inglés — que es el que permite la transmisión de datos a través de Internet por medio de las direcciones IP que identifican a cada uno de los servidores conectados a la red. Este fue inventado en 1991 y adoptado por los navegadores web en 1996, convirtiéndose en la columna vertebral de la arquitectura cliente-servidor.

Imagen: Decentralized Web Summit

A pesar de que el protocolo HTTP ha permitido el desarrollo de Internet hasta el día de hoy, ha sido evidente que posee limitaciones que lo están volviendo anticuado al cabo de 20 años de servicio. Podemos nombrar los siguientes problemas, entre muchos otros:

  1. Entrega ineficiente de contenido que se obtiene de la descarga de archivos desde un único servidor a la vez
  2. Ancho de banda costoso y duplicación de archivos que emplean innecesariamente valiosa capacidad de almacenamiento. Se calcula que, al transmitir vídeo en IPFS, se ahorraría el 60 % del costo del ancho de banda
  3. Incremento en la centralización de servidores y proveedores de servicios que conduce a un mayor control y censura de la información que circula en la red
  4. Frágil historial de la información almacenada teniendo en cuenta la corta vida de las páginas web — 100 días en promedio —
  5. Conexiones intermitentes y lentas

No es sorprendente que una tecnología con más de 20 años de antigüedad se esté volviendo significativamente obsoleta en una era de innovación tecnológica. IPFS — InterPlanetary File System, en inglés — proporciona el almacenamiento distribuido y el sistema de archivos que Internet necesita para alcanzar su verdadero potencial.

Explicación fácil del protocolo IPFS

En lugar de descargar archivos de servidores individuales — como en HTTP — , en IPFS, el usuario solicita a sus pares en la red que le proporcionen una ruta de acceso a un archivo en lugar de que este provenga de un servidor central. Esta condición permite la distribución de datos a gran escala con alta eficiencia, versiones históricas, redes resistentes a la censura y contenido asegurado y verificado a través de hashes criptográficos.

«IPFS está diseñado para descentralizar la web al mismo tiempo que aumenta la velocidad y la seguridad de Internet». — Peter Vowell

Se prevé que IPFS sea el reemplazo de HTTP, teniendo en cuenta que el primero, al ser una tecnología distribuida, no tiene un solo punto de falla, dicho de otro modo, al ser un sistema de archivos distribuido de igual a igual (P2P) permitiría la descentralización de Internet, logrando la distribución del poder de la gestión de la información que, actualmente, se encuentra concentrado en muy pocos actores.

Gracias a IPFS, los gobiernos totalitarios ya no podrían bloquear selectivamente el acceso a la información, lo que garantiza la igualdad de acceso en cualquier lugar del mundo. Los ataques DDoS serían irrelevantes ya que estos ocurren en sistema centralizados. Del mismo modo, IPFS permitiría mayores velocidades de conexión ya que los usuarios cercanos compartirían información en lugar de tener que solicitarla individualmente a servidores centralizados remotos.

Cómo funciona IPFS

IPFS conecta todos los equipos informáticos con el mismo sistema de archivos creando una red distribuida de nodos. En términos sencillos, actúa de manera similar al protocolo BitTorrent, salvo que, en lugar de compartir e intercambiar archivos, IPFS intercambia objetos git. Esto quiere decir que todo el sistema se basa en un simple almacén de datos de valor–clave. Es posible insertar cualquier tipo de contenido en el sistema, el usuario obtiene una clave que puede ser utilizada para recuperar el contenido en cualquier momento. Dicha clave es totalmente independiente del origen de la información, por tanto, IPFS realiza un direccionamiento del contenido en lugar de un direccionamiento de la ubicación realizado por HTTP. En lugar de buscar dónde se encuentra situado el contenido deseado (HTTP), simplemente se busca el contenido que se quiere sin importar su ubicación (IPFS).

Imagen: Stackpath

El diseño del protocolo IPFS proporciona versiones históricas de los archivos almacenados. Cada archivo y todos los bloques dentro de este reciben un hash criptográfico que actúan como un identificar único. Los archivos duplicados se eliminan de la red y se realiza un seguimiento del historial de versiones de cada archivo. Esto se traduce en un contenido siempre disponible, donde las páginas web no desaparecen debido a fallas en los servidores centralizados.

Ejemplo del funcionamiento de IPFS

Imaginemos un aula de clases llena de estudiantes que están compartiendo y editando un archivo de texto en Google Docs. A través de HTTP, cada vez que se edita el documento, la información se envía de regreso al servidor de origen, luego el archivo es enviado desde el servidor hacia todos los demás estudiantes que se encuentran editando el documento. Por medio de IPFS, la información no se envía al servidor central a cada momento, sino que se comparte localmente con todos los estudiante del aula. Los usuarios podrían seguir editando el documento de texto a pesar de que fallaran los servidores de Google. En otras palabras, IPFS elimina la necesidad de servidores centrales para entregar contenido a los usuarios.

Usos de IPFS

Ya existen algunos casos de uso importantes para IPFS y seguramente surgirán más a medida que el protocolo continúe desarrollándose. Por ejemplo, las imágenes de las publicaciones de Busy.org, los vídeos de DTube y el contenido de Akasha Project, red social distribuida basada en Ethereum se almacenan en este sistema de archivos. Los beneficios de esta tecnología se traducen en ahorro de recursos económicos relacionados con los costos de almacenamiento y ancho de banda. Por otro lado, este protocolo puede integrarse con diferentes cadenas de bloques. A continuación describiremos algunos de sus usos:

Almacenamiento de información

No es suficiente organizar la información del mundo, es necesario almacenarla de una manera inmutable y segura. IPFS elimina la duplicación de archivos — si se almacena contenido similar este se publicará una sola vez — , proporciona alto rendimiento y persistencia de la información almacenada distribuidamente.

Proveedores de servicio

El almacenamiento y transmisión de grandes cantidades de información bajo una arquitectura cliente-cliente ahorra millones de dólares en ancho de banda. IPFS proporciona entrega de contenido de igual a igual con total seguridad.

Países en desarrollo

Las redes de alta latencia son una importante barrera de entrada en los países en desarrollo. IPFS proporciona acceso resiliente a los datos, independientemente de la baja latencia o la conectividad a la red troncal.

Cadenas de bloques

IPFS y blockchain son la combinación perfecta. IPFS almacena contenido hipermedia que puede ser relacionado con una transacción registrada en una cadena de bloques que es permanente e inmutable. La marca de tiempo protege el contenido sin la necesidad de almacenar los archivos en la cadena de bloques.

¿Por qué se llama Sistema de Archivos Interplanetario?

Imaginemos que los humanos tenemos una base en Marte, la comunicación entre el planeta rojo y la Tierra es complicada, dependiendo de la ubicación de ambos planetas, una señal puede tardar entre cuatro y 24 minutos en transmitirse entre los dos planetas. Pensemos que uno de los habitantes de esa base usa su computadora para acceder al Internet terrestre. La solicitud de acceso a una página toma, al menos, cuatro minutos en viajar desde Marte hasta la Tierra, y la respuesta a esa solicitud tarda otros cuatro minutos en transmitirse desde la Tierra hasta Marte, dicho de otro modo, visitar una página web en Marte tomaría entre ocho y 48 minutos.

Imagen: Pixabay.com

Con IPFS es posible almacenar porciones significativas del Internet en Marte, entonces el usuario marciano en lugar de solicitar acceso al Internet terrestre, podría en pocos segundos descargar el contenido directamente de los nodos situados en el planeta rojo.

IPFS es un protocolo tanto técnico como conceptualmente complejo que va a revolucionar el intercambio de datos a través de Internet. El protocolo HTTP tuvo éxito por derecho propio y ayudó a Internet a alcanzar la gran etapa en la que se encuentra en la actualidad, pero están surgiendo nuevas tecnologías y la necesidad de una infraestructura reformada y distribuida se ha hecho evidente.

Este artículo fue publicado originalmente en Busy.org el 31 de octubre de 2018.

Juan Francisco Bolaños
@criptoEstratega

Referencias:

  • Curran, B. (9 de julio de 2018). What is Interplanetary File System IPFS? Complete Beginner’s Guide. Recuperado de http://bit.ly/2QdCoHj
  • Vowell, P. (15 de junio de 2016). What is the InterPlanetary File System? Recuperado de http://bit.ly/2Q8s0QR
  • Savjee, X. (14 de mayo de 2018). IPFS — Simply Explained. Recuperado de http://bit.ly/2EVNeQS

--

--

Juan F. Bolaños

Consultor, asesor, capacitador y desarrollador de negocios blockchain | Autor del libro Criptoeconomía | Conferencista TEDx y LaBitConf | AcademiaBlockchain.com