Almacenamiento descentralizado: la base del Internet del Valor

Contenido patrocinado por IOVLabsInternet ha crecido. Lejos están los días en que los participantes de la web podían conseguirse en un directorio físico similar a una guía telefónica y conectarse entre clientes y servidores vía dial-up.Siendo originalmente descentralizado, el Internet se ha centralizado. Y con ello se ha hecho evidente la necesidad de mejorar los medios en que se distribuye y almacena la información, toda vez que las grandes empresas como Google, Amazon, Facebook o Microsoft han comenzado a concentrar en sus respectivas plataformas de procesamiento de datos todo aquello que compartimos o desarrollamos.Muchas personas confían sus proyectos y su información personal a estas empresas que ofrecen soluciones de almacenamiento masivo, las cuales han hecho patente que sus intereses podrían ser egoístas.La violación de datos personales ha suscitado dudas en las comunidades digitales, sobre todo respecto a la manipulación y comercio de información personal en plataformas privadas como Facebook, Google, Amazon o Microsoft.La posibilidad latente de que algún problema en los servidores pueda eventualmente dejar sin datos a millones de personas no mejora el panorama.El hecho de que en muchos casos cedemos la propiedad de nuestros datos personales empeora esta perspectiva, que además se vincula con la práctica cada día más cuestionable de censura y vigilancia de la información que transmitimos a través de los servidores centralizados de Internet.

Origen del almacenamiento descentralizado

Este contexto ha impulsado desde hace años un conjunto de esfuerzos para la creación de sistemas de almacenamiento de datos descentralizados, elemento clave para una mayor seguridad, privacidad y libertad en Internet.Recordemos que, en la década de los 90 las personas almacenaban datos desde servidores locales y los intercambios de información se realizaban a través de solicitudes a otras computadoras. En los orígenes de Internet, las personas podían servir y controlar los archivos por su cuenta, pero configurar un servidor requería de una amplia experiencia en programación de redes, ciberseguridad y tiempo.Las primeras redes que intentaron alcanzar la descentralización de Internet a través de intercambios de archivos p2p y código abierto, como Napster, Gnutella, y Freenet, no tenían una infraestructura adecuada, ya que dependían de servidores centrales en algunos casos o no poseían un software capaz de encontrar los datos de manera eficiente entre los nodos distribuidos.Con victorias y derrotas han avanzado los protocolos descentralizados de Internet, incluyendo aquellos de almacenamientos de datos. Sin embargo, los grandes centros de procesamiento de datos siguen teniendo predominio en Internet, siendo una pieza indispensable para su funcionamiento. Quienes desarrollan aplicaciones o plataformas para intercambiar contenido web encuentran pocas opciones fuera de los centros de las grandes compañías antes mencionadas.Con todo, la búsqueda de alternativas para mejorar el modo en que transferimos, descargamos y almacenamos archivos ha comenzado a presentar un nuevo panorama gracias a las redes de blockchain. Proyectos como Swarm, IPFS, Sia, Storj o RIF Storage avanzan en esa dirección.

¿Cómo funciona el almacenamiento descentralizado?

El principio básico de los sistemas de almacenamiento descentralizados consiste en la creación de una red de computadoras distribuidas capaces de trabajar en conjunto para albergar y recuperar información previamente fragmentada y encriptada, de modo que los distintos usuarios de la red tengan la certeza de que su información estará disponible cuando lo requieran en el lugar en que se encuentren y protegida de intereses egoístas y de atacantes maliciosos.Proyectos como Swarm, que se beneficia de la infraestructura de Ethereum y el proyecto IPFS (Inter Planetary File System), un protocolo P2P capaz de prescindir de los controles y limitaciones de los servicios centrales que en la actualidad predominan en Internet, son representativos de estos sistemas.Para mostrar el funcionamiento de los protocolos de almacenamiento distribuido nos basaremos en IPFS, proyecto creado en 2017 que propone una nueva forma de compartir datos a través de Internet usando una red entre iguales para alojar archivos. En general, el marco para una red de almacenamiento descentralizada se puede resumir como se muestra a continuación:Fuente: Blockchain InstituteLos datos (A) se dividen en muchas partes o fragmentos (B)Cada fragmento se encripta (C) con la clave pública del usuario que desea almacenar el archivoSe genera un hash (D) para cada fragmentoLos fragmentos cifrados (C) se distribuyen a los nodos pares para su almacenamientoLos fragmentos cifrados se replican en muchos nodos pares, cada uno de ellos comparte una copia del libro mayor común (F)Los hashes de fragmentos se registran en la blockchain (E) para referencia durante la recuperaciónEstos protocolos para el almacenamiento descentralizado de datos ya han sido puestos a prueba por redes como Swarm, SIA, Filecoin, Storj y RIF Storage; proyectos que buscan estimular la descentralización de los sistemas de almacenamiento a través de incentivos y de métodos para prevenir la censura de la información.A continuación, describiremos de forma general el esquema de funcionamiento de varios de estos sistemas, principales exponentes del almacenamiento descentralizado.

