Hasta ahora hemos visto una gran cantidad de servicios que tradicionalmente estaban centralizados en un servidor como el intercambio de archivos o la web. Ahora le toca el turno al alojamiento de imágenes.
ipfs.pics es un programa/servidor de código abierto que ofrece la posibilidad de almacenar imágenes de forma descentralizada. El objetivo del proyecto es de servir de alternativa libre a conocidos servicios como imgur o flickr. La gran ventaja de este esquema es que resulta muy difícil tirar el servicio y si hay suficientes servidores en marcha, puede llegar a ser imposible.
El servidor está basado en IPFS (InterPlanetary File System). La aplicación funciona como cualquier otro programa P2P, almacenando las imágenes en los ordenadores de quienes quieran compartir sus recursos a través de este servidor.
Este sistema de archivos distribuido tiene por objetivo conectar todos los dispositivos con hagan uso del mismo. Funciona como un programa P2P cuando se comparten archivos aunque su funcionamiento es algo más complejo. Para conocer más detalles, puedes echarle un vistazo a este documento
Cuando se sube una imagen a IPFS, se ofrece un hash (un código que identifica a un archivo casi unívocamente) en una cadena de 46 caracteres que forman su huella dactilar. Con este sistema resulta imposible alojar imágenes duplicadas ya que cuando se intenta subir un archivo se comprueba si su hash coincide con el de alguna imagen ya almacenada. Esta firma se encuentra al final de la dirección web de cada imagen. A continuación se muestra un ejemplo de una dirección con su hash:
https://ipfs.pics/ipfs/QmQVVN1TQsQv3caQyntVnVe7HmYekxWWTh4A8po6NA9us3
Para evitar que se abuse del sistema, cada servidor puede elegir qué quiere dejar a disposición del público de forma que ningún usuario puede forzar a ningún servidor para que almacene algo que el administrador ha rechazado en la configuración.
Básicamente, todo el trabajo duro lo hace IPFS. El servidor .pics se encarga de enfocarlo en las imágenes, ofreciendo además una herramienta para la administración del contenido. Con esta herramienta es posible eliminar imágenes que el administrador no considere adecuadas además de poder añadir etiquetas.
El código fuente del servidor ipfs.pics está disponible en su página de GitHub. Se puede usar el servicio a través de su página ipfs.pics.