En el precedente artículo hablé sobre la blockchain, la tecnología detrás del bitcoin, y su potencial para transformar nuestro modelo económico actual, siempre y cuando los desafíos tecnológicos de la blockchain (velocidad, equidad y viabilidad energética) sean resueltos. En este artículo, les propongo hablemos de las tecnologías de registros distribuidos o DLT, de su evolución desde la creación de la blockchain, pasando por soluciones como Ethereum, IOTA, hasta llegar a Hashgraph. ¡Esta última, constituye hoy en día una de las soluciones más prometedoras en el vasto panorama tecnológico actual!

Es importante anotar que, en este artículo, hago referencia a nociones sobre el funcionamiento de la blockchain, por lo cual los invito, antes de seguir la lectura, a consultar mi anterior artículo.

¿Qué es una tecnología de registros distribuidos?

La tecnología de registros distribuidos, o DLT en inglés (Distributed Ledger Technologies), permite compartir y almacenar información utilizando de los recursos informáticos de los participantes, gracias a un proceso “consensual” que permite validar, controlar y mantener la misma información y la misma estructura de datos en todos los computadores, sin pasar por un intermediario. Este último punto, uno de los más importantes, es al mismo tiempo, el más difícil de realizar. Por esta razón, la aparición de la blockchain en el 2008 representa la concretización de un modelo tecnológico, hasta entonces altamente teórico. ¡Ciertos expertos dicen que la blockchain funciona mejor en práctica que en teoría!

¿Cómo poner todos los participantes de acuerdo en cuanto al orden y la validación de la información, sin pasar por una entidad central y, sobretodo, cuando desconfiamos de los demás?

Como lo veremos en próximos artículos, las DLT son más que un problema tecnológico, ya que requieren, para su buen funcionamiento, tener en cuenta el comportamiento humano. Para entenderlo, es necesario comprender el problema inicial, el cual fue presentado magistralmente y por la primera vez en un artículo publicado en los años 80.

La idea es simple: imaginen varios generales bizantinos en el campo de batalla listos para atacar. No tienen la posibilidad de comunicar directamente entre ellos, el campo enemigo y caminos pocos seguros los separan entre ellos. Para vencer, todos los generales deben estar de acuerdo en la estrategia a seguir: atacar al mismo tiempo o retirarse. Si no logran ponerse de acuerdo perderán la guerra.

¿Cómo lograr coordinarse entre ellos si los mensajeros enviados pueden ser capturados, intimidados o trabajar para el enemigo? Peor aún, es posible que algunos de los generales sean espías, y envíen mensajes contradictorios.

Esta historia condensa la esencia de los problemas que surgen en una red distribuida sin entidad central:

Es un sistema un sistema imperfecto: los computadores o sus componentes pueden fallar,

Utiliza un medio de transmisión de datos inseguro: la información enviada a través de la red puede perderse o ser modificada intencionalmente,

No es inmune a los ataques: los hackers pueden alterar el funcionamiento del sistema para obtener un beneficio personal,

Es un sistema donde la desconfianza prima: ya que es necesario poder asegurarse de que la información recibida es correcta, sin importar de quién o por qué medio se ha recibido.

En un artículo publicado en el 2008, gracias a la criptografía, a problemas complejos, a una estructura de información encadenada y a un mecanismo de recompensa ingenioso, Satoshi Nakamoto, propuso una solución suficientemente robusta para dar vida a un sistema distribuido sin entidad central.

¡La blockchain concretiza más de 40 años de estudios, investigaciones y teorías sobre la utilización de una red distribuida sin entidad central!

¿Cuáles son los desafíos actuales de esta tecnología?

Aunque la blockchain, primera DLT funcional, ha mostrado su robustez (casi 10 años de funcionamiento sin interrupciones), también presenta ciertos desafíos tecnológicos que, con el tiempo y la multiplicación de su uso, podrían transformarse en serios problemas para su utilización. Los principales desafíos son:

Velocidad: la blockchain fue inventada con la idea de ser simple y accesible por todos. Para lograrlo fue necesario limitar la velocidad. La blockchain solo permite validar un nuevo bloque cada 10 minutos, lo cual conlleva a un máximo de 7 transacciones por segundo. Esta decisión limita su utilización y campo de acción. Para conocer más sobre las aplicaciones y el funcionamiento de la blockchain los invito a leer mi artículo anterior.

Seguridad: El sistema de bloques encadenados utilizado en la blockchain, se basa en la capacidad de los mineros en “obtener el derecho a agregar un nuevo bloque” a la cadena actual, siempre y cuando resuelvan un problema matemático complejo. Este proceso, ingenioso, no impide que, en ciertas ocasiones, se creen dos ramas. Este conflicto debe ser resuelto pues es indispensable que la cadena sea única. La “decisión” se basa en la rama más larga. ¡Y por esta razón es necesario esperar! La blockchain no permite conocer immediatamente y con certeza (probabilidad=1) que la transacción ha sido integrada a la cadena principal. La probabilidad aumenta con cada nuevo bloque que se agrega al bloque inicial. Es “poco probable” que la transacción sea rechazada después de 6 bloques, lo cual significa esperar alrededor de 1 hora. Para ciertas aplicaciones, esta característica impide la utilización de la blockchain (transacciones bancarias diarias, pagos instantáneos, aplicaciones en tiempo real,…)

