¿Cuál es la diferencia entre Swarm e IPFS?

IPFS parece un poco lento en las dapps existentes. ¿Swarm cargará contenido más rápido? Además, ¿hay una hoja de ruta para el enjambre?

Respuestas (5)

Ambas cosas

  • De igual a igual
  • Red de intercambio de datos en la que los archivos son direccionados por el hash de su contenido (contenido direccionable)
  • Sistemas de transferencia de archivos descentralizados
  • Se puede usar para almacenar HTML, CSS y JavaScript que implementan una aplicación sobre los otros sistemas descentralizados. Se puede utilizar para almacenar archivos estáticos (arbitrarios).
  • Algunos implican que Swarm puede ser mejor para fragmentos pequeños/baja latencia.

Porque BitTorrent es bueno para entregar grandes cantidades de datos con alto rendimiento y alta latencia. Swarm TAMBIÉN es bueno para entregar pequeños fragmentos de datos con baja latencia, lo cual es necesario para algunas aplicaciones anticipadas: Dr. Daniel Nagy, desarrollador principal del equipo de Swarm.

  • Una "ventaja" de Swarm son los incentivos incorporados (dentro de Ethereum).

  • Algunos sienten que Swarm está "reinventando la rueda" y que ipfs y filecoin deberían usarse en su lugar. Filecoin es el incentivo.

IPFS

IPFS es un sistema de archivos distribuidos peer-to-peer que busca conectar todos los dispositivos informáticos con el mismo sistema de archivos. De alguna manera, IPFS es similar a la Web, pero IPFS podría verse como un único enjambre de BitTorrent, intercambiando objetos dentro de un repositorio de Git. En otras palabras, IPFS proporciona un modelo de almacenamiento en bloque con direcciones de contenido de alto rendimiento, con hipervínculos con direcciones de contenido. Esto forma un Merkle DAG generalizado, una estructura de datos sobre la cual se pueden construir sistemas de archivos versionados, cadenas de bloques e incluso una Web permanente. IPFS combina una tabla hash distribuida, un intercambio de bloques incentivado y un espacio de nombres de autocertificación. IPFS no tiene un único punto de falla y los nodos no necesitan confiar entre sí.

El mensaje que quiero enviar no podría ser más audaz: creo firmemente que IPFS es el reemplazo de HTTP... En lugar de buscar una ubicación controlada centralmente y preguntarle qué piensa que es /img/neocitieslogo.svg, qué si en lugar de eso le pidiéramos a una red distribuida de millones de computadoras no el nombre de un archivo, sino el contenido que se supone que debe estar en el archivo? Esto es precisamente lo que hace IPFS.

IPFS es de propósito general y tiene pocas limitaciones de almacenamiento. Puede servir archivos que son grandes o pequeños. Divide automáticamente los archivos más grandes en fragmentos más pequeños, lo que permite que los nodos IPFS descarguen (o transmitan) archivos no solo de un servidor como con HTTP, sino de cientos de ellos simultáneamente. La red IPFS se convierte en una red de entrega de contenido (CDN) de granularidad fina, sin confianza, distribuida y fácilmente federada. Esto es útil para casi todo lo relacionado con datos: imágenes, transmisión de video, bases de datos distribuidas, sistemas operativos completos, cadenas de bloques, copias de seguridad de disquetes de 8 pulgadas y, lo que es más importante para nosotros, sitios web estáticos.

Enjambre

Swarm: almacenamiento y distribución de datos descentralizados: Swarm es una red de intercambio de datos de igual a igual en la que los archivos son direccionados por el hash de su contenido. De manera similar a Bittorrent, es posible obtener los datos de muchos nodos a la vez y, siempre que un solo nodo aloje un dato, seguirá siendo accesible en todas partes. Este enfoque hace posible distribuir datos sin tener que alojar ningún tipo de servidor: la accesibilidad a los datos es independiente de la ubicación. Se puede incentivar a otros nodos en la red para que repliquen y almacenen los datos ellos mismos, evitando la necesidad de servicios de alojamiento cuando los nodos originales no están conectados a la red.

fuente: documentos web3

Otras fuentes divertidas

Además de la respuesta de Tayvano , el autor principal de Swarm ha escrito una perspectiva detallada. Aquí hay algunas partes de sus respuestas (editadas para mayor claridad):

similitudes

Swarm e IPFS ofrecen soluciones integrales para una capa de almacenamiento descentralizado eficiente para la próxima generación de Internet. Tanto los objetivos de alto nivel como la tecnología utilizada son muy similares...

Como resultado, ambos son, en principio, ideales para reemplazar la capa de datos del Internet roto actual y sirven como capas de almacenamiento para la visión web3 con las propiedades imprescindibles habituales del almacenamiento distribuido de documentos:

  • recuperación de baja latencia
  • escalado automático eficiente (almacenamiento en caché de contenido)
  • operación confiable, tolerante a fallas, resistente a desconexiones de nodos, disponibilidad intermitente
  • tiempo de inactividad cero
  • resistente a la censura
  • archivo de contenido versionado potencialmente permanente

diferencias

