Ir al contenido principal
Change page

Almacenamiento descentralizado

Última edición: @Anonyma(opens in a new tab), 2 de septiembre de 2024

A diferencia de un servidor centralizado operado por una sola compañía u organización, los sistemas de almacenamiento descentralizado constan de una red de pares de usuario-operadores que mantienen una parte de la información general, lo que crea un sistema flexible de almacenamiento de archivos compartidos. Estos pueden estar en una aplicación basada en cadena de bloques o cualquier red de pares.

Ethereum en sí puede usarse como un sistema de almacenamiento descentralizado, y de hecho lo es cuando se trata de almacenamiento de código en todos los contratos inteligentes. Sin embargo, cuando se trata de grandes cantidades de datos, no es para ello que se diseñó Ethereum. La cadena crece constantemente, pero al momento de escribir este artículo, la cadena de Ethereum tiene alrededor de 500 GB - 1 TB (dependiendo del cliente(opens in a new tab)), y cada nodo de la red debe poder almacenar toda la información. Si la cadena se expandiera a grandes cantidades de información (digamos 5 TB), no sería viable que todos los nodos siguieran ejecutándose. Además, el costo de implementar todos estos datos en la red principal sería prohibitivo por las tarifas de gas.

Debido a estas limitaciones, necesitamos una cadena o metodología diferente para almacenar grandes cantidades de datos de manera descentralizada.

Al analizar opciones de almacenamiento descentralizado (dStorage), hay algunas cosas que el usuario debe tener en cuenta.

  • Mecanismo de persistencia / estructura de incentivos
  • Aplicación de retención de datos
  • Descentralidad
  • Consensos

Mecanismo de persistencia / estructura de incentivos

Basado en Blockchain

Para que cierta información persista para siempre, necesitamos utilizar un mecanismo de persistencia. Por ejemplo, en Ethereum el mecanismo de persistencia se basa en dar cuenta de toda la cadena al ejecutar un nodo. Se van añadiendo datos al final de la cadena, y esta continúa creciendo, lo que requiere que cada nodo replique todos los datos incorporados.

Esto se conoce como persistencia basada en la cadena de bloques.

El problema de la persistencia basada en la cadena de bloques es que la cadena podría llegar a ser demasiado grande para mantener y almacenar todos los datos de forma viable (p. ej., distintas fuentes(opens in a new tab) estiman que Internet requeriría más de 40 Zetabytes de capacidad de almacenamiento).

La cadena de bloques, además, debe tener alguna estructura de incentivos. Por la persistencia basada en la cadena de bloques, se realiza un pago al validador. Cuando los datos se añaden a la cadena, se paga a los validadores para que añadan los datos.

Plataformas con persistencia basada en la cadena de bloques:

Basado en contratos

La persistencia basada en contratos intuye que los datos no pueden ser replicados por cada nodo y almacenados para siempre, y en su lugar deben ser mantenidos con acuerdos contractuales. Hay acuerdos realizados con múltiples nodos que se comprometen a mantener ciertos datos durante un período de tiempo. Estos deberán ser reembolsados o renovados cuando expiran para seguir manteniendo los datos.

En la mayoría de los casos, en lugar de almacenar todos los datos en la cadena, se almacena solo el hash del lugar donde se encuentran los datos en la cadena. De esta manera no es necesario escalar toda la cadena para poder mantener la información completa.

Plataformas con persistencia basada en contratos:

Consideraciones adicionales

IPFS es un sistema distribuido para almacenar y acceder a archivos, sitios web, aplicaciones y datos. No cuenta con un sistema de incentivos, pero se puede utilizar con cualquiera de las soluciones de incentivos basadas en contrato anteriores para una mayor persistencia. Otra forma de persistir datos en IPFS es trabajar con un servicio de "pinning" de datos, que mantendrá los datos fijados para usted. Incluso puede ejecutar su propio nodo de IPFS y contribuir a la red para persistir gratuitamente sus datos y/o los de los demás.