Consumo energético: El método utilizado por la blockchain para escoger e incentivar a los mineros a trabajar “honestamente” es, a la vez, efectivo pero ineficaz. Efectivo, porque logra el objetivo de agregar un bloque cada 10 minutos pero, ineficaz, porque consume enormes cantidades de recursos para tal proceso. La blockchain recompensa al nodo o minero que logre resolver un problema matemático complejo. Complejo no significa en este caso complicado sino intenso. Es necesario aportar recursos de cálculo importantes para poder resolver el problema los más rápido posible. ¿Por qué? Porque el sistema recompensa únicamente al primero que lo resuelva. Por eso, es necesario “llegar de primero”. Supongamos que Alicia y Bob son dos mineros con la misma capacidad de computo. Cada uno tiene entonces una probabilidad de 50% para resolver el problema. Si Alicia decide “doblar su capacidad de computo” para aumentar sus posibilidades de ganar (66% contra 33%), en ese caso Bob perderá más seguido. Bob decide aumentar su capacidad de cómputo y así, cada uno, con el tiempo y buscando ser el primero, consumirá más recursos. Para empeorar la situación, la blockchain necesita limitar la velocidad de resolución de los problemas para evitar crear un problema de ramificación. La blockchain “ajusta” la complejidad del problema, más o menos cada semana. Este proceso se realiza teniendo en cuenta la “capacidad de computo” de los mineros, de tal manera que, el tiempo de resolución de los problemas sea constante (alrededor de 10 minutos).

¡Se estima que, hoy en día, el consumo energético global de la blockchain corresponde al consumo energético anual de Irlanda!

Equidad: Actualmente los mineros pueden influenciar las transacciones incluidas en un bloque y/o el orden de inclusión. Este comportamiento no es aconsejable, desafortunadamente es inevitable: para recompensar a los mineros, la DLT utiliza un sistema basado en la prueba de trabajo (resolución de un problema complicado) y en la posibilidad para los mineros de cobrar un porcentaje por cada transacción. Además, como el minero tiene la posibilidad de “ver” las transacciones incluidas en un bloque, éste puede decidir qué transacción agregar o rechazar. Para escoger las transacciones, el minero puede evaluar cuáles son las más productivas para él. Igualmente, puede incluir su propia transacción para anular la ejecución de una transacción, guardando de paso el pago de sus honorarios. Finalmente, puede incluir su transacción cuando las condiciones son favorables.

Concentración de poder: Pocos lo saben, pero, las DLTs dejan de ser seguras a partir de un cierto nivel de concentración de los recursos de computo. En el caso de la blockchain, si un minero tiene más de 51% de la capacidad total de computo de la red, éste será capaz de manipularla (duplicar o controlar las transacciones, manipular el histórico de las transacciones, etc.). Como se puede apreciar en este vínculo, actualmente, la capacidad de computo está principalmente concentrada en tan solo algunos mineros. ¡Los dos más importantes mineros hacen parte de la misma empresa y representan casi 50% de la capacidad total de la red!

¿Existen soluciones diferentes a la blockchain?

Desde la aparición de la blockchain en el 2008, varios modelos han tratado de mejorar su funcionamiento y su aplicación. Por ejemplo, Ethereum es otra DLT basada igualmente en el método de encadenamiento de bloques. Tiene la ventaja de extender el campo de acción de la blockchain al permitir el almacenamiento de instrucciones, en vez de almacenar únicamente un registro de valores. Gracias a este nuevo sistema, es posible definir aplicaciones donde, la ejecución de las acciones, se realiza en función de condiciones establecidas de antemano. Por ejemplo, el pago de un bono por el retraso de un vuelo puede ser activado “automáticamente” al recuperar la información directamente de la aerolínea, sin necesidad para el usuario de presentar une serie de documentos y de reclamar por semanas este pago. IOTA es otro tipo de DLT que propone un modelo distribuido adaptado a micro pagos y a equipos con recursos limitados, como los objetos conectados actuales y futuros (relojes, autos, juegos, alarmas, bombillos, edificios, …). Recientemente, Hashgraph, un nuevo modelo tecnológico de registros distribuidos, se ha convertido en el centro de atención al proponer una tecnología eficaz, segura, justa y, sobretodo, eco responsable.

¡Hashgraph es la DLT más prometedora en el panorama tecnológico actual!

¿En qué se diferencian estas tecnologías?

Las DLTs se diferencian principalmente por tres atributos principales: el tipo de acceso a la red, el método de consenso, y el método de selección/ponderación.

