Blockchain: empecemos por la base

Una forma de entender Blockchain es conociendo el origen de su creación. Blockchain surge como una tecnología detrás del Bitcoin. Satoshi Nakamoto, creador de Bitcoin, deseaba tener una plataforma de intercambio de dinero electrónico sin la intervención de una entidad reguladora. Prescindir de una entidad reguladora, trae como consecuencia que se deba resolver, entre otros,  un problema denominado “double spending”. En otras palabras, si yo transfiero 100 pesos a una persona, el sistema debe asegurar que no los tenga más, y por lo tanto no los pueda volver a transferir.

Para solucionarlo, decide almacenar todas las transacciones efectuadas en un “libro mayor”, donde cada registro contiene un conjunto de transacciones que son organizadas y almacenadas en bloques; de ahí el origen del nombre.  

Además de almacenar todas las transacciones y que sean inmutables, tal como ocurre en un libro de contabilidad, donde nada se borra ni se modifica, se debe garantizar que las transacciones sean válidas.

Para que efectivamente se prescinda de una entidad reguladora, cada uno de los participantes, llamados nodos, debe tener la misma jerarquía, o sea que todos pueden realizar los cálculos para poder agregar transacciones o validar bloques y todos deben poseer una réplica completa de las transacciones. De esta forma, se asegura que sea la propia red de transferencia quien notariza sus transacciones.

Aunque todos los nodos puedan tener la posibilidad de validar una cadena, no necesariamente deben hacerlo para poder participar. En el caso de Bitcoin, cualquier nodo puede consultar transacciones ya validadas o ingresar nuevas transacciones. Algunos de ellos, denominados “miners” (mineros), pueden además participar de la validación, a cambio de una retribución por hacer ese trabajo. Estos nodos compiten entre sí por ser el primero en tomar algunas de las transacciones pendientes de validación y proponer un nuevo bloque que las contenga. El que lo logra primero lo notifica a la red, recibe su premio, y todos vuelven a competir por ser el próximo en lograr validar un bloque.

Resumiendo, las características de esta tecnología son:

  • Distribuido – cada nodo de la red posee una copia de las transacciones.
  • Inmutable – no se puede modificar ni borrar información.
  • Descentralizado – todos los nodos tienen la misma jerarquía.

La solución original era una Blockchain denominada pública, donde cualquier persona se descargaba la aplicación y se convertía en un nodo con los mismos derechos que todos. La existencia de un protocolo de consenso, que es el protocolo mediante el cual se elige a un nodo para realizar la validación, permite a todos los nodos compartir un registro de información confiable sin que exista la necesidad de preocuparse de que los nodos individuales sean efectivamente confiables.

Si bien las características descritas anteriormente son las de una solución Blockchain, existen variantes que no cumplen estrictamente con todas ellas. Existen también las denominadas Blockchain privadas y federadas, en las que existen nodos privilegiados administrando la cadena y decidiendo cómo el usuario promedio, accede a través de una interfaz que ellos proveen.  Al existir nodos privilegiados, puede ocurrir que no todos los participantes tengan la copia completa de la cadena o que no todos puedan proponer transacciones, o validar bloques, o visualizar toda la información almacenada.

La diferencia entre una Blockchain privada y una federada es que, en la privada el control está reducido a una única entidad que se encarga de mantener la cadena, dar permisos a los usuarios que se desea que participen, proponer transacciones y aceptar los bloques. En las federadas, esta actividad la realiza más de una entidad.

¿A qué casos aplica una cadena de Blockchain?

Si se está frente a un problema que necesite descentralización, varios actores fuera de la organización, registro inmutable, transparencia y validación, es posible que Blockchain sea la solución.

Existen modelos que evalúan las características del caso para ayudar a tomar la decisión de adoptar Blockchain como solución. Por ejemplo:

Uno de los casos de uso más común de aplicación, es el registro de la trazabilidad de cualquier producto o servicio. Cada participante va grabando en la cadena de bloques, información acerca del paso en el que interviene. Esta información puede ser brindada por un sistema,  por un dispositivo de IOT, un GPS o incluso, puede ser brindada por un Oráculo que es quien posee la información, como por ejemplo, el estado del tiempo.

Otros casos interesantes, son los que además de realizar un registro de eventos, ejecutan alguna acción si se dan determinadas condiciones. Esto es lo que se realiza mediante contratos inteligentes que no es más que código de programa que se ejecuta en forma autónoma.   

Que se ejecuten automáticamente determinadas acciones si se cumplen las condiciones establecidas por los participantes, es uno de los puntos fuertes que posee esta tecnología porque el criterio no es ambiguo, se evita burocracia y subjetividad a las decisiones.

Una vez determinado que Blockchain es la solución, se deben contestar otras interrogantes: ¿quién tendrá acceso?, ¿quién administra los permisos?, ¿cuáles serán las transacciones en las que podrán participar los nodos?, ¿cuáles serán las reglas para validar?, ¿cuál es el presupuesto?

Por último, es oportuno aclarar que para llevar a cabo estos proyectos, se requerirán equipos multidisciplinarios que además de conocer de tecnología y del negocio, en algunas oportunidades deberán involucrar asesores legales, por ejemplo, por las características de la inmutabilidad o por la privacidad de la información a almacenar.

Sin dudas Blockchain es una tecnología que llegó para quedarse y que brinda nuevas oportunidades para simplificar procesos, eliminar burocracia, fortalecer la seguridad y eliminar intermediarios en variados campos de aplicación como los son, el registro de propiedades, logística, cadena de suministros, manejo de activos, manejo de identidad, documentos públicos, etc.

Escrito por Alejandra Lemos – Gerente de Proyectos de GeneXus Consulting.

Fuentes:

PH de portada: unsplash.com – Hitesh Choudhary

https://publications.iadb.org/bitstream/handle/11319/8919/Blockchain-Como-desarrollar-confianza-en-entornos-complejos-para-generar-valor-de-impacto-social.pdf?sequence=1&isAllowed=y

https://medium.com/@sbmeunier/when-do-you-need-blockchain-decision-models-a5c40e7c9ba1

  • En Perspectiva – Mesa de las Tics:  

Parte 1
Parte 2
Parte 3

  • Charlas en Encuentro Genexus GX27:

https://www5.genexus.com/meeting2017/gx27.search.aspx?blockchain#es/Blockchain-y-sus-desafios-de-negocio

https://www5.genexus.com/meeting2017/gx27.search.aspx?blockchain#es/Bitcoins-y-Blockchain-Un-nuevo-mundo-mas-alla-de-lo-financiero