Swarm

Swarm es una plataforma de almacenamiento distribuido y un servicio de distribución de contenido sobre la blockchain de Ethereum, constituyendo una capa base nativa de la pila Ethereum Web3. Plantea una solución de almacenamiento peer-to-peer constantemente operativa, resistente a ataques DDOS, tolerante a fallas, resistente a la censura y autosuficiente gracias a su sistema de incentivos nativo.El protocolo Swarm (bzz) implementa una tienda de fragmentos (chunk store) distribuidos con contenido direccionado. ¿Suena complicado? Expliquemos: los fragmentos son bloques de datos arbitrarios con un tamaño máximo fijo de 4KB. Esta es la unidad básica de almacenamiento y recuperación en que se dividen los archivos en Swarm, algo así como piezas de rompecabezas que no expresan nada si no se juntan en su totalidad.En cuanto al contenido direccionado, este concepto busca indicar que los fragmentos del contenido subido a Swarm se encuentran atados a direcciones de almacenamiento para su identificación. Esta dirección se deriva de su contenido de manera determinística mediante una función hash que toma un fragmento como entrada y devuelve un hash de 32 bytes como salida.Una función hash es irreversible, libre de colisiones y distribuida uniformemente. De hecho, esto es lo que hace que Bitcoin, y en general la prueba de trabajo, funcione.El hash de un fragmento es la dirección que los clientes pueden usar para recuperar el fragmento pues este hash sirve para mapear y ubicar tal fragmento en la red. Además, el mencionado direccionamiento irreversible y sin colisiones protege la integridad de la data: no importa cómo un cliente llega a saber acerca de una dirección, puede determinar si el fragmento está dañado o ha sido manipulado simplemente haciendo su hashing.El proceso del protocolo por el cual los fragmentos llegan a su dirección se llama sincronización. Cuando un nodo necesita un fragmento, simplemente publica una solicitud en Swarm con la dirección del contenido y Swarm reenviará las solicitudes hasta que se encuentren los datos (o la solicitud agota el tiempo de espera).Todos los nodos que constituyen la red Swarm dedican recursos (espacio en disco, memoria, ancho de banda y CPU) para almacenar y servir fragmentos, los cuales eventualmente terminarán siendo almacenados en los nodos más cercanos a la dirección (hash) de cada fragmento.Swarm cuenta con un protocolo de incentivo denominado Swarm Accounting Protocol (SWAP), que es un sistema «ojo por ojo» donde los nodos cuentan la cantidad de datos que solicitan y atienden. Si a un nodo le solicitan muchos fragmentos, SWAP emitirá una solicitud de pago a través de una solución de pago de segunda capa como Raiden.En combinación con el sistema de incentivos SWAP, el interés racional de un nodo lo debería conducir a almacenar fragmentos caché y así ser de los primeros en ofrecerlo cuando sea solicitado, con la finalidad de aumentar su rendimiento. Como consecuencia, el contenido popular termina siendo replicado de manera más redundante a través de la red, disminuyendo los tiempos de espera en la obtención de un fragmento.Swarm aspira a ser el servicio genérico de almacenamiento y entrega que, una vez listo para su comercialización, atienda casos de uso que van desde aplicaciones web interactivas en tiempo real de baja latencia, hasta almacenamiento a largo plazo de archivos de baja utilización.

SIA