Tipo de red: existen dos tipos de red, las redes abiertas o accesibles sin permiso previo (permissionless) y las redes cerradas o accesibles con permiso previo (Permissioned). En una red “abierta”, los participantes pueden conectarse y desconectarse libremente. La blockchain y Ethereum son ejemplos de redes abiertas. Por oposición a este tipo de redes, se encuentran las redes cerradas, que controlan el acceso, identificando cada participante y, en algunos casos, definiendo un perfil especifico a cada uno de ellos. Corda o Hyperledger son ejemplos de redes cerradas.

Método de consenso: Los métodos de consenso se pueden organizar en 2 grandes categorías: consensos basados en la selección dinámica de un líder o, consensos basados en el resultado de un voto. Blockchain, Ethereum son consensos basados en un líder mientras que Corda, Hyperledger o Hashgraph están basados en un proceso de voto.

Método de selección/ponderación: Los sistemas distribuidos difieren de los sistemas centralizados en que no tienen una entidad central para definir el orden y la validez de la información almacenada en la red. Así, es necesario poder definir un método dinámico, que permita obtener un consenso en el orden y la validez de la información almacenada por todos los participantes. Para ello, es necesario utilizar un método de selección, en el caso del líder, y uno de ponderación, en el caso de una votación. La blockchain utiliza un método llamado “prueba de trabajo”, Ethereum utiliza un método llamado “Prueba de propiedad”. Existen muchos métodos de selección/ponderación, cada uno con sus ventajas o inconvenientes (Prueba de tiempo, prueba de consumo, prueba de destrucción, …)

¿Por qué hablar de Hashgraph?

Hashgraph es un algoritmo de consenso que permite decidir el orden y la validez de cada transacción de la red distribuida. Para hacer una analogía, se puede comparar Hashgraph al motor de un carro. Una solución distribuida podrá utilizar este algoritmo sin necesidad de utilizar la blockchain o Ethereum. Finalmente, Hashgraph remplaza las soluciones actuales. Una programa o aplicación informática basada en esta tecnología, utilizará la criptografía y el encadenamiento de la información, para asegurarse que la información recibida no ha sido alterada y que, la persona que la envía tiene el derecho de hacerlo (el carro no funciona sin llantas, carrocería y otros sistemas segundarios).

Hashgraph hace lo que las otras tecnologías de registros distribuidos hacen, pero lo hace de forma más segura, justa y, sobre todo, a gran velocidad

Si se puede definir la tecnología en términos generacionales, se puede decir que la blockchain es la primera generación, Ethereum es la segunda generación y Hashgraph es tercera generación.

¡En la actualidad empresas como CULedger, OpenCrowd, VMS Software e INTIVA Health, utilizan Hashgraph para construir sistemas distribuidos de nueva generación!

¿Cómo funciona Hashgraph?

En este vínculo se explica su funcionamiento. En resumen: Hashgraph permite obtener un consenso general sobre la validez y el orden de llegada de cada una de las transacciones del sistema distribuido, siempre y cuando 2/3 de los nodos funcionen correctamente. Hashgraph utiliza un método de comunicación aleatorio, llamado “gossip” o rumor. Así, un nodo comunica con otro nodo sin orden predefinido y repite este proceso hasta que el mensaje haya sido transmitido a todos los nodos. Cada nodo hace lo mismo y, en un tiempo exponencial, la información es distribuida en toda la red. La blockchain utiliza este mismo procedimiento para comunicar entre nodos. La diferencia radica en el contenido del mensaje. En vez de transmitir la información sobre la transacción, Hashgraph transmite igualmente la información sobre la fuente de esta información. Una vez la información distribuida, cada nodo en Hashgraph conoce la transacción, qué nodo recibió esa información, a qué hora la recibió y finalmente de quién la recibió. Es por esta razón que Hashgraph se conoce como un protocolo de tipo “Gossip about Gossip” o rumor sobre el rumor.

¡Todos lo sabemos, los rumores se propagan como un reguero de pólvora! 

¿Por qué Hashgraph es interesante?

Hashgraph es interesante porque es el primer modelo tecnológico de registros distribuidos capaz de realizar un gran número de transacciones por segundo, asegurando con certeza que se ha llegado a un acuerdo en el orden y la validez de los datos y, finalmente, que el resultado del orden y de la validez de los datos no puede ser alterado intencionalmente. Gracias a estas características, Hashgraph permitirá desarrollar soluciones distribuidas hasta ahora inimaginables con la blockchain o con Ethereum, como por ejemplo juegos en línea, sorteos, bolsas de mercado electrónico, transacciones bancarias nacionales o el desarrollo de transacciones a partir de objetos conectados.

Hashgraph es igualmente interesante porque su modelo descentralizado no se basa en métodos de selección que requieren una capacidad importante de cálculo, evitando así la concentración de poder y el aumento desmesurado del consumo energético.

¡Por esto y por muchas otras razones que discutiré en próximos artículos, les recomiendo se mantengan actualizados sobre los avances en esta tecnología, capaz de transformar nuestro modelo económico actual!