Hashgraph es una interesante tecnología de protocolo de consenso y DLT que busca competir con la tecnología blockchain ofreciendo seguridad y alto rendimiento, sin renunciar a la descentralización.
La nueva tecnología de libro mayor distribuido (DLT) de tercera generación, nombrada como Hashgraph, promete ser la evolución de la ya conocida tecnología blockchain, introducida por Bitcoin en 2009.
Este nuevo proyecto fue dado a conocer públicamente en marzo de 2018, por el profesor de Ciencias de la Computación, Leemon Baird. Aunque el desarrollo del proyecto realmente comenzó con los trabajos que Baird empezó en el año 2012. En este entonces, Baird buscaba crear un algoritmo de consenso distribuido altamente escalable y que fuera seguro. Su trabajo le llevó al diseño de Hashgraph, un algoritmo de consenso altamente escalable cuyo whitepaper se publicó en el año 2016. El nombre de este whitepaper es “Hashgraph Consensus: Fair, Fast, Byzantine Fault Tolerance”, y ya dejaba bien en claro a qué apuntaba Baird con su creación.
Gracia a este trabajo, el algoritmo de consenso de Hashgraph es considerado por muchos analistas como la primera tecnología capaz de hacer frente a la tecnología blockchain. Esto especialmente debido a su alta escalabilidad y el nivel de seguridad que el sistema es capaz de alcanzar. Por lo que, con la aparición de Hashgraph, se abre una nueva posibilidad al mejoramiento y evolución de esta increíble tecnología descentralizada.
Pero antes de continuar primero hace una aclaratoria: Hashgraph es el nombre de la tecnología de consenso de la que estamos hablando ahora. Mientras que Hedera Hashgraph es la compañía y el círculo de gobernanza privado que maneja dicha tecnología. Aclarado este punto, podemos comenzar a conocer un poco más sobre esta interesante tecnología y todo lo que tiene por ofrecernos.
Hashgraph una tecnología DLT futurista y escalable
El proyecto Hashgraph está basado en el desarrollo de tecnologías de Registros Distribuidos Similares o Contabilidad Distribuida, conocidos como DLT. Para su funcionamiento se emplea un algoritmo de consenso asincrónico basado en esta tecnología de contabilidad distribuida. El hecho de que el algoritmo sea asincrónico significa que este algoritmo es capaz de realizar tareas múltiples con variaciones de tiempos entre las peticiones y las respuestas dentro del sistema. Con ello se busca mejorar el rendimiento y perfeccionar la actual y ya conocida tecnología blockchain.
Un punto adicional de Hashgraph es que el algoritmo busca ofrecer método más eficientes a la hora de proteger la plataforma contra ataques informáticos. Para ello, Hashgraph hace uso de un sistema de difusión de información veloz y asincrónico, lo que garantiza que los datos en la red llegan a todos los nodos de forma más rápida. Además, se elimina la necesidad de utilizar nodos mineros para realizar las validaciones de la información. Con estos dos punto, se logra que las transacciones puedan efectuarse de forma mucho más rápida y eficiente, manteniendo la seguridad y confiabilidad.
Para dejar de lado la estructura de minería, Hashgraph emplea un protocolo de consenso basado en la votación virtual. Este sistema a su vez es apoyado por su sistema de transmisión de información llamado, Gossip Protocol. De esta manera, Hashgraph opera de forma mucho más eficiente que usando protocolos conocidos como Proof of Work (PoW) o Proof of Stake (PoS).
Gossip Protocol de Hashgraph
Para hacer más eficiente y rápido el proceso de validación de las transacciones, Hashgraph emplea el protocolo Gossip. Este protocolo permite a los nodos transferir e intercambiar información de forma aleatoria con otro grupo de nodos conectados a la red, y donde éstos a su vez, transferirán la misma información a otro grupo de nodos.
El origen del Protocolo Gossip está relacionado con los algoritmos de replicación epidémica descritos por Demers Alan, Greene Dan, Hauser Carl, Irish Wes, Larson John, Shenker Scott, Sturgis Howard, Swinehart Danm y Terry Doug en su estudio “Epidemic Algorithms for Replicated Database Maintenance” de 1987. Este trabajo es vital para el desarrollo de estos algoritmos, no solo para Hashgraph sino también para otras ramas de la informática.
Este protocolo permite que, una vez llegado a un determinado punto, la información sea replicada a todos los nodos de la red Hashgraph por medio del protocolo gossip about gossip. De esta forma, todos los nodos pueden validar y procesar la información, y al mismo tiempo, tener conocimiento concreto de todos los detalles de la operación. Con ello, el proceso de validación será mucho más rápido y eficiente que el realizado por otros protocolos como PoW o PoS.
Para lograr todo esto, Gossip Protocol realiza la comunicación entre ordenador – ordenador. El objetivo es sencillo: difundir la información de las transacciones realizadas por los usuarios de forma rápida y confiable. Esto se logra porque cada nodo en la red replica el mensaje en la misma magnitud en la que lo recibió. Por ejemplo, si un mensaje inicial fue enviado con 100 destinos, cada uno de esos destinos replicará ese mensaje a 100 destinos distintos. La continuación de esta cadena hará que en unas pocas operaciones de transmisión, los mensajes hayan llegado a todos los nodos que forman la red.
Lo anterior junto con la tecnología de Hashgraph, permite que una transacción sea confirmada por la mayoría de los nodos de la red en tan sólo unos pocos segundos. Al mismo tiempo, permite realizar hasta 10.000 transacciones por segundo (TPS), lo que es una enorme mejora en la escalabilidad en comparación con Bitcoin y otra criptomonedas.
Además, en este protocolo, los nodos ejecutan el mismo algoritmo de consenso que los demás nodos. Por lo que mantienen una estructura de datos muy segura y confiable criptográficamente. Así se podrá llegar a un consenso sobre la información procesada, llevando un registro detallado con la fecha y hora de aprobación, además de una firma digital del usuario que generó la operación.
Características de Hashgraph
El sistema presentado por Hashgraph presenta grandes características y funciones en comparación con la tecnología blockchain. Sin embargo, la totalidad de las mismas aún no están del todo pulidas o implementadas, debido a que están en desarrollo. Sin embargo, entre sus características actuales y funcionales podemos mencionar:
Seguridad
En Hashgraph se emplea la Tolerancia Asincrónica de Falla Bizantina (aBFT), un tipo de BFT para garantizar la seguridad de los datos almacenados dentro de la red. A fin de evitar que actores maliciosos puedan modificar o manipular la información para su conveniencia.
El hecho de que Hashgraph presente este tipo de tolerancia garantiza que ningún miembro individual (o pequeño grupo de miembros) puede impedir que la comunidad llegue a un consenso. También garantiza que no se pueda cambiar el consenso una vez que se ha alcanzado. Cada miembro llegará a un punto en el que sabrá con certeza que ha llegado a un consenso y el proceso es realizado de forma asincrónica por lo que es eficiente en términos de velocidad.
Adicionalmente, Hashgraph ofrece soporte para esquemas criptográficos como Ed2551, RSA-3072, ECDSA y Smart contract ID.
Velocidad
El protocolo de consenso de Gossip empleado por Hashgraph es el secreto tras la velocidad de la red en el procesamiento de los datos e información. Con él se pueden llegar a procesar hasta 10.000 transacciones por segundos, quedando validadas de forma casi instantánea. Este protocolo ha sido construido de tal forma que a medida que la red crece en número de nodos estos terminan sumando potencia de procesamiento efectivo a la red.
Equidad
En Hashgraph, los nodos son elegidos al azar y no requieren de la posesión de poder de hash o cómputo para participar en la validación de información. Además, Hashgraph emplea la marca de tiempo, por lo que el orden en el que se procesan y validan las transacciones no tiene mayor importancia.
Escalabilidad
Hashgraph ha logrado combatir el principal problema que han presentado las blockchains desde el inicio, la escalabilidad. Esta nueva tecnología de algoritmo asimétrico es mucho más escalable; al tiempo que reduce de forma significativa el riesgo a bifurcaciones.
Soporte ACID
Hashgraph es compatible con ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad) un término que aplica para base de datos y que asegura la consistencia de los datos almacenados en la misma.
Acceso justo
Hashgraph es fundamentalmente justo porque ningún individuo puede impedir o retrasar una transacción. Si uno (o pocos) nodos maliciosos intentan impedir que una determinada transacción se entregue al resto de la comunidad y así se añade al consenso, entonces la naturaleza aleatoria del protocolo Gossip garantizará que la transacción fluya alrededor de ese bloqueo.
Timestamps justos
En Hashgraph cada transacción tienen un timestamps consensuado que refleja cuándo la mayoría de los miembros de la red recibieron esa transacción. Esta marca de tiempo consensuada es «justa», porque no es posible que un nodo malicioso la corrompa y la haga diferir en mucho de ese momento.
Para ello, a cada transacción se le asigna un tiempo de consenso, que es la mediana de los tiempos en que cada miembro dice que la recibió por primera vez. Recibido aquí se refiere al tiempo en que un nodo dado paso la transacción a otro nodo a través del protocolo Gossip.
Esto forma parte del consenso, y también tiene todas las garantías de ser un proceso con tolerancia a fallos bizantinos. Así, si más de 2⁄3 de los miembros participantes son honestos y tienen relojes confiables en su computadora, entonces la marca de tiempo en sí misma será honesta y confiable, porque es generada por un miembro honesto y confiable o cae entre dos veces que fueron generadas por miembros honestos y confiables.
Orden de transacción justa
Las transacciones se ordenan de acuerdo con sus marcas de tiempo. Como las marcas de tiempo asignadas a las transacciones individuales son justas, también lo es el orden resultante.
Mutabilidad controlada
A diferencia de tecnología blockchain, Hashgraph no es del todo inmutable, en su lugar, el sistema tienen una mutabilidad controlada. Es decir, existe la posibilidad bajo ciertas condiciones que los nodos puedan alterar la información contenida en el DLT y el resultado se exponga a un nuevo consenso por parte de la red.
Smart Contracts y Criptomonedas
Hashgraph es un protocolo diseñado completamente para crear múltiples herramientas, y para ello se vale de la capacidad de crear criptomonedas y smart contracts.
Gobernanza del sistema
En la actualidad Hedera Hashgraph está gobernada por el llamado Consejo de Gobierno de Hedera. Este es un consejo de expertos compuesto por un total de 39 empresas y organizaciones líderes a nivel mundial, distribuidas en hasta 18 industrias diferentes y que abarcan una amplia gama de geografías.
El Consejo de Administración toma decisiones clave sobre actualizaciones de software, precios de redes, gestión de tesorería y más. Los miembros del Consejo de Administración tienen un mandato limitado y no reciben ningún beneficio de Hedera. Este consejo está estructurado para satisfacer de la mejor manera posible el deseo de un gobierno descentralizado, sabio y estable en los intereses a largo plazo de la plataforma. Todos los miembros del consejo de gobierno han tomado propiedad parcial de Hedera Hashgraph LLC, al firmar el acuerdo.
Los primeros once miembros del Consejo de Gobierno de Hedera incluyen: Boeing, Deutsche Telekom, DLA Piper, FIS, IBM, Magalu, Nomura, Tata Communications, Swirlds y Swisscom Blockchain.
La finalidad de crear este cuerpo de gobernanza es evitar que Hedera sea gobernada por grupos desconocidos de mineros y promotores. Además indican que esta estructura empresarial reduce en gran medida el riesgo de disputas ideológicas o personales que han afectado a la gobernanza de otras plataformas públicas de DLT. Por otro lado, significa que Hedera tiene un ecosistema fuertemente centralizado donde estas empresas deciden el futuro de la tecnología y quienes tienen acceso a la misma y bajo que condiciones.
Hashgraph vs Blockchain
Una de las diferencias más notorias entre estas dos tecnologías es, por supuesto, la implementación de un protocolo de consenso distinto. En blockchain, se emplea el Proof of Work o prueba de trabajo (PoW) para generar nuevos bloques dentro de la cadena y validar la información. Mientras que en Hashgraph se emplea el Gossip Protocol para difundir la información de las transacciones realizadas entre los nodos interconectados a la red. Éste último, no necesita realizar complejos cálculos computacionales. Por lo que no demanda el consumo de una gran cantidad de energía, y por tanto, su proceso es mucho más económico y rápido.
Por otra parte, la forma en cómo funcionan estas dos tecnologías también denota una gran diferencia. Sin embargo, nlockchain opera de una forma sincrónica, donde cada nuevo evento está íntimamente relacionado con el evento anterior. Mientras que en Hashgraph, los procesos ocurren de forma asincrónica, por lo que cada evento se maneja y procesa de forma independiente uno de otro.
Así mismo, los lenguajes de programación donde han sido escritas estas tecnologías también son diferentes. Blockchain está escrita en diferentes lenguajes de programación, mientras que Hashgraph emplea los lenguajes de Java y Lisp. De la misma forma, la propiedad sobre estas tecnologías también difieren. Mientras que la blockchain que emplea Bitcoin es pública y accesible a todos, Hashgraph es de propiedad privada en su mayoría, por lo que su accesibilidad puede ser un poco más compleja.
Ahora bien, una de las similitudes que guardan entre sí estas dos tecnologías, es que en ambas, los nodos de la red almacenan una copia exacta de los datos registrados. Y una vez procesada una información, es inmutable dentro del registro.
Por último, aunque los beneficios que ofrece la tecnología de Hashgraph sobre blockchain tienen bastante ventaja. Sin embargo, es aún una tecnología en desarrollo con muchos puntos incompletos e inmaduros, por lo que habrá que esperar hasta su lanzamiento completo para comprobar su funcionamiento y características, junto a la comunidad.