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.[1] IPFS fue diseñado inicialmente por Juan Benet, y ahora es un proyecto de código abierto desarrollado con la ayuda de la comunidad.[2][3]
![](../I/Wikipedia-logo-v2.svg.png.webp)
InterPlanetary File System | ||
---|---|---|
Parte de Web3 | ||
![]() | ||
Información general | ||
Tipo de programa | P2P, Red de distribución de contenidos | |
Autor | Juan Benet | |
Desarrollador | Protocol Labs | |
Licencia | Licencia MIT | |
Enlaces | ||
.
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.[4] 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.[5]
Se puede acceder al sistema de archivos de varias formas, incluso a través de FUSE y de HTTP.[4] 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.[6]
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.[5]
Existen implementaciones en Go[7] y JavaScript,[8] y la realización de una versión sobre Python está en progreso.[9] La aplicación de IPFS en Go se considera la implementación de referencia[10] mientras se desarrollan las especificaciones formales.[11]
Véase también
Referencias
- Finley, Kurt (20 de junio de 2016). «The Inventors of the Internet Are Trying to Build a Truly Permanent Web». Wired.
- «The IPFS Project». Ipfs.io. Consultado el 11 de septiembre de 2015.
- «IPFS README - Who designed it?». Github.io. Consultado el 11 de septiembre de 2015.
- Allison, Ian (13 de octubre de 2016). «Juan Benet of IPFS talks about Filecoin». Ibtimes.co.uk. Consultado el 25 de octubre de 2017.
- «IPFS Protocol Selects Ethereum Over Bitcoin, Prefers Ethereum Dev Community». Cointelegraph.com. Consultado el 25 de octubre de 2017.
- «IPFS README». Github.com. Consultado el 11 de septiembre de 2015.
- «ipfs/go-ipfs». GitHub (en inglés). Consultado el 13 de febrero de 2017.
- «ipfs/js-ipfs». GitHub (en inglés). Consultado el 13 de febrero de 2017.
- «ipfs/py-ipfs». GitHub (en inglés). Consultado el 13 de febrero de 2017.
- «IPFS Docs». ipfs.io (en inglés). Consultado el 13 de febrero de 2017.
- «ipfs/specs». GitHub (en inglés). Consultado el 13 de febrero de 2017.