En la actualidad una de las tecnologías más interesantes y emergentes es Blockchain. Si no ha oído hablar de esto, permíteme presentarle los conceptos principales detrás del Blockchain:
Inmutabilidad: Blockchain es un registro distribuido en el que cada copia se organiza en una cadena de bloques. Cada bloque tiene una identificación proporcionada por un hash, por lo cual, si se modifica alguna parte de algún bloque, su correspondiente hash también cambiará. En este esquema, la inmutabilidad se logra creando un enlace criptográfico entre cada bloque y el anterior. Debido a que cada bloque se refiere al hash del bloque anterior, entonces cambiar de contenido en algún bloque implica el cambio del hash del siguiente bloque; al final, todos los bloques posteriores tendrán diferentes hashes. Por lo tanto, la adulteración del contenido de Blockchain se puede notar fácilmente.
Integridad: En Blockchain, la integridad se logra mediante una dirección de cuenta segura y única. Cada dirección de cuenta se genera seleccionando un número (clave privada), luego se genera una clave pública mediante el esquema ECDSA (en español, Algoritmo de Firma Digital de Curva Elíptica), una vez que se obtiene la clave pública se calcula un hash, esto representa la dirección de la cuenta.
De otro lado en la autorización de la transacción por parte del emisor mediante firma digital, el emisor incluye como parte de la transacción el contenido firmado del hash de la transacción con su clave privada.
La verificación del contenido de la transacción no se modifica. Otros participantes en la red pueden verificar fácilmente que la transacción es auténtica utilizando la clave pública correspondiente para descifrar la firma que está incluida en la transacción, y volver a calcular el hash de la transacción; finalmente, si coinciden, la transacción se valida.
Rastreabilidad: Al usar Blockchain podemos rastrear cada registro de lo que se almacena. Esta es una característica importante que se aplica ampliamente para rastrear las diferentes etapas por las que han pasado los productos.
Robustez: este es un tema más complejo y técnico, por lo que sólo comentaré que en el caso de las redes Ethereum, Blockchain resuelve el problema del gasto doble asegurándose de que se agregue un bloque después de un riguroso protocolo de consenso (para lidiar con Soft Fork) y una combinación de transacciones “nonce” y “timestamp” (para abordar el problema cuando dos transacciones apuntan al mismo activo digital).
Desde el punto de vista corporativo existen muchas otras características que se necesitan para escalar Blockchain a un nivel corporativo, entre estos la consecución de permisos y módulos de privacidad.
Enterprise Ethereum Alliance y Hyperledger Besu
EEA significa Enterprise Ethereum Alliance, que abarca a muchas grandes empresas como JP Morgan Chase Bank, N.A., Intel, BBVA entre otras. El objetivo de esta organización es impulsar el uso de la tecnología blockchain de Ethereum como un patrón abierto para capacitar a todas las empresas atendiendo a sus requisitos.
Hyperledger Besu, escalando blockchain de Ethereum al nivel corporativo
Hyperledger Besu se integra a un nuevo cliente Ethereum escrito en Java desde cero y mejora el algoritmo de consenso IBFT. Cabe recordar que el protocolo optimizado es IBFT2.0 y que el IBFT fue propuesto originalmente por Qorum.
En una red IBFT2.0 existen nodos especiales llamados “validadores” que se encargan de agregar nuevos bloques a la red. Este proceso se logra luego de una ronda entre todos los validadores en la red. Sólo los validadores tienen la capacidad de agregar o quitar validadores en la red.
Otros nodos que no son validadores se conocen como nodos regulares. Estos nodos pueden enviar nuevas transacciones, pero no pueden escribir en la cadena; este privilegio solo lo realizan los validadores.
Una ventaja de IBFT2.0 es la finalidad inmediata, lo que significa que no hay bifurcaciones en la red (no se pueden agregar a la cadena dos bloques válidos, pero diferentes con la misma altura), por lo que no hay posibilidad de que exista más de un bloque válido para la misma altura en algún momento, porque un bloque candidato solo es propuesto por uno de los validadores (proponente) y luego se importa a cada cadena sólo si cada nodo ha recibido 2n/3 mensajes de otros validadores que indican que el bloque es válido.
Si es así, ese bloque es agregado para cada nodo participante. El proponente se altera constantemente después de cada ronda de consenso; esto asegura la exención en el proceso de consenso. Claramente, esta característica aborda la robustez en este tipo de red, por lo que ahora las Soft Forks ya no existen.
Técnicamente no hay forma de modificar los bloques y cambiar los validadores, salvo el consenso entre todos los validadores, donde más del 50% de ellos deben votar para agregar o eliminar un nuevo validador.
Otra característica de IBFT2.0 es que, para continuar procesando bloques, la red debe tener al menos 2 de 3 de nodos validadores activos en la red; de lo contrario, la red deja de validar bloques.
Implementación de las especificaciones EEA (Enterprise Ethereum Alliance). Gracias a esta implementación, ahora es posible utilizar una red Ethereum y crear grupos privados donde sólo los participantes de ese grupo pueden crear transacciones entre ellos. Esta característica cobra relevancia debido a la variedad de posibilidades que pueden representar esas transacciones privadas. Con esta característica, los participantes pueden rastrear transacciones privadas y nadie, excepto los participantes del grupo privado tienen acceso para leer o escribir transacciones. Se puede obtener mayor información sobre Blockchain a un nivel corporativo en: https://kaytrust.id/
De ese modo, hemos propuesto lo siguiente:
1. La capacidad para que los usuarios bifurquen una red que funcione con el algoritmo de consenso IBFT2.0. La bifurcación forma parte del ecosistema blockchain. Incluso en entornos privados, se requiere la posibilidad de que los participantes bifurquen la red. En un escenario de consorcio, es posible que uno o varios nodos (puede ser regular o validador) quieran ser independientes en algún punto de la cadena. Esta mejora fue propuesta por everis Digital Lab.
2. Código de prueba relacionado con la interacción entre contratos inteligentes públicos y privados. La privacidad es una característica que Hyperledger Besu ha lanzado recientemente. Como parte de nuestra investigación, en el laboratorio digital estamos constantemente probando esas nuevas funcionalidades para asegurarnos de que todo funcione como se espera.
____________________
El autor de este artículo, Juan José Domingo Miranda, es Digital Architecture Director en everis.