La PermaWeb en Arweave

in #blockchain4 years ago (edited)

He vuelto al hype de las criptomonedas en las últimas semanas con esta volatilidad y euforia que tenemos con los precios. Veo que les va muy bien a SiaCoin y Filecoin, que son sistemas que me parecieron muy prometedores hace rato y encuentro cosas no nuevas pero que no conocía como Bittorrent Token (BTT), que parece ser casi copia de Siacoin y Filecoin. Pero lo que se llevó mi atención fue Arweave. Esta red blockchain me recordó a Steem/Hive porque los datos se almacenan en la blockchain de forma permanente. Para lograr que grandes cantidades de datos se guarden permanentemente los mineros no guardan todos todos los datos sino que cada minero puede guardar una fracción de los datos y se les recompensa por almacenar y por la velocidad de lectura.

A largo plazo el costo para almacenar y leer datos ha ido disminuyendo en ~37% cada año (según su yellow paper) por lo que el costo de almacenar un archivo de forma permanente es equivalente a la valuación de una perpetuidad financiera.

image.png

Los desarrolladores han ideado también una forma de implementar contratos inteligentes sin procesar datos en la red sino afuera de la red con "smartweave". Los inputs al contrato serían almacenados indiscriminadamente y cada cliente tendría que descargar los inputs y meterlos al contrato uno por uno hasta obtener el estado actual del contrato. Esto de forma automatizada, claro. Si un cracker mete basura, por ejemplo si yo intento gastar los tokens de otro usuario sin su permiso (el contrato podría tener un sistema de permisos para que un usuario permita a otro usar sus tokens), entonces ese input sería ignorado por no cumplir con las reglas del contrato. Creo que esto no va a funcionar muy bien cuando hayan muchas transacciones pero hay proyectos que ya buscan mejorar esta infraestructura manteniendo estados recientes validados para evitar que se procese todas las transacciones desde el inicio del contrato. Y ahora que lo pienso este tipo de contratos también podrían implementarse en Steem/Hive.

El ecosistema Arweave parece estar aún en etapa de desarrollo. Hasta hace poco han publicado una wallet extensión de Chrome (https://github.com/th8ta/ArConnect) y hay un exchange que aún funciona bastante lento (https://verto.exchange/) y en lo personal no he podido usar satisfactoriamente. Sin embargo, la funcionalidad básica de almacenar datos de forma permanente ya está disponible y hay montones de apps muy interesantes construidas sobre esa base:

  • Weve (http://weve.email/ ) - sistema de mensajes electrónicos similar al correo electrónico que permite enviar contenido encriptado entre usuarios.
  • https://community.xyz/ es un sistema que permite hacer algo similar a las DAOs de Ethereum. Cooperativas asociadas a un token y un sistema de votación con staking.
  • https://openbits.world/ es un sistema para financiar, monetizar y compartir paquetes de software libre.
  • Arweave Forever Chess es un tablero de ajedrez permanente en la web.
  • Ardrive es un sistema de almacenamiento tipo g. drive.

Hay más aplicaciones en el catálogo http://arweaveapps.com/ aunque la mayoría parecen ser proyectos en desarrollo. Como dije, el ecosistema está en desarrollo y las aplicaciones tienen una experiencia de usuario bastante áspera aún (como suele ser en blockchain, este blog de Hive/Steem aún me parece bastante áspero también).

Por último, el costo del almacenamiento es bastante bajo considerando que se supone que es almacenamiento permanente. Hace unos días, subir 1MB en Arweave me costó 0.02USD. Pueden calcular el fee de almacenamiento con esta calculadora.

Este proyecto me ha parecido demasiado bueno por la idea de almacenar datos permanentemente. Es una idea simple pero que no se había implementado. Claro que Steem/Hive lo hacen: los posts en esta red se guardan permanentemente, se supone. Pero hay límites debido al diseño de esta red. Steem/Hive no guarda, por ejemplo, imágenes o ningún tipo de datos que no sea texto, mientras que en Arweave sí se podrían guardar imágenes sin problemas o cualquier cosa. Los repositorios de github podrían guardarse en Arweave, los paquetes de software, las aplicaciones web, música, video, datos crudos, etc, etc. Esta funcionalidad básica junto a contratos inteligentes tiene muchísimo potencial. Una aplicación muy importante en el contexto actual es el almacenamiento de NFTs. Los NFTs almacenados en IPFS o peor aún en servidores web comunes o almacenamientos en la nube centralizada están desapareciendo y van a seguir desapareciendo. Es fundamental que los NFTs no queden a la deriva en el mundo centralizado y sin incentivos para el almacenamiento. Almacenar NFTs en Arweave aseguraría su estabilidad como valores digitales almacenados a perpetuidad.