Enterprise Blockchain: ¿por dónde empezar?

Desde el 2018, como parte de nuestra estrategia de innovación de Flux IT y a través de los espacios que llamamos “Trend Labs”, decidimos meternos en el mundo de Blockchain.

Demás está hablar sobre la euforia existente en todo el sector IT respecto a hacer uso de esta tendencia. Siempre que aparece una nueva metodología, concepto o tecnología (llámese SOA, Microservicios, Containerización, o lo que sea), aparece esta paranoia de que “si no nos subimos, quedamos afuera del mundo”.

Este es el primer mito que necesitamos derribar: Blockchain no es la bala de plata y su uso aplica para contextos muy particulares, principalmente:

  • Los desarrollos relacionados a criptomonedas o a tokenización de bienes físicos con criptomonedas: el modelo más explotado y con mayor madurez en el mercado potenciado principalmente por Bitcoin y Ethereum.
  • Los desarrollos relacionados a gestión descentralizada de workflows de negocio: esto se refiere a tener que consultar y manipular información de varios actores cuando entre ellos sólo hay una “confianza parcial” (volveremos a este término más adelante).

Vamos a ocuparnos de este último uso, en particular, porque nos parece el más interesante en relación al trabajo que hacemos en Flux IT y, principalmente, porque somos así: nos gusta ir por caminos difíciles, basándonos en paradigmas firmes y en conocimiento profundo.

Tipos de Blockchains

Blockchain es un concepto mucho más viejo de lo que comúnmente se cree. Sin embargo, explotó en relación a su uso a partir de 2009, con Bitcoin. La mayoría de lo que pensamos de Blockchain y sus conceptos están desprendidos de las necesidades de las criptomonedas.

Cuando queremos llevar esto mismo al mundo enterprise, entramos en conflicto: “no me sirve que sea anónima”, “yo no quiero compartir mis transacciones con otras personas”, “cuánto me va a costar a futuro este servicio”, entre otras objeciones.

A partir de esta necesidad, el mundo del Blockchain se separó principalmente en 2:

Permisionless o Blockchains Públicos

Son redes públicas en donde cualquier actor puede participar. Mis transacciones se almacenan junto con las de otros actores. Para poder escribir debemos pagar un fee, que generalmente es variable para incentivar a los “mineros”, que son los actores que mantienen la consistencia y la seguridad de la red. En estas redes, en general, se utiliza el concepto de anonimato. Bitcoin y Ethereum son ejemplos de esta tipología.

Permissioned or Private Blockchains

Son redes donde todas las reglas están establecidas y acordadas entre los actores que van a participar. Son las ideales para el contexto enterprise porque se desafían “verdades” establecidas por las redes de criptomonedas para adaptarlas a las verdaderas necesidades. Las empresas que que se aventuren por el camino de Blockchain necesitan:

  • Identidad: el anonimato es mala palabra. Necesitamos poder identificar claramente el dueño de una transacción.
  • Encriptación: se necesita que parte de la información de las transacciones sea pública y otra parte sea privada, es decir, que esté encriptada (o no visible).
  • Consenso: como la red va a correr en un entorno muchísimo más controlado, los algoritmos de consenso se flexibilizan a algoritmos de base de datos distribuidas; por lo tanto, no existe la necesidad de minar y pagar un fee por la tarea. Esto implica que los actores que participan deberán brindar y mantener infraestructura para ser parte de la red. El concepto de recompensa se transforma desde un fee monetario a la posibilidad de auditar la información de la red que forma parte.
  • ACL: no todos los actores pueden hacer las mismas acciones sobre la red. Algunos deberían sólo poder auditar y otros poder escribir cierto tipo de transacciones. Este concepto de permisos es fundamental y puede complejizarse tanto como sea necesario.

¿Cómo lo implementamos?: Hyperledger

Como toda tecnología nueva, no existe un estándar de lo que debe ser una Blockchain Permissioned. Hay varias opciones que compiten entre ellas por picar en punta. Nuestra apuesta, por el momento, es por Hyperledger, un conjunto de herramientas bajo The Linux Foundation Projects, con un gran apoyo del mundo empresarial.

Vamos a hacer foco en dos proyectos, englobados dentro de esta plataforma:

Hyperledge Fabric

Este proyecto permite crear una blockchain privada, donde los participantes conocen las identidades y los roles de los miembros. Posibilita que los componentes principales se puedan intercambiar y configurar, como por ejemplo: la base de datos del ledger, el algoritmo de consenso y los servicios de autenticación y autorización. Los nodos de esta red pueden ser dockerizados e instalarse y escalar con simplicidad.

Esta red permite generar subredes de información llamadas “canales”, los cuales facilitan aislar la información compartida entre las organizaciones participantes por algún criterio.

Para operar por esta red existe una SDK disponible en los principales lenguajes. Sin embargo, vamos a apoyarnos en un proyecto complementario, el cual trabaja en un nivel de abstracción diferente para definir y operar nuestra lógica de negocio.

Hyperledger Composer

Hyperledger Composer agrega un nivel de abstracción al problema de negocio a resolver para independizarlo de la infraestructura de la red. Con esta herramienta, y a través de un DSL, podemos definir el modelo de datos, las operaciones que lo van a manipular y los permisos requeridos. Este modelo se compila utilizando el proyecto y se puede desplegar en una red construida con Hyperledger Fabric.

Una vez construida, nos provee una API Rest a través de un Swagger, para poder interactuar con la Blockchain olvidándonos completamente de todo el ecosistema de Hyperledger Fabric. Esto aumenta notablemente el time-to-market, acercando a los equipos de desarrollo a una implementación de Blockchain exitosa.


¿En qué andamos por Flux IT?

Desde Flux IT creemos que es el momento para empezar a pensar soluciones a problemáticas de negocio incorporando las ventajas de Blockchain. El concepto de confianza parcial permite agregar un nivel mayor de interoperabilidad entre 2 o más empresas, asegurando aspectos de seguridad de manera simple.

Definitivamente romper el modelo organizacional centralizado de definición de soluciones y tener que acordar una solución entre varios actores con diferentes intereses y formas de trabajo es desde ya un inmenso desafío. Blockchain permite que la tecnología ya no sea un stopper.

A fin de cuentas, Blockchain es una base de datos distribuida con características específicas que permiten que se faciliten ciertas operatorias. Pero es muy importante adicionarle otras capacities para lograr soluciones exitosas. Conceptos como APIs, biometría o firma digital son ejemplos del éxito y la utilidad de Blockchain en el contexto enterprise.

Hoy en día, estamos volcando todos estas nociones en la adopción Blockchain para facilitar los workflows de interacción entre diferentes actores del sector portuario, y de las industrias Salud, Finanzas y Seguros, con las que venimos trabajando hace años de Flux IT.


Conocé más sobre Flux IT: Website · Instagram · LinkedIn · Twitter · Dribbble