Se acaba de realizar el lanzamiento de la nueva version del sistema de archivos descentralizado IPFS 0.7 (InterPlanetary File System), que forma un almacenamiento de archivos con versiones globales implementado en forma de una red P2P formada a partir de sistemas miembros.
IPFS combina ideas previamente implementadas en sistemas como Git, BitTorrent, Kademlia, SFS y la Web para parecerse a un solo enjambre de BitTorrent (pares que participan en la distribución) intercambiando objetos Git. IPFS se aborda por contenido en lugar de ubicación y nombres arbitrarios. El código de implementación de referencia está escrito en Go y tiene licencia Apache 2.0 y MIT.
Para quienes desconocen de IPFS, deben saber que en este sistema de archivos un enlace de archivo está directamente relacionado con su contenido e incluye un hash criptográfico del contenido. La dirección del archivo no se puede renombrar arbitrariamente, solo se puede cambiar después de cambiar el contenido. Del mismo modo, es imposible realizar un cambio en el archivo sin cambiar la dirección (la versión anterior permanecerá en la misma dirección y la nueva estará disponible a través de una dirección diferente).
Teniendo en cuenta que el identificador del archivo cambia con cada cambio, para no transferir nuevos enlaces cada vez, se brindan servicios para vincular direcciones permanentes que tengan en cuenta diferentes versiones del archivo (IPNS), o fijar un alias por analogía con FS y DNS tradicionales.
Después de descargar el archivo a su sistema, el participante se convierte automáticamente en uno de los puntos para su distribución. Se utiliza una tabla hash distribuida (DHT) para determinar los participantes de la red en los nodos de los cuales está presente el contenido de interés .
IPFS ayuda a resolver problemas tales como la confiabilidad del almacenamiento (si el almacenamiento original está deshabilitado, el archivo se puede descargar de los sistemas de otros usuarios), resistir la censura de contenido y también para poder organizar el acceso en ausencia de una conexión a Internet o si la calidad del canal de comunicación es deficiente.
¿Qué hay de nuevo en IPFS 0.7?
La nueva versión desactiva el transporte SECIO predeterminado, que fue reemplazado en la versión anterior por el transporte NOISE , basado en el protocolo Noise y desarrollado dentro del marco de la pila de red modular libp2p para aplicaciones P2P. TLSv1.3 se deja como transporte de respaldo. Se recomienda a los administradores de sitios que utilizan versiones anteriores de IPFS (Go IPFS <0.5 o JS IPFS <0.47) que actualicen el software para evitar la degradación del rendimiento.
La nueva versión también incluye la transición para usar las claves predeterminadas ed25519 en lugar de RSA. Las antiguas claves RSA todavía son compatibles, pero ahora se generarán nuevas claves utilizando el algoritmo ed25519.
El uso de las claves públicas integradas de ed25519 resuelve el problema de almacenar claves públicas, por ejemplo, para verificar los datos firmados cuando se usa ed25519, hay suficiente información sobre el PeerId. Los nombres de clave en las rutas IPNS ahora se codifican utilizando base36 CIDv1 en lugar de base58btc.
Además de cambiar el tipo de clave predeterminado, IPFS 0.7 agrega la capacidad de rotar las claves de identificación.
El comando «ipfs key rotate» ahora se puede utilizar para cambiar la clave de nodo. Además, se han agregado nuevos comandos para la importación y exportación de claves («importación de claves ipfs» y «exportación de claves ipfs»), que se pueden utilizar con fines de copia de seguridad, así como el comando «ipfs dag stat» para mostrar estadísticas sobre DAG (gráficos acíclicos distribuidos ).
Los scripts en go-ipfs-example-plugin se han actualizado. Este es un cambio radical en la forma en que las personas han estado creando complementos contra el binario dist.ipfs.io de go-ipfs y los complementos deberían actualizar sus procesos de compilación en consecuencia.
Finalmente si quieres conocer mas al respecto sobre esta nueva version, puedes consultar los detalles en el siguiente enlace.
¿Cómo usar IPFS en Linux?
Para quienes estén interesados en poder implementar IPFS en su sistema, podrán hacerlo siguiendo las instrucciones que se detallan en este artículo.