Sia fue concebido a principios de 2013 a partir de un evento de MIT Hack y lanzado finalmente en el 2015. Utiliza un algoritmo de Prueba de Trabajo (PoW) para manejar la gestión de su blockchain, combinado con contratos de almacenamiento que requieren que el proveedor congele (stake) una cantidad fija de tokens a cambio del privilegio de almacenar archivos.Mientras almacenan los archivos, los proveedores deben cargar constantemente pruebas de almacenamiento en la blockchain de Sia para verificar su participación. Los proveedores de almacenamiento son recompensados si cumplen con los términos del servicio, tal como se describen en el contrato de almacenamiento; en caso positivo, reciben sus comisiones por parte del usuario final.Sia funciona segmentando los archivos a almacenar en 30 partes por medio de una tecnología llamada codificación de borrado Reed-Solomon, la misma que se utiliza en CDs y DVDs. Esta tecnología permite a Sia dividir archivos de manera redundante, donde 10 de los 30 segmentos bastan para recuperar completamente los archivos de un usuario.Cada segmento es previamente encriptado antes de ser distribuido usando el algoritmo Threefish, un estándar de cifrado de código abierto, seguro y de alto rendimiento. Esto difiere de los proveedores tradicionales de almacenamiento en la nube como Amazon, que no encriptan los datos de los usuarios de manera predeterminada, y brinda mayor seguridad que las soluciones existentes porque los hospedajes solo almacenan segmentos de archivos cifrados en lugar de archivos completos.Un procedimiento denominado prueba de almacenamiento (storage proof), que utiliza una función de árbol Merkel, permite comprobar que cada segmento pertenece a un archivo específico.Quienes utilizan la red Sia disponen de canales de micropagos, similares a los de Lightning Network en Bitcoin. Por ese medio, quienes desean comprar almacenamiento descentralizado pueden pagar con siacoin y quienes ofrecen espacio de memoria de sus computadoras pueden depositar siacoin en contratos inteligentes como colateral.

Filecoin (IPFS)

Filecoin es una red de almacenamiento descentralizada donde se recompensa a los participantes por sus servicios de almacenamiento, creando una suerte de mercado basado en algoritmos. El mercado se ejecuta en una blockchain con un token nativo (también llamado Filecoin), que los mineros ganan proporcionando almacenamiento a los clientes, o, desde una perspectiva opuesta, que los clientes gastan contratando mineros para almacenar y recuperar datos.Al igual que con Bitcoin, los mineros de Filecoin compiten para minar bloques con recompensas considerables. Pero el poder de minería de Filecoin es proporcional al almacenamiento activo, lo que proporciona directamente un servicio útil a los clientes (a diferencia de la minería de Bitcoin, cuya utilidad se limita a mantener el consenso de la blockchain). Esto crea un poderoso incentivo para que los mineros acumulen la mayor capacidad de almacenamiento posible y lo arrienden a los clientes.El servicio de almacenamiento y recuperación de datos es provisto a través de una red de proveedores independientes de almacenamiento que no depende de un solo coordinador, donde: (1) los clientes pagan por almacenar y recuperar datos, (2) los mineros de almacenamiento ganan tokens al ofrecer almacenamiento (3) Los mineros de recuperación ganan tokens al servir datos.La red de almacenamiento en la nube del protocolo también proporciona seguridad, ya que el contenido está cifrado de extremo a extremo en el cliente, mientras que los proveedores de almacenamiento no tienen acceso a las claves de descifrado.La tecnología de Filecoin incorpora dos nuevas pruebas de almacenamiento: (1) La Prueba de Replicación, la cual permite a los proveedores de almacenamiento demostrar que los datos se han replicado solo una vez en su almacén físico dedicado. Hacer cumplir con las copias físicas únicas permite que un verificador compruebe que un proveedor no esté duplicando múltiples copias de los datos en el mismo espacio de almacenamiento; (2) La Prueba de espacio-tiempo, que permite a los proveedores de almacenamiento demostrar que han almacenado algunos datos durante un período de tiempo específico.Filecoin funciona como una capa de incentivos sobre IPFS, que puede proporcionar infraestructura de almacenamiento para cualquier dato. Es especialmente útil para descentralizar datos, crear y ejecutar aplicaciones distribuidas e implementar contratos inteligentes.

Storj (IPFS)

Storj fue construido inicialmente sobre la red Ethereum, aunque posteriormente continuaron su desarrollo en una red denominada Tardigrade. El objetivo de este proyecto es desarrollar un mercado basado en un sistema de almacenamiento descentralizado, donde los participantes puedan hacer uso del espacio en la memoria interna de sus computadoras para crear una nube de almacenamiento globalmente distribuido. El proyecto posee una criptomoneda homónima diseñada para impulsar el sistema de incentivos.Al igual que SIA, Tardigrade posee una función para subir archivos a la red basada en Reed-Solomon. En este caso, la encriptación se realiza del lado del cliente, antes de ser distribuido a la red. Cada archivo se encripta con el algoritmo AES-256-GCM.Storj recientemente comenzó a realizar pruebas con CockroachDB, un sistema de gestión de bases de datos que ha sido comparado con Google Spanner, diseñado para almacenar copias de datos en múltiples locaciones, de manera que cuando se realice una solicitud se pueda descargar rápidamente.Recientemente, el equipo de Storj anunció que han desarrollado un método para cargar datos a la red Tardigrade a través del sistema IPFS. Esto también añade una garantía para que los datos alojados en nodos IPFS persistan, debido a que en algunas oportunidades la misma arquitectura de la red IPFS no garantiza a los desarrolladores de aplicaciones que sus bases de datos estén siempre disponibles, sobre todo si un número grande de nodos se desconecta repentinamente, de allí la importancia de las plataformas de incentivos.

