IPFS, sistema de ficheros distribuido para la web
2021/03/01 Leturia Azkarate, Igor - Informatikaria eta ikertzaileaElhuyar Hizkuntza eta Teknologia Iturria: Elhuyar aldizkaria
Hace dos años escribimos en este mismo apartado de esta revista el artículo titulado Descentralizando la web. Allí decíamos cómo surgió una tela de araña para que la información y los contenidos estuvieran descentralizados y distribuidos, pero con el tiempo la mayor parte se fue concentrando en unos pocos nodos (y en pocas empresas): webs de redes sociales, programas de mensajería, servicios de ofimática online, buscadores y otros pocos sitios web extendidos. Esta concentración plantea grandes problemas: acumulación de riqueza, dependencia, posibilidades de censura... Para muchos de ellos se estaban creando alternativas descentralizadas (Mastodón, Pixelfed, Peertube, Nextcloud, Matrix...) que permitían distribuir la información en distintas comunidades, cada una de ellas está en sus servidores, pero a su vez pueden comunicarse entre sí.
Sin embargo, todos estos servicios descentralizados están basados en ordenadores denominados servidores. De hecho, el protocolo HTTP, base de las comunicaciones de la web, es una comunicación de tipo cliente-servidor, en la que hay ordenadores servidores que almacenan información (potentes ordenadores en la infraestructura de la web) y ordenadores clientes que consumen información. Y por depender de estos servidores se puede reducir la velocidad, interrumpir, censura... Obviamente, el problema es menor en el modelo descentralizado que en el centralizado, ya que está repartido en más servidores, pero existe un problema.
IPFS o InterPlanetary File System
Para solucionar este problema surge el protocolo IPFS y el software libre, cuyas siglas significan InterPlanetary File System. Este protocolo sirve para alojar y servir ficheros y contenidos duplicados en muchos ordenadores de todo el planeta, incluidos los de los usuarios.
A la vista de esta definición, muchas son las redes P2P, como eDonkey o BitTorrent. Y en realidad es como ellos, pero tiene varias diferencias. Por un lado, ha integrado diversas nuevas tecnologías que no existían en el momento de su creación (control de versiones, sistema propio de nombres de dominio, conceptos de Blockchain, cifrado...). Por otro lado, surge de la necesidad de mejorar la web y no de que el contenido audiovisual (películas, música...) protegido por copyright (películas, música...) pueda bajarse y compartirse de una manera legalmente incierta (aunque no pueda evitarse su uso). Por último, el IPFS está pensado para la web como sustituto o complemento del protocolo HTTP e integrarlo en los navegadores de la web.
Con IPFS, cualquier persona que desee poner a disposición un contenido en la web (un documento, un vídeo, una web...), no tendrá que conseguir un servidor de alojamiento y subir el contenido a él: El IPFS creará un hash criptográfico para este contenido (una serie de caracteres identificativos del contenido) y se copiará el contenido a otros ordenadores de la red IPFS, de manera que los contenidos creados por terceros se copiarán en uno mismo. Además del contenido, se distribuye en la red un documento llamado DHT (Distributed Hash Table o Hash Tabla Distribuida) que indica el ordenador en el que se encuentra cada contenido para saber a quién pedirlo cuando alguien necesita un contenido. Cuando se requiera un contenido determinado, se pedirá simultáneamente a varios nodos y se obtendrá más rápido. Y como el contenido se encuentra en varios nodos se evita la censura.
En la web habitual se identifica un contenido con su URL, es decir, http(s):// más el dominio más la ruta del fichero, y el dominio está asociado a una dirección IP del servidor. Pues bien, en el sistema IPFS, ipfs:// más el hash mencionado más la ruta del fichero, se identifica un recurso que saldrá de la tabla DHT en qué nodo se encuentra. Por otro lado, al tratarse de una larga serie de caracteres difícil de recordar el hash, se utiliza el DNSLink para asignar nombres más fáciles de recordar a los hash. Además, IPFS está pensado para guardar todo el historial de la web. Si hemos actualizado un contenido concreto que hay en el mismo, no se borra el contenido antiguo, seguirá en la red junto con el nuevo. Pero para el nuevo contenido se crea un nuevo hash y, si se desea, los anteriores también pueden estar accesibles mediante el sistema denominado IPNS.
Disponible
IPFS nació en 2015 y para utilizar el sistema se crearon unas herramientas básicas para contenidos creativos y unos accesorios para navegadores. Sin embargo, no era fácil que los usuarios ordinarios lo utilicen. Para dar respuesta a ello, diversos agentes de la web pusieron en marcha los pasos a IPFS, que han permitido utilizar IPFS prácticamente desde el principio. Por ejemplo, en el referéndum celebrado el 1 de octubre de 2017 para la independencia catalana, tras el cierre de la página web del referéndum por parte del Gobierno español, se colocaron en el IPFS las listas en las que cada ciudadano debía votar.
En enero de 2021, el navegador Brave ha implementado la capacidad de bajada de direcciones ipfs://, y se espera que otros vayan sumándose en breve. Hasta el momento, el uso del IPFS ha sido muy reducido y experimental, pero se puede pensar que al ponerlo a disposición en los navegadores subirá mucho uso.
Sin embargo, de momento no es posible pasar la web actual completa al IPFS. De hecho, la mayor parte de la web está constituida por sitios web dinámicos, es decir, páginas que se crean dinámicamente por programación en cada momento: según las palabras de búsqueda y según el historial y perfil del usuario; las que proporcionan a cada usuario registrado la línea de tiempo de cada día de una red social… El número de combinaciones posibles es enorme y muy variable, y es imposible que todas ellas entren y se dupliquen constantemente en el IPFS. Sus creadores afirman que básicamente el IPFS también está pensado para contenidos dinámicos, pero de momento no está nada claro que sea posible en la práctica. Por ello, hasta que haya una solución para las webs dinámicas, al menos, el IPFS no sustituirá totalmente a HTTP sino que ambos convivirán.
Sin embargo, si las webs estáticas, los contenidos estáticos de las webs dinámicas, la información que algún gobierno quiere prohibir, etc. pasan al IPFS y pueden beneficiarse de sus ventajas, podemos decir que ya va a ser un gran cambio para la web. La verdadera revolución es que se pueda utilizar el IPFS junto con el protocolo HTTP, el único modo de poner a disposición y distribuir los contenidos desde la creación de la telaraña.
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia