¿Qué es Storm?

Storm, es el nombre de un interesante desarrollo que busca crear una plataforma de almacenamiento descentralizado para Bitcoin y Lightning Network. La idea es bastante sencilla: brindar un framework que permita a los desarrolladores crear aplicaciones descentralizadas que puedan almacenar datos sobre Storm de forma segura.

De esta manera, BTC y LN ganarían una mayor tracción al ofrecer a sus usuarios un elemento de almacenamiento descentralizado completamente compatible e integrado a dichos protocolos. Sin embargo, la visión de Storm va mucho más allá. Ya que  su objetivo final es crear un ecosistema integrado capaz de desplegar smart contracts usando RGB Protocol. Es allí donde Storm nos revela sus verdaderas intenciones y capacidades.

Storm se define como un protocolo de mensajería y almacenamiento distribuido diseñado para funcionar como Layer 2 o Layer 3 sobre Bitcoin y Lightning Network. El sistema está pensado para crear una estructura de funcionamiento parecida a la existente en BitTorrent, donde los nodos pueden compartir información.

Sin embargo, en Storm hay un elemento económico que resulta vital para sostener la red. Esto es porque los nodos que comparten información, poder de cómputo, ancho de banda y recursos de almacenamiento pueden ganar dinero por todo ese trabajo.

La idea detrás de Storm nació el 16 de agosto de 2019, cuando el Dr. Maxim Orlovsky presentó su idea, complementando su esfuerzo por la creación del RGB Protocol. La idea busca que los operadores almacenen pequeñas porciones de los datos de la red, y que su conjunto completo tenga la capacidad de ofrecer los mismos al resto. Todo ello protegido también por la red Bitcoin o Lightning Network, ya que los operadores de Storm deben ejecutar nodos completos de estas redes para poder ser parte del protocolo Storm.

Relacionado con: Almacenamiento descentralizado, el futuro de los datos globales

¿Cómo funciona Storm?

El funcionamiento de Storm se asienta sobre una red P2P de mensajería y almacenamiento de datos cifrados punto a punto. Para lograr esto, Storm usa tecnologías como:

  • Pruebas probabilísticas comprobables
  • Concepto de canales de pago
  • Transacciones bitcoin parcialmente firmadas (PSBT)
  • Transacciones bloqueadas por CVS
  • Contratos HTLC
  • Cifrado de datos con pares de claves asimétricas

Todo esto es la base del funcionamiento de Storm cuya idea más simple es permitir ejemplos como este:

Ana desea almacenar datos dentro de la red Storm, debido a su descentralización y fácil acceso. Para lograr esto, Ana dispone de unos satoshis y se conecta a la red Storm donde cientos de miles de nodos ofrecen almacenamiento de datos de forma económica.

En dicho mercado, Ana selecciona a Carlos, porque ofrece un precio de almacenamiento económico y condiciones que le favorecen, así que  cierra el trato con el mismo. Así, Ana paga con satoshis el almacenamiento que requiere y Carlos, se encarga de recibir los datos de Ana e integrarlos en la red Storm para que Ana pueda acceder a los mismos cuando lo desee.

Diseccionando el funcionamiento de Storm

El ejemplo anterior es bastante sencillo, pero sería lo que usualmente podríamos ver en Storm. Ana por un lado tiene BTC y usará los mismos para pagar por los servicios de almacenamiento que necesita. Carlos, es parte de la red Storm y acepta BTC por sus servicios.

Para evitar las trampas en este esquema P2P, Storm asegura que los BTC que Ana pasa a Carlos cumplan ciertos requisitos. Por ejemplo, el pago que hace Ana a Carlos no es inmediato y completo, sino que se hace en fases para asegurarse del cumplimiento de las condiciones.

Así por ejemplo, Carlos no puede desentenderse de los datos de Ana, porque de hacerlo, el pago se cancelará. Y Ana, por ejemplo, no puede simplemente sacar los datos de la red rompiendo el trato inicial sin tener que cumplir con los puntos de acuerdo que ella firmó al principio.