RIF Storage (Swarm)

RIF Storage es un protocolo de almacenamiento resistente a la censura, sin permiso y descentralizado desarrollado por IOV Labs. El proyecto fue lanzado en marzo de 2019 y en diciembre del mismo año, con ocasión de la LaBITConf en Uruguay, se lanzó oficialmente la red de pruebas testnet.Se espera que su lanzamiento público ocurra en el año 2020. Hasta entonces, trabajarán en conjunto con el equipo de Swarm para desarrollar un ecosistema interoperable, sustentado en una capa de pagos por medio de la cual se manejen los incentivos y los intercambios en el mercado de almacenamiento.En un principio la red operara con el protocolo Swarm, pero se espera su futura integración con IPFS, mientras se desarrollan las especificaciones para los portales (gateways), los mercados y los servicios anclados.La red de prueba operara con el token RIF como moneda de la plataforma para el pago de los incentivos de ancho de banda; aunque la visión de RIF es permitir varias monedas en la misma red. Entretanto plantean darles a los desarrolladores del ecosistema la oportunidad de probar la experiencia de usuario de RIF Storage utilizando el token RIF.La novedad en este punto es precisamente el uso del protocolo SWAP, que permite que los nodos contabilicen cuánta información se solicita, se atiende y cuántos micropagos se adeudan.En términos de encriptación, el procedimiento consiste en asignar un hash a cada fragmento distribuido (con una función de árbol Merkel) y posteriormente reunir las partes cuando el archivo sea solicitado y se demuestre la propiedad sobre esos datos.RIF Storage forma parte de una infraestructura más amplia denominada RIF OS (RSK Infrastructure Framework Open Standard), que está constituida por un sistema de identidad y reputación, un protocolo que permite el acceso a cualquier red de pago fuera de cadena, entre otros.

Conclusiones

El camino hacia la descentralización depende en gran medida de cómo los incentivos pueden llegar a constituir un medio para añadir valor en términos de participación y adopción. Esto se debe a que una vez que alguien usa estos servicios para evitar los controles de grandes compañías o gobiernos, o para ahorrar dinero (almacenar 1 TB en una red como SIA podría costar entre 1 y 2 dólares por mes o 10 dólares en Storj, en comparación con los USD 23 que costaría en Amazon S3) es necesario garantizar que siempre habrá alguien dispuesto a conectar un nodo o parte de su disco duro para contribuir a que los archivos de todos estén seguros y disponibles para su uso particular.Una red como SIA, por ejemplo, indica que posee una capacidad de 2 peta bytes y que en la actualidad se usan 730 tera bytes, distribuidos en más de 320 proveedores de almacenamiento. Pero estas capacidades de almacenamiento, similares en redes como Storj, son insuficientes si se considera cuánta información se añade a Internet a diario. Se calcula que en 2018 hubo ~ 32 ZB totales (es decir, 32.000.000.000 de tera bytes) de datos generados.Como la tecnología seguirá en desarrollo durante los próximos años, existen problemas aparentes de rendimiento que dificultan que los consumidores y las empresas comiencen a migrar de inmediato a una red descentralizada.Para que las opciones de almacenamiento descentralizado en la nube aumenten su popularidad, deben poder ofrecer un servicio igual o superior al que ofrece actualmente el mercado centralizado. Sin embargo, como la tecnología aún está en pañales, estamos a varios años de que eso suceda; por lo tanto, seguirá siendo un nicho durante algún tiempo.Cada uno de estos servicios de distribución de la información tiene el objetivo de allanar el camino para que Internet sea un medio menos controlado por actores individuales o gobiernos. Por esa razón, los sistemas de almacenamiento descentralizado en realidad constituyen una pieza de un conjunto de herramientas más amplio para la creación de Internet del Valor.

Cryptocurrency Market