¿Qué es IPFS?
IPFS significa Sistema de Archivos Interplanetario, un sistema de intercambio de archivos descentralizado peer-to-peer. A diferencia del esquema común de Internet (HTTP/HTTPS), IPFS es un protocolo de Internet (o sistema) que permite a las personas acceder a contenido sin la necesidad de un servidor centralizado. IPFS proporciona una experiencia Web similar a HTTP/HTTPS, pero con tiempos de respuesta más rápidos y mayor confiabilidad. También desplaza el poder y el control de Internet de las manos de las grandes compañías tecnológicas.
El concepto central de IPFS es la descentralización. Es decir, el contenido basado en IPFS, como sitios web y datos, no “viven” en una única ubicación como una granja de servidores o un centro de datos. Más bien, el contenido de IPFS se distribuye y replica entre varias a muchas ubicaciones, llamadas nodos, en Internet. Los nodos son creados y mantenidos por los usuarios individuales en sus propias computadoras. Y estos usuarios pueden ser voluntarios que albergan contenido de forma gratuita, o usuarios que son compensados por la hospedaje vía la criptomoneda Filecoin.
¿Qué es una Internet descentralizada?
También llamada peer-to-peer (P2P), una Internet descentralizada es una red de computadoras conectadas sin un controlador único. Todos los nodos son igualmente capaces de proporcionar cualquier contenido solicitado por los usuarios. El contenido no está obligado a estar en una sola ubicación o en un solo servidor.
Uno de esos sistemas P2P es IPFS, que es un protocolo alternativo (un sistema estandarizado para formatear y manejar datos) al más familiar HTTP. IPFS es el “cómo” de un sistema de Internet, no el “qué”. Define un conjunto de procedimientos para almacenar y compartir archivos en toda la Internet. No incluye el hardware real o las redes de enrutamiento.
¿Cómo funciona IPFS?
IPFS permite que el contenido sea detectable sin un directorio centralizado (en contraste con HTTP y su sistema DNS). Esto cambia el paradigma de Internet, en el sentido de que el contenido solicitado no se mapea por dónde se almacena, sino por qué es. Piensa en el contenido de IPFS como cambiar el comando de “Estoy buscando los datos almacenados en este lugar” a “Estoy buscando estos datos en particular.”
Cuando alguien publica contenido (un sitio web o archivo de datos) en Internet utilizando el protocolo IPFS, inicialmente reside en la computadora de esa persona. La computadora es ahora un nodo. Cuando otro usuario en la red IPFS quiere ver ese sitio web, hace una solicitud al sistema IPFS, descubre en qué computadora se encuentra y lo recupera. Si el segundo usuario es un nodo, el contenido puede ahora vivir en la primera computadora y en la segunda. A medida que el contenido continúa siendo accesado, se agrega a más nodos.
Los nodos se añaden y eliminan con el tiempo por diversas razones, por lo que, aunque el contenido se mantiene intacto y actualizado, la fuente del contenido no permanece igual. IPFS crea y gestiona un identificador de contenido (CID) para cada pieza de contenido. Un CID es un identificador único producido por hashing el contenido (usando el contenido para crear su propio código único). Una tabla del sistema mapea el CID a las ubicaciones del contenido. Si el contenido es añadido o eliminado de un nodo, esa tabla se actualiza. Cuando un usuario solicita contenido, IPFS se refiere a la tabla para encontrar las ubicaciones.
Si un CID apunta a más de un nodo, IPFS elige el nodo que puede proporcionar el contenido más rápido (a menudo geográficamente el más cercano) y dirige la solicitud del usuario a ese nodo. Los CID también sirven como una herramienta de verificación de calidad que asegura que el contenido en el nodo no esté corrompido. Si los datos en un archivo de contenido son cambiados o corrompidos, el CID cambiará. Cuando el CID del contenido almacenado no coincide exactamente con el CID solicitado, indica que los datos han sido cambiados.
¿Cómo difiere IPFS de HTTP?
HTTP fue creado en los primeros días de Internet y fue diseñado para funcionar bien en un entorno más pequeño caracterizado por almacenamiento centralizado, relativamente pocas rutas de red y archivos de datos pequeños. Hoy en día, HTTP enfrenta crecientes presiones debido al crecimiento masivo de Internet.
Algunos han sugerido que P2P, incluyendo IPFS, debería ser la base para la próxima generación de Internet. Los defensores de IPFS destacan múltiples beneficios de IPFS sobre HTTP/HTTPS:
- Rendimiento: Al no tener contenido almacenado en una ubicación centralizada, IPFS evita los problemas de disponibilidad de ancho de banda y cuellos de botella que a veces ocurren bajo HTTP en situaciones de alta demanda. IPFS es capaz de responder a las solicitudes de contenido utilizando varias fuentes y distribuyendo el tráfico a través de múltiples rutas, mejorando así el tiempo de respuesta en algunas situaciones.
- Resiliencia: La configuración común de HTTP de una única ubicación o una sola copia de contenido la deja vulnerable a interrupciones o datos corrompidos. Al almacenar múltiples copias del contenido en múltiples ubicaciones, IPFS elimina estos riesgos.
- Accesibilidad: La censura es casi imposible—almacenar contenido en múltiples ubicaciones que cambian regularmente hace que sea muy difícil, si no imposible, para una entidad como un gobierno o una corporación bloquear el acceso a ese contenido. La característica de IPFS de múltiples ubicaciones también crea lo que equivale a un archivo de contenido multitudinario, donde no se pierde ningún contenido de forma permanente.
Mientras tanto, los defensores de HTTP/HTTPS señalan que IPFS aún no ha sido probado y tiene algunas debilidades notables que necesitarían ser abordadas:
- Dado que el contenido está almacenado en múltiples lugares, es difícil eliminar contenido que los gobiernos o las fuerzas del orden consideren malo o ilegal (como terrorismo o trata de personas).
- Actualmente IPFS no es un lugar seguro para almacenar datos personales, lo cual es un problema para entidades reguladas como bancos, la industria de la salud, gobiernos o cualquier lugar donde se pueda almacenar información personal de un individuo.
- El enfoque de IPFS es en el almacenamiento y la recuperación de archivos. Esto significa que puede soportar aplicaciones web simples que se ejecutan localmente, pero aún no tiene la estructura para soportar aplicaciones web complejas que requieren interacción con sistemas de back-end.
- IPFS depende de voluntarios para proporcionar sus computadoras a la red, por lo que su crecimiento podría estar determinado por la tasa de incorporación de nuevos participantes.
- Alojar un nodo reduce tu privacidad—el mundo puede ver el tráfico que pasa a través de tu nodo, como qué sitios estás alojando y solicitando.
- Alojar un nodo aumenta el tráfico a tu computadora, utilizando así una porción de tu ancho de banda disponible.