Clasifica las diferencias en:

  • (A) estado de desarrollo/popularidad/base de usuarios
  • (B) filosófico/ético/político
  • (C) tecnicismos de bajo nivel

Consulte la perspectiva detallada (y este hilo en reddit para obtener más información, y aquí están las diferencias técnicas resumidas:

  • El componente de almacenamiento central de Swarm como un contenido inmutable dirigido a chunkstore en lugar de un DHT genérico. (IPFS usa DHT).
  • Los dos sistemas utilizan una capa de comunicaciones de red y un protocolo de gestión de pares diferentes.
  • Swarm tiene una integración profunda con la cadena de bloques de Ethereum y el sistema de incentivos se beneficia tanto de los contratos inteligentes como del peerpool semiestable, mientras que Filecoin utiliza la prueba de recuperación como parte de la minería. Las consecuencias de estas elecciones son de largo alcance.
Esta es probablemente una pregunta estúpida, pero tengo curiosidad por saber por qué BitTorrent fue insuficiente. Ya estaba en su lugar cuando se desarrollaron IPFS y Swarm, y tiene todas las propiedades imprescindibles que enumeró.
@Olshansk: Preguntar sobre la diferencia entre Swarm y BitTorrent podría ser una buena pregunta por sí sola (no hay mucho espacio en un comentario).
Esta respuesta me causó un momento eureka con respecto a Ethereum y el futuro de Internet. Algo acaba de hacer clic. Era un novato total en esto hasta hace un momento, pero ahora siento que acabo de descubrir el futuro de la humanidad.
BitTorrent no tiene una capa de incentivos, mineros pagados o un algoritmo de consenso.
Tampoco enjambre @Tim Siwula. No es una cadena de bloques. Bueno, tiene incentivos en la etapa alfa, pero eso se debe a la recolección de basura (que en sí misma aún no está implementada, así que sí ...) Una de las principales diferencias es que bittorrent consiste en múltiples enjambres e Ipfs y BZZ solo existen fuera de un solo "enjambre"
¿En qué se diferencia el almacenamiento en caché para ambos swarmy ipfs? Si se agrega un archivo de 1 GB a ipfs repo y luego ese archivo se cambia y se vuelve a agregar a ipfs-repo solo se inserta el bloque actualizado, ¿es el mismo caso en swarm? @eth

Creo que el mejor resumen está aquí:

diferencias

tl;dr Las diferencias sutiles pero importantes en el diseño de ambos proyectos probablemente mantendrán los dos proyectos estables y separados en sus propias pistas relativas. Dado que el panorama general y la solución de alto nivel están mágicamente alineados, las diferencias se pueden encontrar en otros lugares. Los agruparé en:

(A) Estado de desarrollo/popularidad/base de usuarios. (B) Filosófico/ético/político. (C) Tecnicismos de bajo nivel.

(A) Estado

tl; dr: IPFS está mucho más avanzado en madurez de código, escalado, adopción, compromiso de la comunidad e interacción con una comunidad de desarrolladores dedicada. Sin embargo, el lugar del enjambre en el ecosistema Ethereum se traduce en una ventaja de infraestructura inherente.

  • tanto IPFS como swarm son de código abierto y las implementaciones de referencia están escritas en el lenguaje Go (swarm tiene una versión obsoleta de java, IPFS tiene javascript)
  • tanto IPFS como Swarm son software alfa antes de su lanzamiento de producción
  • Se ha demostrado que IPFS escala bastante razonablemente, swarm está comenzando a probarse a mayor escala (aunque swarm está construido sobre devp2p, la capa de red p2p de Ethereum que apenas necesita pruebas)
  • IPFS ha tenido el producto abierto durante más tiempo y reclutó una base de usuarios decente, Swarm aún no ha salido, la serie de lanzamiento de POC acaba de comenzar este año
  • IPFS tiene mucho material, videos, buenos documentos, documentos. ¡Swarm tiene 2 devcontalks, documentos dispersos y 2 artículos (los 2 primeros en la serie de artículos naranjas de ethersphere) sobre los incentivos que se publicarán a mediados de abril! Y una guía de enjambre está en proceso
  • IPFS tiene una red de trabajo (sin incentivos), Swarm lanzó recientemente la primera etapa de la red de prueba para desarrolladores. IPFS ya sirve como una solución de trabajo para empresas del mundo real y cuenta con el respaldo de una base de usuarios entusiasta.
  • swarm se beneficia de una fuerte sinergia con Ethereum, su prometedor ecosistema, su red activa de usuarios y sus antecedentes organizacionales en forma de financiamiento continuo confiable de la fundación sin fines de lucro. IPFS también tiene fuentes de financiación confiables y también es utilizado y respaldado por miembros de la comunidad Ethereum.

A pesar de las fuertes voces de la comunidad que desaprueban reinventar la rueda, swarm como una solución interna integral sufrió y sobrevivió a los momentos más difíciles: las medidas de austeridad del otoño pasado de 2015 debido a las dificultades financieras de la fundación retrasaron el desarrollo. Las circunstancias favorables en 2016 hicieron que nuestra visión original fuera realista una vez más y el desarrollo ha visto un nuevo aumento probablemente atestiguado por la expansión del equipo de desarrollo. Es cierto que sesgado, estoy convencido de que construir nuestro propio sistema personalizado es un boleto ganador para permitir que un componente tan fundamental de web3 se adapte y evolucione de manera rápida y flexible con Ethereum (EVM), su gobierno y financiación alineados con los de Ethereum.

Es crucial que el estado de infraestructura/organización privilegiado de swarm no sea por sí mismo el factor decisivo en la adopción predominante entre las alternativas disponibles cuando web3 llegue a las masas. Mi intención es que la elección de los usuarios se base en los méritos inherentes de la tecnología en particular y que la selección no esté indebidamente restringida por elecciones/limitaciones arbitrarias de Ethereum (p. ej., uso de la capa de red devp2p, ver más abajo).

Por el contrario, al llevar más y más debates sobre nuestra hoja de ruta al público, aspiramos a contrarrestar la ventaja de IPFS debido a su mayor tiempo de existencia. La madurez tiene un lugar legítimo en la elección de una tecnología si la necesita ahora, por lo que la discusión aquí es relevante para los desarrolladores con planes a mediano y largo plazo. Con suerte, para cuando ambos proyectos estén listos para la producción, las diferencias en esta sección se vuelvan insignificantes para permitir que las características, la eficiencia y la facilidad de uso dominen la evaluación.

(B) filosófico

tl; dr: sin desajuste crítico pero lo suficientemente diferente como para predecir y justificar la evolución paralela de los 2 proyectos.

Consejo En muchos lugares del mundo, los cárteles de los derechos de autor de la información o los defensores de la libertad de información restringida tienen los recursos para perseguirlo. Si la causa de la transparencia total y el apoyo sin trabas a la libertad de información es importante para usted (ya sea por razones morales u oportunistas), considere apoyar a swarm.

Swarm está específicamente destinado a ser parte del ecosistema Ethereum. Desde el principio, siempre se concibió como uno de los tres pilares del próximo webz, y junto con Ethereum y Whisper definen la santa trinidad de los componentes web3. Su desarrollo está guiado e inspirado por las necesidades de Ethereum (principalmente, la necesidad de alojar dapps, fuentes/metadatos de contratos y la cadena de bloques/estado/etc). Se desarrolla en el contexto de las capacidades de Ethereum (incluidas las posibles limitaciones) y siempre que esté financiado por la fundación para atender los usos específicos que surjan en el ecosistema de Ethereum.

Mientras tanto, IPFS es una solución unificadora que sirve para integrar muchos protocolos existentes. A este respecto

Swarm tiene una postura muy fuerte contra la censura. Incentiva el almacenamiento colectivo independiente del contenido (esquema de distribución/propagación de bloques). Implementa negación plausible con responsabilidad inverosímil a través de una combinación de ofuscación y doble enmascaramiento (no se hace actualmente). IPFS cree que una adopción más amplia justifica comprometer la censura al proporcionar herramientas para la creación de listas negras y el filtrado de fuentes, aunque su uso es totalmente voluntario.

(C) tecnicismos

tl; dr:

  • El componente de almacenamiento central de swarm como un contenido inmutable dirigido al almacén de fragmentos en lugar de una DHT genérica (tabla hash distribuida). puede subir a swarm, usarlo como alojamiento en la nube, en ipfs solo puede registrar/publicar contenido que ya está en su disco duro. los dos sistemas utilizan una capa de comunicaciones de red y un protocolo de gestión de pares diferentes
  • swarm tiene una integración profunda con la cadena de bloques de Ethereum y el sistema de incentivos se beneficia tanto de los contratos inteligentes como del peerpool semiestable. Filecoin, una red incentivada planificada sobre IPFS, tiene como objetivo utilizar su cadena de bloques de altcoin, con prueba de recuperabilidad como parte de la minería. Las consecuencias de estas elecciones son de largo alcance. Estas propiedades juegan un papel importante en las diferencias de bajo nivel.
Sí, la misma publicación que cité en mi respuesta :)

Además, me gustaría agregar que ahora se está desarrollando el protocolo PSS, que es una combinación de susurro+enjambre. Se traduce completamente como Servicios postales sobre enjambre.

Otra cosa para agregar es que swarm está diseñado no solo para ser bueno con archivos de contenido grande con latencia alta, sino también con archivos pequeños con latencia baja que serán necesarios para ciertas aplicaciones (como por ejemplo Onyx by Mainframe, que es un sistema descentralizado). holgura construida con PSS)

Son diferentes protocolos de almacenamiento. Sin embargo, hay mucha menos documentación sobre el enjambre.

Aquí hay un interesante hilo de reddit sobre el tema. https://www.reddit.com/r/ethereum/comments/3hbqbv/ipfs_vs_swarm/

Un enlace por sí solo no se considera una buena respuesta . Los enlaces pueden romperse y la respuesta pierde su valor más adelante, incluso si el material enlazado respondió la pregunta inicialmente. Al menos si incluye un resumen , la respuesta puede sostenerse por sí sola.