Artículos

Aprende los tres elementos clave de blockchain con este ejemplo práctico

Blockchain es una tecnología que nace en 1991 con la publicación “How to Time-Stamp a Digital Document” (Cómo registrar documentos digitales) de S. Haber y S. Stornetta con la idea de crear un mecanismo para registrar de forma inmutable y confiable todo tipo de archivos multimedia en internet.

Desde ese momento, la tecnología se ha extendido a aplicaciones y usos más amplios. Actualmente hay varias opciones de código abierto como Hyperledger, Corda, EFW o Multichain donde puedes descargar la aplicación de blockchain y programar la cadena a tu gusto, decidiendo quién quieres que participe y bajo qué reglas se regulan las transacciones. También se pueden crear entornos federados haciendo un fork de una red pública, como Ethereum, creando así tu propia red customizada. Es por eso que, en muchas ocasiones, el código generado por la comunidad de desarrolladores puede ser y es reutilizado. A modo de ejemplo, en Github se pueden encontrar los repositorios de Ethereum o Hyperledger, que son quizás los dos softwares más utilizados para establecer nuevas redes de Blockchain.

A la hora de diseñar una solución en base a una red de blockchain, se puede empezar por tener en cuenta lo siguiente:

Blockchain no es una criptomoneda

En 2008, Bitcoin, la primera y más exitosa criptomoneda, utilizó la tecnología blockchain para crear una red en la cual personas anónimas pudiesen realizar transferencias de moneda no fiduciaria sin necesidad de intermediarios. Tras el nacimiento de Bitcoin comenzaron a lanzarse muchas otras criptomonedas utilizando blockchain, siendo hoy ya más de 2.000. Más allá de las criptomonedas, el éxito de la tecnología blockchain para generar consenso, funcionar de forma descentralizada y resistir intentos de hackeo con su condición de inmutabilidad, motivó a la comunidad emprendedora a considerarla como una opción atractiva para construir soluciones digitales a nivel gubernamental y empresarial.

Una vez se entiende que blockchain no es una criptomoneda sino un registro descentralizado de información que se almacena en forma de transacciones que se agrupan en bloques, surgen preguntas como ¿qué son las transacciones? o ¿cuáles son los participantes y cómo interactúan con la red?

Entonces, ¿cuáles son los elementos clave de blockchain para diseñar una solución?

Primero, vale reconocer que no todos blockchains son iguales. En general, podemos clasificar los diferentes tipos de blockchain en cuatro grupos: públicos, privados, federados y “Blockchain como un servicio” (BaaS por sus siglas en inglés). Sus principales diferencias son el modelo de administración, el nivel de descentralización o el grado de transparencia, entre otras características. La opción más recurrida a la hora de desarrollar soluciones digitales con valor de impacto social son las redes federadas, que permiten a empresas e instituciones gubernamentales utilizar la tecnología blockchain para generar consenso y aumentar la seguridad. El ejemplo que daremos en este blog corresponde a un blockchain de este tipo.

Sin embargo, hay ciertos ingredientes que casi todos los blockchains tienen en común por defecto. Los tres elementos clave en la función del blockchain son sus participantes, activos, y transacciones.

1. Participantes

Los participantes son todos aquellos colectivos que van a jugar un papel en la solución digital con blockchain. Estos incluyen desde las compañías que administran la red (en el caso de que las haya) hasta los usuarios de a pie, pasando por entidades auditoras, instituciones financieras, etc.

Para dimensionar el papel de cada participante, vale preguntarse: ¿Cuáles son los permisos que tendrá sobre la red? ¿Cómo va a interactuar con el sistema? ¿Tendrá acceso a una copia de toda la cadena? ¿Podrá ver solo las transacciones en las que participe o tendrá acceso a más información? ¿Cuáles son las transacciones que podrá realizar?

Dependiendo de cuáles sean las respuestas a estas preguntas, los participantes recibirán o no una copia de toda la cadena y tendrán o no permisos para ver y/o validar transacciones. Solo los participantes que tienen una copia de la cadena son considerados nodos, según la definición que damos en nuestro documento. El resto, que accederán en general a través de un servicio web o una aplicación móvil, son simplemente usuarios.

2. Activos

Una vez tenemos claro quiénes van a ser los participantes, necesitamos saber qué van a intercambiar a través de la red blockchain. La forma de entender este grupo es pensar que cuando los participantes hacen una transacción, en muchas ocasiones están transfiriendo algo. Ese “algo” es el activo, y puede ser un documento, un certificado, un informe, un token, una moneda digital, etc.

Es importante también resaltar que los documentos pesados no se almacenan en el blockchain si no en bases de datos conectadas al blockchain, lo que permite igualmente registrar sus modificaciones. Esto está motivado por cuestiones de eficiencia, ya que todos los nodos tienen una copia actualizada de la cadena y la ineficiencia es directamente proporcional al peso de la misma.

3. Transacciones

El tercer elemento son las transacciones. Si bien ya sabemos quién va a “jugar” (los participantes) y cuáles van a ser los “juguetes” (los activos), falta definir cuáles van a ser las reglas del juego. Las transacciones son la forma en la que se registra cualquier modificación en el blockchain, desde el cambio de permisos de un usuario en el sistema, hasta la emisión de un certificado o el envío de una transferencia económica. Pueden verse también como las operaciones mediante las cuales los participantes crean, intercambian, modifican o destruyen activos.

Blockchain para monitorear una cadena de suministro internacional

Vamos entonces con el ejemplo. Supongamos que una empresa uruguaya quiere exportar un cargamento de carne a México. El gobierno mexicano exige que la carne esté certificada como libre de aftosa y que no sobrepase una temperatura determinada en todo el recorrido. Con este objetivo, se realizará un control periódico de la temperatura, digamos cada 15 minutos, en el contenedor en el que viaja la carne. Si la carne llega a México teniendo el certificado “libre de aftosa” y sin haber superado la temperatura exigida, se desea que el gobierno mexicano realice el pago acordado a la empresa uruguaya.

¿Cómo sería en este caso una solución utilizando blockchain? ¿Cuáles son los participantes, los activos y las transacciones?

Fuente

Relacionado