en A fondo, En profundidad

IPFS – Un nuevo concepto de almacenamiento

IPFS son las siglas de Inter-Planetary File Sistem y es un sistema de almacenamiento DISTRIBUIDO para almacenamiento de ficheros, documentos, bases de datos, páginas web o cualquier cosa que se represente por ceros y unos

El sistema se basa en la idea de «possession and participation», es decir, lo mismo que una red de pares (P2P) tipo Torrent, emule etc. El sistema NO almacena el fichero en un único sitio sino que lo descompone en innumerables trozos identificables a través del HASH del fichero original. Es por esto por lo que al protocolo le resulta indiferente si se trata de un documento Word, un PDF , un MP3 o una película. Cuando uno baja un fichero se convierte también en distribuidor

El hecho que haya que bajar un fichero de muchos sitios significa que es muy difícil que alguien lo controle en su totalidad, el protocolo no lo permite. Esto aporta una serie de ventajas

  • Alta disponibilidad: La «descargabilidad» del fichero no depende de un único sitio
  • Dificulta el control de las autoridades: Tanto la fragmentación, como el uso de HASH’es hace más difícil el control por parte de organismos reguladores, multinacionales etc
  • Puede acelerar el acceso a los sitios ya que se prima el acceso a sitios cercanos. Los que tienen dinero usan múltiples centros de datos o usando CDN (red de distribución de contenidos), pero la mayoría no tenemos tanto

Una dirección IPFS tiene la forma «/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/misDocs/proyecto.pdf» siendo la parte en negrita denominada «content identifier«. Se trata de una etiqueta que apunta a un objeto en IPFS. No indica dónde está el contenido almacenado, sino que forma parte de un tipo de direccionamiento basado en el contenido en si. Esta basado en HASH’es criptográficos

Los links IPFS no cambian

La forma habitual de ver la ubicación de un fichero es algo parecido a

  • www.elmundo.es/deportes/finaldeliga.html
  • //mainserver/Users/manuelgarcia/musica/bbking.mp3
  • c:\\misDocumentos\videos\vacaciones2018.avi

Esa forma de localizar los objetos es en función de su UBICACION, es decir, tienes que saber dónde está para poder diseccionarlo y acceder a el. En el caso de IPFS el direccionamiento se basa en «lo que hay dentro del fichero», su contenido. El «content identifier» es un HASH del contenido lo que significa que es UNICO y siempre de la misma longitud sea cual sea el tamaño del contenido

Destacar que hablamos de CONTENIDO, no de FICHERO. El contenido puede apuntar a múltiples tipos de datos mientras que un fichero es lo que es y punto. Esto implica que el sistema necesita conocer ciertos METADATOS para poder recuperar el fichero cuando se hace referencia a el mediante su hash

Como la dirección está unívocamente ligada al contenido, los enlaces no pueden cambiar. Si el texto de una página web cambia, la nueva versión de la página tendrá un HASH distinto y por tanto un enlace diferente. Tampoco se puede MOVER contenido de un sitio a otro porque mientras no cambie el HASH del contenido no se obtiene un nuevo enlace. Mientras un solo miembro de la red tenga identificado el contenido éste seguirá existiendo (esto no encaja mucho en el mundo GDPR y lo relacionado con el derecho al olvido, aunque dudo mucho que al entorno criptoanarquista esto le importe algo)

IPFS puede ser una buena herramienta para realizar proyectos de colaboración al margen del control de organizaciones y/o de miradas indiscretas. Tiene la ventaja que puede ser todo lo público que se quiera o todo lo privado que se necesite

Enlaces: