Haciendo más fácil lo que parece difícil: la trazabilidad con blockchain de la cadena de suministro
Ante tantas preguntas, lo mejor es tocar la tecnología. En el Lab de ElevenPaths tenemos como lema que si algo lo oyes, lo olvidas. Si lo ves, lo recuerdas. Pero, en cambio, si lo haces, lo terminas aprendiendo. Con este fin, una de las herramientas que más nos ha ayudado a explicar las posibilidades que ofrece una cadena de bloques permisionada es el proyecto de Multichain.
Un caso de uso: el seguimiento de la cadena de suministro
Imaginemos un caso de cadena de suministro que implica a dos o más organizaciones. En este caso, no podemos confiar en que el registro de todas las operaciones se realice de manera individual dado que la mera existencia de información falsificada o borrada podría tener consecuencias negativas para el resto de actores de la cadena. Sin embargo, sigue siendo fundamental que todos se pongan de acuerdo en ver qué operaciones han tenido lugar para evitar controversias.
Para resolver este problema, necesitamos una base de datos compartida en la que se escriban todos los registros. Cada registro acompañado de un sello de tiempo y una prueba de su procedencia. La solución estándar pasa por crear un intermediario de confianza, cuya función consiste en recopilar y almacenar los registros de forma centralizada. Pero las cadenas de bloques ofrecen un enfoque diferente, dando a las organizaciones una forma de gestionar conjuntamente este archivo, a la vez que impiden que los participantes individuales (o pequeños grupos de ellos) lo corrompan.
En este sentido, nuestra cadena de bloques tendrá el objetivo de realizar la trazabilidad, por ejemplo, de las camisetas creadas por un fabricante hasta que llegan al pequeño comercio para su venta. En este caso tendremos, por tanto, distintos actores:
- El fabricante de las camisetas, que, además de producir las camisetas físicamente, emitirá un nuevo token digital que representará en nuestra cadena a las camisetas.
- Los distintos actores que formen parte de la cadena de distribución de las camisetas, que irán dejando constancia en la blockchain cada vez que traspasen los activos al siguiente actor en la cadena de suministro.

Para facilitar que un tercero se pueda conectar a nuestra cadena de bloques, deberá instalarse el software de multichain y conectarse a nuestro nodo siguiendo los pasos que ya nos muestra el cliente al arrancar el nodo original.
Sin embargo, no perdamos de vista que estamos trabajando con una cadena de bloques permisionada. Si hemos seguido las instrucciones como hasta hora las nuevas máquinas que se vayan a conectar a nosotros todavía no tienen ningún permiso, ni tan siquiera para conectarse. De hecho, al arrancar el comando anterior en un segundo servidor, el nodo se descargará las reglas del juego de esta nueva blockchain, pero todavía no podrá conectarse.

Tras asignar ese permiso, el nuevo servidor ya podrá conectarse para sincronizarse con el resto de la cadena de bloques y, además, podrá recibir y enviar assets en ella. A partir de ahora, desde cualquiera de los nodos conectados a la red, podremos interactuar con la cadena desde la interfaz de línea de comandos y pedirle información, sobre, por ejemplo, qué direcciones tienen permiso de conexión. Esto lo podemos hacer utilizando el comando listpermissions connect.

La emisión de nuevos assets
Para generar la representación en la cadena de bloques de nuestras camisetas recién fabricadas, tendremos que emitir (issue) estos nuevos activos. Hay que tener en cuenta que no todo el mundo debe tener permisos de emisión (en nuestro caso, solamente será el fabricante) y además que esas camisetas recién generadas tendrá que tener permisos de recepción (receive). Esto nos obligará a definir claramente cuáles son los roles que adquirirá cada participante.


Una vez las hemos emitido, ¿cómo podría funcionar el sistema cuando llegue el primer distribuidor a recoger el primer lote de 200 camisetas? El fabricante tendrá que emitir una operación de envío (sendasset) en la que especificará la dirección del distribuidor/destinatario, el tipo de asset y la cantidad a enviar.

En este punto, solo nos quedaría verificar en el nodo del distribuidor la cantidad de camisetas recibidas por parte del fabricante. Este proceso de envío de assets se replicará tantas veces como actores tenga nuestra cadena de suministro con la garantía de que cada operación va a quedar sellada con su correspondiente marca de tiempo en la cadena de bloques que creemos y que estará replicada en todos los nodos que formen parte de la red que la sostiene.