hard-drive

Almacenamiento distribuido, el bitcoin no sólo es dinero

Hoy vamos a hablar de cómo guardar grandes cantidades de datos, almacenamiento distribuido, pues el bitcoin no sólo es dinero.

En el artículo anterior vimos cómo la tecnología bitcoin se puede aplicar a la notaría electrónica, para ello se utiliza la cadena de bloques como una base de datos segura e inmutable para almacenar pequeñas cantidades de datos.

Namecoin fue el pionero, convierte a la cadena de bloques en una infraestructura que se asemeja a una base de datos bajo el esquema clave-valor, donde la clave es el nombre de dominio .bit y el valor es la información asociada al dominio.

Se trata de una infraestructura descentralizada ‘zero-trust‘, en la que a diferencia de los modelos centralizados el usuario no necesita conocer o confiar en nadie para tener la seguridad de que la información es veraz; la confianza radica en el todo, en la cadena de bloques.

Ahora bien, el Namecoin almacena bloques de datos de 512 bytes, si queremos almacenamiento descentralizado, nos podemos plantear las siguientes preguntas.

¿Cómo hacemos para que la cadena de bloques almacene ficheros de varios megabytes, o incluso de gigabytes?

¿Porqué no usamos directamente los torrents para el almacenamiento descentralizado?

¿Porqué no usar sistemas centralizados como dropbox, google drive o similares, que además funcionan bien?

Los torrents

Muchos canales de televisión ahora emiten en directo por internet, pero cuando un programa o evento deportivo tiene una gran audiencia, sus servidores de ‘streaming‘ se saturan con tantos usuarios y la gente acaba encendiendo la tele.

Los torrents vienen a paliar este problema. El ‘BitTorrent‘ es un protocolo de distribución de contenido que permite hacer descargas de ficheros de manera más rápida y eficiente. Para ello se basa en la tecnología p2p, ‘peer-to-peer’, que también usa el bitcoin.

A diferencia de un servidor de ficheros centralizado aquí uno puede descargar al mismo tiempo partes del fichero de diferentes personas; al paralelizar la descarga esta es más rápida. Con el almacenamiento descentralizado se evitan los cuellos de botella que tienen los servidores de ficheros centralizados pues la información está distribuida y existen múltiples copias pudiendo cada persona descargar de los nodos que tenga más cercanos.

Ahora bien, si pretendemos usar los torrents como almacenamiento descentralizado tenemos un gran problema. En un torrent nadie te asegura que un fichero perviva en el tiempo. La gente que tiene el cliente de torrents funcionando puede en cualquier momento apagar el ordenador o borrar el fichero.

El motivo es muy sencillo, quien pone su disco duro y su conexión a internet no tiene ningún incentivo para mantenerlo las 24 horas disponible. Nadie va a guardar los ficheros de personas desconocidas y mucho menos los ficheros de empresas.

La tecnología bitcoin al rescate.

El bitcoin puede paliar estas carencias, premiando a quien pone a disposición de los demás su disco duro y haciendo que quien lo quiera utilizar pague por dicho servicio.

En definitiva los sistemas de almacenamiento descentralizado son una especie de ‘market place‘ en el que hay quienes ofrecen el espacio libre de su disco duro a cambio de una compensación económica y otros que utilizan ese espacio pagando por ello.

¿Y en lugar de bitcoin porque no usar Paypal, tarjeta de crédito o similares con tal propósito?

La respuesta es sencilla, el coste a pagar por el almacenamiento es tan pequeño que esos medios de pagos no serían viables pues sus comisiones son mucho mayores que el coste de lo que hay que pagar.

Por otro lado está la flexibilidad, si por cada fichero que se guarda o se lee tiene que haber por medio transacciones con estos medios de pago, el sistema sería muy complicado y lento.

Es más, el bitcoin puro y duro tampoco es la solución ideal, pues se trata de pagos muy pequeños y se requiere mucha flexibilidad; sin embargo el bitcoin es un buen punto de partida pues proporciona un código y una tecnología fiable y probada que puede ser utilizada para construir una moneda hecha a medida para el sistema de almacenamiento descentralizado.

Los sistemas de almacenamiento descentralizado tienen monedas propias que posibilitan que el sistema funcione. Incentivan a quien proporciona el espacio de almacenamiento tenga su sistema disponible las 24 horas; por otro lado quien paga por almacenar sus ficheros no hace el pago por adelantado a quien le da el almacenamiento sino que el sistema custodia el pago y si la otra parte cumple su cometido recibe su recompensa por poner su disco duro. Todo esto sólo es posible hacerlo de una manera eficiente cuando el sistema de almacenamiento descentralizado tiene su propia moneda.

Llegados a este punto habrá algún lector que se estará preguntando si los ficheros se guardan en cada nodo de la cadena de bloques del sistema de almacenamiento descentralizado. La respuesta es no, sería muy ineficiente que todos los nodos guardaran todos los ficheros, no habría discos duros suficientes en el mundo para ello.

Lo que hacen los almacenamientos descentralizados es que por cada fichero subido haya entre tres y seis copias; esto es suficiente para que un fichero esté disponible. Por otro lado, como veremos más adelante hay sistemas que permiten al usuario elegir el número de copias, de este modo pueden asegurarse una mayor disponibilidad a cambio de pagar un poco más.

Por último, hablemos de la seguridad, cuando uno guarda un fichero en un sistema de almacenamiento descentralizado el fichero como tal no se sube a la nube. El usuario se instala un programa que gestiona las subidas y descargas de ficheros; este programa trocea el fichero y lo encripta de forma local, es decir en el mismo ordenador del usuario. De este modo la información cuando se almacena en la nube es completamente ilegible para los demás. El encriptado utilizado es bastante fuerte con lo cual incluso si un hacker consiguiera juntar los trozos tendría que saber ordenarlos y tener la clave para desencriptarlos.

Conclusiones.

Una vez explicado el problema y las soluciones, podemos resumir que en los sistemas de almacenamiento descentralizado tenemos los siguientes actores:

  • Una criptomoneda propia que se utiliza para pagar por usar el almacenamiento y para compensar a quien ofrece espacio de disco.
  • La cadena de bloques que no se utiliza para almacenar los ficheros subidos sino para gestionar los pagos de los que suben, las recompensas de los que almacenan y controlar la integridad de los ficheros subidos.
  • Los discos duros de quienes ofrecen su espacio a cambio de dinero
  • Los ficheros de quienes almacenan en la nube distribuida sus ficheros a cambio de un pago.

Ahora que conocemos como funciona, en el próximo artículo vamos a hablar de algunas productos de almacenamiento distribuido que hay en el mercado y explicaremos con más detalle cómo se diferencia y funciona cada uno.

Articulo colaboración de Manuel Sales

Ir arriba