¿Estamos listos para un mundo de blockchains?

¿Qué es un Brand Discovery ?

Lo que debe analizar con cuidado cualquier propuesta que pretenda utilizar blockchain como factor determinante sobre su éxito o fracaso

En este artículo Jesús Díaz Vico, Software Architect en BEEVA, habla de las expectativas infladas de los blockchains y de una siguiente fase de desengaño.

Utilizamos el término blockchain (cadena de bloques en inglés) para referirnos a la tecnología subyacente a Bitcoin, el sistema descentralizado de dinero electrónico propuesto en el año 2008 por el enigmático Satoshi Nakamoto. En sus primeros meses fue adoptado por unos pocos “criptoanarquistas” y fue mirado con recelo por parte de países y grandes empresas, ya que parecía amenazar el ecosistema económico actual. Pero, al poco tiempo, muchos se dieron cuenta de su potencial: se puede utilizar para reducir intermediarios, automatizar tareas, gestionar recursos digitales… y todo ello con el nivel de seguridad derivado de sistemas criptográficos robustos. Además, ya no sólo es aplicable a contextos públicos, sino que empiezan a surgir blockchains privados y federados, como Corda o Hyperledger. Semanalmente se anuncian nuevas aplicaciones, startups, proyectos, etc. basados en blockchain.

Esta tendencia creciente en la adopción de blockchain se refleja perfectamente en la curva de Gartner sobre hype para el año 2016, en la que blockchain aparece prácticamente en la cumbre de “pico de expectativas infladas”. De cumplirse las predicciones de Gartner, en el futuro próximo debería empezar la fase de desengaño, filtrando aplicaciones y propuestas sin valor o poco realistas, para posteriormente empezar a crecer de forma robusta y aportando utilidad.

curva-gartner-sobre-hype-2016
La curva de Gartner sobre hype para el año 2016.

Teniendo en cuenta el punto en el que (según Gartner) se encuentra la tecnología, ¿cuáles pueden ser los factores determinantes para que una propuesta tenga éxito o no? ¿Qué aspectos hay que tener en cuenta para saber si la filosofía blockchain es aplicable para un problema concreto? A continuación, resumimos algunos de estos retos.

Escalabilidad. Uno de los mayores problemas con los que se está encontrando casi cualquiera que experimenta con esta tecnología es su escalabilidad. La “base de datos” subyacente está diseñada de tal forma que no para de crecer. Por ejemplo, el blockchain de Bitcoin ya pasa de 80 GB. Para más INRI, suele ser requisito (aunque hay variaciones) que cada nodo de la red almacene una copia completa de esta base de datos. El resultado es que un sistema blockchain típico requiere una capacidad de almacenamiento que crece de forma lineal con el número de nodos que componen el sistema. Hay formas de relajar este requisito (por ejemplo, con los conocidos como clientes ligeros, aunque no son aplicables en todos los casos). También hay sistemas en los que se aplican principios de bases de datos distribuidas “de toda la vida” para alcanzar una mayor escalabilidad en cuanto al almacenamiento, como es el caso de BigchainDB.

Inmutabilidad. Por diseño, una vez se escribe algo en un blockchain, quedará ahí para siempre. Esto tiene aplicaciones interesantes: al establecer una línea temporal irreversible, se pueden crear marcas de tiempo relativas y fiables. Pero también puede tener efectos negativos para muchos casos. Por ejemplo, si alguien haciendo un pago a través de un sistema basado en blockchain se equivoca al poner el destinatario del pago, ese pago será irreversible; o, si alguien escribe contenido ilegal (como pornografía infantil o malware), éste quedará allí para siempre. Todo esto puede conllevar problemas legales que entorpezcan la adopción de la tecnología. En realidad, hay formas de cambiar esto (lo que se conoce como un hard fork), pero no siempre son aplicables y suelen ir acompañadas de una importante controversia, como en el incidente en el que se robaron unos 60 millones de dólares a The DAO. También en este campo hay propuestas, como las Redactable Blockchains.

Privacidad. En un blockchain típico, todo el mundo tiene acceso a todo. Si a esto le sumamos la propiedad de inmutabilidad anterior, estamos ante una tormenta perfecta. De nuevo hay muchas propuestas para atajar este problema: recientemente ha visto la luz Zcash, una “versión” totalmente anónima de Bitcoin. No obstante, un anonimato irrevocable también puede dar pie a muchos problemas (no hay que olvidar que Bitcoin, que ni siquiera proporciona un anonimato robusto, fue y es ampliamente utilizado en mercados ilegales, como Silk Road). Otras propuestas, como Hyperledger, permiten (o contemplan) introducir cifrado para controlar de forma granular quién tiene acceso a qué, aunque esto complica el mecanismo de consenso subyacente. O Corda, en donde se plantea que las partes implicadas en un acuerdo sean las únicas que decidan sobre su validez, utilizando un blockchain simplemente como mecanismo de prevención de doble gasto.

Throughput. En Bitcoin, se genera un nuevo bloque aproximadamente cada 10 minutos. En Ethereum, aproximadamente, cada 15 segundos. Los blockchains no basados en prueba de trabajo son más rápidos pero, aún así, suelen quedar muy lejos de las fracciones de segundo de los sistemas actuales (por ejemplo, en Visa se procesan miles de transacciones por segundo). También hay avances en este sentido, como la Lightning Network de Bitcoin, o la ya mencionada BigchainDB, que también fue construida con este requisito en mente, aunque está por ver cómo se comportan a gran escala.

En resumen, tenemos dos aspectos (inmutabilidad y privacidad) que pueden suponer problemas de cara a requisitos legales y otros dos (escalabilidad y throughput) que pueden afectar a la aplicabilidad de esta tecnología a grandes escalas. Cualquier propuesta que pretenda utilizar blockchain, debería analizarlas con cuidado ya que, a la larga, podría ser un factor determinante sobre su éxito o fracaso.