Para lograr esto, Storm configura las transacciones de pago por servicios usando CSV y HTLC, asegurándose de que el pago vaya siendo liberado a medida que se cumplen los plazos. Si por ejemplo, Ana quiere que Carlos le ofrezca un espacio de almacenamiento por 1 año, esto significa que la transacción BTC se irá liberando en su totalidad, en porciones de 1/12 cada mes. Lo bueno de este sistema es que el proceso se puede hacer tanto en la red BTC como en LN, sin dificultades.

El uso de PSBT y HTLC por otro lado, también evita otras trampas, como por ejemplo, que Carlos se desentienda de los datos que Ana le ha confiado. En ese punto, la transacción HTLC de Ana y Carlos, usa un esquema PSBT para forzar a Carlos a mantener su parte del trato, porque de lo contrario, Ana puede reclamar el resto de la recompensa y se castiga a Carlos por actuar de mala fe.

En todo caso, las transacciones de pago en Storm están protegidas contra trampas, por lo que resulta seguro. 

Seguridad e integridad a nivel de datos

El otro punto de Storm es la seguridad e integridad de los datos. Para lograr esto, el Dr. Maxim Orlovsky trabaja con las conocidas pruebas probabilísticas comprobables. Estas pruebas son las encargadas de brindar seguridad e integridad a los datos que Ana ha dejado en manos de Carlos.

En primer lugar, estas pruebas son una derivación de las ya conocidas ZKP o Pruebas de Conocimiento Cero, usadas en criptos como Monero o ZCash. La idea es que los datos que van a la red Storm puedan cifrarse de tal forma, que si Ana desea saber que sus datos están allí realmente, ella pueda solicitar una prueba criptográfica a Carlos, y Carlos pueda darla sin tener la mas minima idea de los datos que Ana ha dejado en dicha red.

De hecho, Carlos no ha leído, ni puede leer, ni leerá dichos datos, porque desde un principio Ana los ha pasado cifrados, y lo único que puede hacer Carlos es pasar pruebas criptográficas que Ana puede verificar en todo momento.

Para lograr esto, Storm divide los datos que se enviarán a la red en bloques de igual tamaño. En este punto, elige de forma aleatoria una cantidad de esos bloques y realiza un doble proceso de creación de árbol merkle en el que:

  1. Se toman bloques de datos aleatorios y sin cifrar, para crear un merkle root de esos bloques.
  2. Los bloques anteriores se cifran y se crea un segundo merkle root de esos datos cifrados.

Al terminar la creación de los merkle root, estos se unen con el fin de crear un marcador criptográfico. Este marcador le permitirá a Ana pedirle pruebas de almacenamiento a Carlos, sin que él sepa qué datos hay dentro del conjunto de datos que almacena, y a Ana le da la seguridad, de que Carlos solo podrá responder con la verdad, porque en caso de no hacerlo, significa que Carlos no tiene los datos que ella le ha dado.

El método no difiere mucho del de redes como Sia y Filecoin, donde modelos parecidos de protección son usados dentro de sus redes. Sin embargo, Storm tiene un potencial adicional y es que sus pruebas criptográficas son mucho más seguras.

Mirando al futuro

Storm al igual que RGB Protocol, es una tecnología en desarrollo, una que puede dar un nuevo impulso a la utilidad de Bitcoin. Por otro lado, la existencia de Storm recalca también la buena salud del desarrollo de Bitcoin. Sobre todo porque la red poco a poco se va centrando en otros desarrollos. Especialmente ahora que sus plataformas de pagos (mainnet y LN) están funcionando como deben y siguen creciendo en usuarios y valor movilizado.

Si a esto le sumamos proyectos como Blockstream y RSK que buscan ampliar aún más el panorama de Bitcoin y LN, podemos tener la certeza que tenemos crypto por mucho tiempo más.