lanzamiento del sistema de archivos descentralizado (InterPlanetary File System), que forma un almacenamiento global de archivos versionado, desplegado en forma de red P2P, compuesta por sistemas de participantes. IPFS combina ideas previamente implementadas en sistemas como Git, BitTorrent, Kademlia, SFS y Web, y se asemeja a un único 'enjambre' de BitTorrent (pares que participan en la distribución), intercambiando objetos de Git. IPFS se diferencia por una direccionamiento basado en el contenido, no en la ubicación, y nombres arbitrarios. El código de la implementación de referencia está escrito en el lenguaje Go y bajo las licencias Apache 2.0 y MIT.
En la nueva versión, se ha desactivado por defecto el transporte , que en la versión anterior se había propuesto como transporte , el protocolo y desarrollado dentro del marco de la pila de red modular para aplicaciones P2P. Como transporte de reserva se ha dejado TLSv1.3. Se recomienda a los administradores de nodos que utilizan versiones antiguas de IPFS (Go IPFS < 0.5 o JS IPFS < 0.47) actualizar el software para evitar disminuciones en el rendimiento.
En la nueva versión también se ha realizado la transición al uso por defecto de claves ed25519 en lugar de RSA. Se mantiene la compatibilidad con las antiguas claves RSA, pero ahora se generarán nuevas claves utilizando el algoritmo ed25519. El uso de claves públicas ed25519 integradas resuelve el problema de almacenamiento de claves públicas, por ejemplo, para la verificación de datos firmados al usar ed25519, solo se necesita información sobre PeerId. Los nombres de clave en las rutas IPNS ahora se codifican utilizando el algoritmo base36 CIDv1 en lugar de base58btc.
Además del cambio de tipo de clave por defecto, en IPFS 0.7 se ha añadido la posibilidad de rotación de claves de identidad. Para cambiar la clave de un nodo, ahora se puede ejecutar el comando «ipfs key rotate». También se han añadido nuevos comandos para importar y exportar claves («ipfs key import» y «ipfs key export»), que se pueden utilizar para respaldo, así como el comando «ipfs dag stat» para mostrar estadísticas sobre DAG (Gráficos Acíclicos Distribuidos).
Recordemos que en IPFS, el enlace para acceder a un archivo está directamente relacionado con su contenido e incluye un hash criptográfico del contenido. La dirección del archivo no puede renombrarse arbitrariamente; sólo puede cambiar tras un cambio en el contenido. De manera similar, no se puede modificar un archivo sin cambiar la dirección (la versión antigua permanecerá en la dirección anterior, mientras que la nueva será accesible a través de una dirección diferente, ya que el hash del contenido del archivo cambiará). Dado que el identificador del archivo cambia con cada modificación, para no tener que enviar nuevos enlaces cada vez, se ofrecen servicios para vincular direcciones permanentes que consideren diferentes versiones del archivo.MFS DNSLink ).
se utiliza una tabla hash distribuida ( DHTPara acceder al sistema de archivos global de IPFS, se puede utilizar el protocolo HTTP o montar un sistema de archivos virtual /ipfs mediante el módulo FUSE.
IPFS ayuda a resolver problemas como la fiabilidad del almacenamiento (si el almacenamiento original falla, el archivo se puede descargar de los sistemas de otros usuarios), la resistencia a la censura de contenido (para bloquearlo, se requeriría bloquear todos los sistemas de usuarios que tengan una copia de los datos) y la organización del acceso en ausencia de conexión directa a Internet o en condiciones de mala calidad de la conexión (se puede descargar datos a través de los participantes más cercanos en una red local). Además del almacenamiento de archivos y el intercambio de datos, IPFS puede utilizarse como base para crear nuevos servicios, por ejemplo, para operar sitios web que no dependen de servidores, o para crear sistemas distribuidos. .
Fuente: opennet.ru
