Capítulo 3 Tecnología blockchain (estado del arte)
3.1 Características y funcionamiento
Yaga et al. (2018), definen a blockchain como un libro mayor digital distribuido de transacciones firmadas criptográficamente que se agrupan en bloques. Cada bloque se vincula criptográficamente con el anterior después de su validación y de someterse a una decisión de consenso. A medida que se añaden nuevos bloques, los bloques más antiguos se hacen más difíciles de modificar (pág. 49). Para cambiar el contenido de un bloque, se necesita cambiar al menos el 51% de la red, lo cual es computacionalmente complejo (Zibin et al., 2017, como se citó en Upadhyay, 2019, pág. 14). Los nuevos bloques se replican a través de copias del libro mayor dentro de la red, y cualquier conflicto se resuelve automáticamente utilizando reglas establecidas (Yaga et al., 2018, pág. 49).
Cada participante en la red denominado nodo o par, sostiene un bloque de la cadena que contiene los detalles de las transacciones cronológicas validadas ocurridas en la misma; y cada bloque contiene cierto número de transacciones (Upadhyay, 2019, pág. 13; Valenta & Sandner, 2017, pág. 2).
Blockchain es una combinación de tres tecnologías aplicadas de una nueva manera, a saber: 1) la criptografía asimétrica; 2) una red distribuida con un libro mayor compartido; y 3) un incentivo para dar servicio a las transacciones de la red, el mantenimiento de registros y la seguridad (Bauerle, 2017). El resultado es un sistema de interacciones digitales que no requiere de un tercero de confianza, y la robusta arquitectura de red de la propia tecnología asegura las relaciones digitales.
Una red distribuida reduce el riesgo de corrupción o fallo centralizado, y debe comprometerse a mantener los registros y la seguridad de la red de transacciones.
La autenticación y la autorización son vitales para las transacciones y permiten interacciones en el mundo digital sin depender de la confianza. Por un lado, la criptografía asimétrica proporciona una poderosa herramienta de autenticación, por otro lado, la autorización de las transacciones es el resultado de la aplicación por
60 parte de toda la red de las normas sobre las que fue diseñada (el protocolo de la blockchain) (GĚRENS, 2018).
En la Figura 3, se muestra una red blockchain simplificada.
Figura 3. Red blockchain simplificada.
Fuente: Elaboración propia con información de Upadhyay, 2019, pág. 14.
Los bloques están compuestos por dos partes principales: un encabezado e información, denominados en inglés como “block header” y “block data”, respectivamente. Estas partes están compuestas de diversos campos dependiendo de cada implementación blockchain. De manera general, el encabezado contiene metadatos para ese bloque en específico dentro del que se encuentran el número del bloque; el hash del bloque anterior (el primer bloque no contiene este dato y se denomina bloque génesis (Van Hijfte, 2020, pág. 34)); el hash de la información del bloque y una marca de tiempo (denominada en inglés como “timestamp”), la cual muestra el momento de creación del bloque. La otra parte, contiene el conjunto de transacciones validadas y eventos del libro mayor (Yaga et al., 2018, págs. 15-17;
Golosova & Romanovs, 2018). En la Figura 4, se muestra una blockchain genérica:
61 Figura 4. Blockchain genérica.
Fuente: Elaboración propia con información de Yaga et al., 2018, pág. 17.
A través de la difusión de las transacciones cada nodo crea su propia versión actualizada de eventos (Bauerle, 2017). El proceso general de una transacción se describe a continuación y se representa de manera general en la Figura 5 (Upadhyay, 2019, pág. 15; Ajn & van de Ruit, 2018, pág. 6):
1. Inicio de la transacción.
El emisor quiere transferir al receptor un activo o su valor representado digitalmente e inicia una transacción. El emisor transmite la información sobre la transacción a la red. La información de la transacción comprende la dirección pública del emisor, el valor de la transacción y una firma digital criptográfica. La firma digital criptográfica ayuda a garantizar la autenticidad de la transacción.
2. Autenticación de la transacción.
Los nodos participantes reciben la información de la transacción y autentifican la validez. Cuando la transacción es validada, se coloca en el conjunto de transacciones.
3. Creación del bloque.
El conjunto de transacciones se coloca en el bloque por uno de los nodos participantes de la red. El nodo en un intervalo específico contiene el bloque de transacciones y lo transmite a la red blockchain para su validación.
4. Validación del bloque.
62 Los nodos participantes inician el proceso de validación al recibir el bloque de transacciones. El proceso de validación se ejecuta de forma iterativa, lo que requiere para su finalización el consenso de la mayoría de la red. Existen diversas técnicas de validación cuyo propósito es evitar la falsificación, el fraude y el engaño, y lo más importante, confirmar que cada transacción es válida.
5. Encadenamiento del bloque.
El bloque se encadena en la blockchain existente, y el libro mayor actualizado se difunde a la red.
Figura 5. Proceso general de una transacción en blockchain.
Fuente: Elaboración propia con información de Upadhyay, 2019, pág. 14.
Las características clave de la tecnología blockchain se pueden puntualizar de la siguiente manera (Yaga et al., 2018, pág. 2; Ajn & van de Ruit, 2018, pág. 12;
Bashir, 2018, pág. 44):
• Libro mayor: Utiliza un libro mayor adjunto para proporcionar un historial completo de las transacciones.
• Distribuida: Cada nodo posee una copia de toda la cadena.
• Descentralizada: Prescinde de una entidad central que gobierne y se encargue exclusivamente de todas sus operaciones.
Paso 1 Inicio de la transacción.
Paso 2 Autenticación de
la transacción.
Paso 3 Creación del
bloque.
Paso 4 Validación del
bloque.
Paso 5 Encadenamiento
del bloque.
63
• Inmutable: Una vez que una transacción válida se incluye en un bloque y la red ha llegado a un consenso sobre el nuevo estado de la blockchain, ni la transacción ni el bloque pueden ser alterados.
• Compartida: El libro mayor se comparte entre múltiples nodos.
• Transparente/Auditable: Cada nodo tiene una visión de todos los bloques y transacciones.
• Segura: Es criptográficamente segura, garantizando que los datos contenidos en el libro mayor no han sido manipulados.
Es importante mencionar que en una red blockchain los nodos pueden tomar el rol de escritor o lector. Por un lado el escritor, también denominado validador, forma parte del protocolo de consenso y ayuda a hacer crecer a la blockchain, es decir, es capaz de acumular transacciones dentro de un bloque y de añadir este bloque a la cadena; por otro lado, el lector no extiende la blockchain, sino que simplemente la lee y analiza o audita (Wüst & Gervais, 2018, pág. 45).
Dependiendo de la aplicación de la tecnología blockchain se establecen las reglas para determinar cuándo una transacción es válida o no, o cuándo es válida la creación de un nuevo bloque. El proceso de verificación puede ser adaptado para cada blockchain y se pueden establecer las reglas e incentivos necesarios cuando suficientes nodos llegan a un consenso sobre cómo deben verificarse las transacciones (Bauerle, 2017). Sin embargo, no importa cómo se construyan, todas las blockchains se basan en la criptografía, el arte y la ciencia de codificar la información para que sea difícil de descifrar (Hyperledger White Paper Working Group, 2018, pág. 3; el nombre puede ser traducido como “Grupo de trabajo del Libro Blanco de Hyperledger”).