Sistema de archivos interplanetario
# Sistema de archivos interplanetario

El Sistema de archivos interplanetario (del inglésː InterPlanetary File System - IPFS) es un protocolo y una red diseñados para crear un método p2p (peer-to-peer) direccionable por contenido para almacenar y compartir hipermedia en un sistema de archivos distribuido. IPFS fue diseñado inicialmente por Juan Benet, y ahora es un proyecto de código abierto desarrollado con la ayuda de la comunidad.

## Descripción

IPFS es un sistema de archivos distribuidos punto a punto que busca conectar todos los dispositivos informáticos con el mismo sistema de archivos. En cierto modo, IPFS es similar a la World Wide Web, pero IPFS podría verse como un solo enjambre de BitTorrent, intercambiando objetos dentro de un repositorio manejado con Git. En otras palabras, IPFS proporciona un modelo de almacenamiento en bloques de alto rendimiento y contenido direccionado, con hipervínculos dirigidos al contenido. Esto forma un grafo acíclico dirigido (DAG) y de Merkle generalizado. IPFS combina una tabla de hash distribuida, un intercambio de bloques incentivado y un espacio de nombres de autocertificación. IPFS no tiene un punto único de fallo, y los nodos no necesitan confiar entre sí, excepto para cada nodo al que están conectados. La distribución de contenido descentralizada ahorra ancho de banda y previene ataques DDoS, contra lo que HTTP tiene dificultades.

Se puede acceder al sistema de archivos de varias formas, incluso a través de FUSE y de HTTP. Se puede agregar un archivo local al sistema de archivos IPFS, poniéndolo a disposición del mundo. Los archivos se identifican por sus valores hash, por lo que es fácil de almacenar en caché. Se distribuyen usando un protocolo basado en BitTorrent. Otros usuarios que ven el contenido ayudan a brindar el contenido a otros en la red. IPFS tiene un servicio de nombres llamado IPNS, un espacio de nombres global basado en PKI, que sirve para construir cadenas de confianza, es compatible con otros NS y puede asignar DNS, .onion, .bit, etcétera a IPNS.

## Historia

En 2014, IPFS aprovechó el protocolo de cadena de bloques de Bitcoin y la infraestructura de red para almacenar datos inalterables, eliminar archivos duplicados en la red y obtener información de direcciones para acceder a los nodos de almacenamiento para buscar archivos en la red.

Existen implementaciones en Go y JavaScript, y la realización de una versión sobre Python está en progreso. La aplicación de IPFS en Go se considera la implementación de referencia mientras se desarrollan las especificaciones formales.

