No tengo duda que la tecnología Blockchain cambiará la forma en la que desarrollamos soluciones de negocio, ya lo está cambiando ahora mismo realmente. Sin embargo,  como todas los hypes en tecnología tenemos que separar el grano de la paja. No todo se puede hacer (se debe) hacer con blockchain, así que en este artículo quiero hacer una reflexión de cuando está indicado utilizar la tecnología de la cadena de bloques para una solución y cuando no. Para ello es necesario conocer las características claves de blockchain y como aplicarlo a los casos de uso. Vamos a ello…

Criterios para usar blockchain

En este artículo de IBM proponen 5 preguntas que tendríamos que hacernos antes de acometer un proyecto con Blockchain. Para ver si merece la vida meternos ahí o valdría con una solución tradicional, esto es, una aplicación con un frontal, un API de servicios de negocio y una base de datos de toda la vida (ahí incluyo las relacionases y las NoSQL).

Me parece un buen guión para evaluar si realmente nuestra funcionalidad de negocio necesita una solución basada en blockchain o es suficiente con algo más tradicional como un servicio web con una base de datos.

Los criterios son los siguientes:

¿Hay más de una empresa formando parte de la red?

El primer criterio incide sobre la característica fundamental de blockchain, con la que hace posible que un grupo de personas o empresas puedan trabajar juntos. Así pues, preguntarse cuántas organizaciones van a formar parte de la red es lo primero que tenemos que hacer.

Aunque creo que habría que reflexionar un poco sobre qué es lo que entendemos por organización. No hay que olvidar que dentro de una empresa (o grupo de empresas) pueden existir varias organizaciones, entidades o divisiones de la misma.

También habría que recalcar que cuando tenemos un producto B2C, dirigido al público final, también habría que considerarlo como otra organización y por lo tanto también podría aplicar el uso de blockchain.

Así pues, respecto al primer punto, creo que uno de los aspectos importantes a la hora de pensar en la idoneidad de usar blockchain para una solución de negocio habría que constatar que más de una compañía, organización o división dentro de la compañía, o bien una solución B2C (contando aquí al público como otra “compañía”).

¿Se requiere algún tipo de consenso para la funcionalidad que se necesita?

El consenso forma parte intrínseca de una cadena de bloques. Aunque puede haber varios tipos o algoritmos de consenso es necesario establecer unas reglas de juego claras que permiten que, al margen de toda duda, se pueda saber cuál es bloque y la cadena auténtica respecto a otras subcadenas que puedan surgir. Típicamente se suele decir que es necesario el 51% de los intervinientes para dar por bueno un bloque.

El mecanismo de consenso es algo fundamental en una cadena que se basa en la desconfianza entro los participantes. Si quieres saber más sobre este interesantísimo concepto te recomiendo este artículo del LibroBlockchain.

¿Es necesaria la trazabilidad de algún tipo de activo?

Uno de los principales casos de uso de una cadena de bloques es precisamente la trazabilidad (tracking) de un activo digital o de un archivo físico digitalizado de alguna forma. Es conocido el caso de Everledger, un blockchain para registrar diamantes y hacer el seguimiento durante toda la cadena de distribución para evitar así los provenientes de zonas conflictivas o de origen ilícito. En este caso lo que se hace es registrar la “firma” única que tiene cada diamante.

Otro sector donde hay mucho movimiento en el uso de blockchain para la trazabilidad es, por supuesto, el sector alimenticio. Donde su aplicación permitirá saber sin duda alguna, el origen, procesamiento y distribución de cualquier alimento.

Así pues, la necesidad de la trazabilidad de un activo nos dará una pista bastante clara de la necesidad de utilizar una blockchain.

¿Se necesita que los datos manejados por la solución sean inmutables?

En una cadena blockchain se puede seguir el rastro de las transacciones desde el principio de los tiempos hasta el presente. Además estas transacciones están grabadas en piedra, criptográfica eso sí, y es imposible modificarla.

Disponer de una base de datos que sea inmutable… ¿es necesario para tu solución?. Es evidente que sí para el caso por ejemplo de tener una criptomoneda, pero también para los casos mencionados anteriormente. Si tenemos un sistema que me dice quién es el propietario de un diamante porque se lo ha vendido otra persona, evidentemente no querremos que venga alguien y cambie el libro para decir que el propietario es otro.

¿Es importante disponer de una fuente única de la verdad?

Tradicionalmente, cuando dos empresas colaboran en todo tipo de negocios, con una solución basada en que cada compañía tiene su propia base de datos, se producen todo tipo de conflictos. Por algo tan simple como los datos que tengo yo sobre esta transacción o este activo no coinciden con los que tienen tú grabados… ¿quién tiene razón? ¿cuáles son los datos auténticos? ¿donde está la verdad?.

Si te haces estas preguntas, es que necesitas disponer de una fuente única de la verdad, y que blockchain es tu solución.

Conclusión

Si te estás haciendo la pregunta de si deberías usar blockchain para implementar una solución de negocio, creo que lo primero que hay que tener claro es si realmente necesitas esta tecnología o es suficiente con una base de datos de toda la vida.

Con estas cinco preguntas, creo que nos podemos hacer una idea bastante clara si necesitamos una blockchain o no. El primer punto es quizás el más importante y que debería cumplirse siempre en nuestro escenario. Como dice el artículo de IBM, quizás con el resto de criterios sería suficiente con responder afirmativamente a una de ellas.

 

 

Anuncios