SWARM es una tecnología descentralizada de almacenamiento y distribución de datos con un sistema de incentivos de almacenamiento y un oráculo del precios de alquiler de almacenamiento.

Retención de datos

Para conservar los datos, es necesario que los sistemas cuenten con algún mecanismo que asegure la conservación de los datos.

Mecanismo de desafíos

Una de las formas más populares de aseguraese de que se están conservando los datos es usar un tipo de desafío criptográfico que se emita a los nodos para asegurarse de que aún tienen los datos. Un ejemplo simple de esto es la prueba de acceso de Arweave. Emiten un desafío a los nodos para comprobar si tienen los datos en el bloque más reciente y en un bloque pasado aleatorio. Si el nodo no responde, se lo penaliza.

Tipos de dStorage que utilizan un mecanismo de desafíos:

  • 0Chain
  • Skynet
  • Arweave
  • Filecoin
  • Crust Network
  • 4EVERLAND

Descentralización

No existen buenas herramientas para medir el nivel de descentralización de las plataformas, pero en general querrá utilizar herramientas que no requieran de algún tipo de KYC para proporcionar evidencia de que no son centralizadas.

Herramientas descentralizadas sin KYC:

  • 0Chain (implementando una edición sin KYC)
  • Skynet
  • Arweave
  • Filecoin
  • IPFS
  • Ethereum
  • Crust Network
  • 4EVERLAND

Consensos

La mayoría de estas herramientas tienen su propia versión de un mecanismo de consenso pero generalmente se basan en la prueba de trabajo (PoW) o la prueba de participación (PoS).

Basado en prueba de trabajo:

  • Skynet
  • Arweave

Basado en prueba de participación:

  • Ethereum
  • Filecoin
  • 0Chain
  • Crust Network

IPFS: InterPlanetary File System es un sistema descentralizado de almacenamiento y referencia de archivos para Ethereum.

Storj DCS: Almacenamiento de objetos de nube descentralizado seguro, privado y compatible con S3 para desarrolladores.

Skynet: Skynet es una cadena de PoW descentralizada dedicada a una Web descentralizada.

Filecoin: Filecoin fue creado por el equipo creador de IPFS. Es una capa de incentivos basada en los ideales de IPFS.

Arweave: Arweave es una plataforma de dStorage.

0chain: 0Chain es una plataforma de dStorage de prueba de participación con sharding y blobbers.

Crust Network: Crust es una plataforma de dStorage basada en IPFS.

Swarm: Plataforma de almacenamiento distribuido y servicio de distribución de contenido para la pila web3 de Ethereum.

OrbitDB: Base de datos "peer-to-peer" sobre IPFS.

Aleph.im: Proyecto de nube descentralizada (base de datos, almacenamiento de archivos, computación y DID). Una combinación única de tecnología P2P fuera de cadena y en cadena. Compatibilidad con IPFS y multicadena.

Ceramic: Almacenamiento de bases de datos IPFS con control del usuario para aplicaciones ricas en datos e interesantes.

Filebase: Almacenamiento descentralizado compatible con S3 y servicio de pinning de IPFS con redundancia geográfica. Todos los archivos subidos a IPFS a través de Filebase se fijan automáticamente a la infraestructura de Filebase con una replicación 3x en todo el mundo.

4EVERLAND: Plataforma de computación en la nube web 3.0 que integra capacidades centrales de almacenamiento, computación y redes, es compatible con S3 y proporciona almacenamiento de datos sincrónico en redes de almacenamiento descentralizadas como IPFS y Arweave.

Kaleido: Plataforma de cadena de bloques como servicio con nodos IPFS con clic en un botón

Más información

¿Conoce algún recurso en la comunidad que le ayudara? ¡Edite la página y añádala!

  • Entornos de desarrollo

¿Le ha resultado útil este artículo?