¿Qué es Harmony (ONE)?

El desarrollo de tecnología blockchain no se ha detenido desde el lanzamiento de Bitcoin en 2009, y parte de ese desarrollo lo podemos ver hecho realidad en Harmony, una blockchain centrada en ofrecer características especializadas para el desarrollo de aplicaciones descentralizadas (DApps) de alta velocidad y escalabilidad.

Para lograr esto, Harmony recurre a una serie de mejoras tecnológicas en su blockchain como lo es el state sharding y el desarrollo de una serie de mejoras aplicadas al mecanismo de consenso de Prueba de Participación (conocido en Harmony como EPoS – Effective Proof of Stake). Todo ello, impulsado gracias al staking de tokens ONE, el token nativo de la plataforma.

El origen de Harmony

Harmony fue fundada en 2018 por Stephen Tse y los cofundadores Rongjian Lan, Nick White y Sahil Dewan. Todos eran ingenieros de infraestructura que solían trabajar en Google, Amazon, Apple y Facebook. En su visión inicial, Harmony estaba pensada para proporcionar una infraestructura de desarrollo de DApps de alta capacidad, escalabilidad y seguridad.

Con eso en mente, Harmony recaudó una ronda privada de 18,3 millones de dólares.  A esto se le unió otra ronda de nodos de 5,5 millones de dólares (liderada por Binance Labs y HashKey Capital), y una oferta inicial de intercambio (IEO) de 5 millones de dólares a través de Binance Launchpad. Así, con más de 28 millones de dólares para el desarrollo de Harmony, el equipo se puso manos a la obra para hacer realidad todo lo que su white paper prometía.

Tras un arduo desarrollo, Harmony logró lanzar su mainnet en junio de 2019 y habilitó el sistema de staking en mayo de 2020. En la actualidad, Harmony ha logrado alcanzar su cota máxima de funcionamiento, con una red de 4 shards y 1.000 nodos, de los cuales 800 están siendo gestionados actualmente por miembros de la comunidad, como parte de un compromiso de descentralización en la red.

Los otros 200 nodos, están manejados por la Fundación Harmony. Sin embargo, la organización no cobra ninguna recompensa por el staking, sino que usa dichos fondos para realizar distintas tareas de desarrollo y bounties en la comunidad. De hecho, a medida que la red avanza y se desarrolla, la Fundación va asignando nuevos espacios para que sus nodos pasen a ser manejados por la comunidad e impulsar aún más la descentralización.

¿Cómo funciona Harmony (ONE)?

Ahora bien, Harmony se define como una red centrada en ofrecer capacidades de smart contracts avanzadas para el desarrollo de DApps. Esto es posible, porque Harmony cuenta con un completo stack de desarrollo que se asienta sobre la tecnología de Ethereum y su EVM. De hecho, estándares como los tokens ERC-20 o ERC-721, tienen su contraparte en Harmony (conocidos como tokens HRC-20 y HRC-721). Esto indica que la EVM de Harmony es compatible con la de Ethereum, y que solo se le han realizado enormes mejoras con el fin de adaptarlas a las necesidades de Harmony. En este sentido, todos los desarrolladores de DApps que generen una aplicación para Ethereum también pueden desarrollar aplicaciones para Harmony, generalmente sin mayores modificaciones.

Características principales de Harmony

A continuación vamos a revisar las características principales de Harmony.

Arquitectura totalmente escalable

El uso de shards en Harmony no sólo funciona en la comunicación de la red y la validación de las transacciones, sino también en el estado de la blockchain. Esto hace que Harmony sea totalmente escalable en los tres aspectos de la cadena de bloques: red, almacenamiento y procesamiento de transacciones.

El sharding en Harmony, conocido como state sharding, es otra de las grandes características de esta blockchain.  En Harmony, cada shard mantiene su propia blockchain y estado general Por lo tanto, los validadores de cada shard sólo necesitan almacenar una parte del estado global de la red. Harmony está particionado en 4 shards, que mantienen una coherencia de trabajo gracias a la compartición de datos atómicos entre cada uno de los shards.

Separación aleatoria segura

El proceso de sharding de Harmony es seguro contra los ataques de fragmentación (un tipo de ataque en el que se busca dividir la red en varias partes, para tratar de controlar uno o varios shards, con el fin de impulsar un comportamiento malicioso en la red en general). Para esta protección, Harmony asigna validadores de forma aleatoria, no solo a nivel de nodos, sino también de los shards de la red. De esta manera se evita una debilidad de los shards y se protege el consenso de la red.

sharding-harmony-bit2me-academy

Es decir, los shards comparten ciertos datos criptográficos entre ellos, con el fin de usar dichos datos en la generación de los bloques en cada uno de sus shards. De esta manera, los shards crean “cadenas” entre sus bloques, aunque los datos que almacenan los shards estén incompletos. De esta forma, incluso con la pérdida de un shard completo, Harmony puede aún ofrecer garantías de verificación de datos y mantener su funcionamiento. Este proceso es posible gracias al uso de Epochs (Época) y balizas, que permiten generar un conjunto de validadores y pruebas criptográficas que aseguran los enlaces entre shards (shards cross-links), manteniendo así la seguridad de la cadena.

Consenso eficiente y rápido

El algoritmo de consenso de Harmony se llama Fast Byzantine Fault Tolerance o FBFT. El FBFT es un algoritmo de consenso altamente eficiente y rápido construido sobre el famoso algoritmo PBFT (Practical Byzantine Fault Tolerance) qué es la piedra angular de los sistemas distribuidos y de la investigación del consenso durante los últimos 30 años. El FBFT de Harmony es capaz de confirmar bloques en 2 segundos gracias a la adopción de la firma agregada BLS (Boneh-Lynn-Shacham). El FBFT también está altamente optimizado en el procesamiento de mensajes de red y en la canalización de propuestas de bloques para que el consenso pueda escalar a cientos de validadores al mismo tiempo.

En general, las blockchain usan un esquema de consenso BFT (ej: Bitcoin o Ethereum). Pero esta no es la única forma de hacer consenso, ya que existen otros algoritmos BFT que solucionan (completa o parcialmente) el Problema de los Generales Bizantinos. En este caso, los desarrolladores de Harmony, impulsados por su necesidad de una red rápida,  han decidido usar como base el algoritmo PBFT (Practical Byzantine Fault Tolerance), un tipo de algoritmo BFT que no resuelve del todo el Problema de los Generales Bizantinos, pero que aún así ofrece un cierto nivel de seguridad y confianza. Este nuevo algoritmo se le conoce como FBTF o Fast Byzantine Fault Tolerance.

FBFT está diseñado para permitir la construcción de redes descentralizadas usando sharding que pueden alcanzar un consenso de forma rápida. De hecho, FBFT es la clave para que Harmony tenga tiempos de confirmación de 5 segundos entre sus bloques, lo que le coloca como una de las redes blockchain más rápidas del ecosistema. Por supuesto, esto tiene un coste, y es que FBFT es atacable con solo un 33% del poder de la red (recuerda, el ataque de 51% de Bitcoin, solo que en Harmony te basta el 33%). Esto le hace menos seguro, pero allí es donde entra en juego EPoS como un mecanismo de ecualización para evitar que esta situación pueda darse. Una solución elegante a un problema, a la vez que se disfruta de las bondades de un consenso veloz en la red.

Effective Proof of Stake

A diferencia de las blockchain tradicionales que requieren PoW (Proof of Work) para alcanzar el consenso, Harmony ha desarrollado una mejora del algoritmo Proof of Stake, al que ha llamado Effective Proof of Stake (EPoS).  Este algoritmo está centrado en ofrecer garantías de descentralización entre los shards que forman la red Harmony. Para ello, los validadores con una gran cantidad de tokens en stake están obligados a ejecutar más nodos para apoyar la red, mientras que los validadores con menos participación ejecutan menos nodos. Además, EPoS es capaz de distribuir de forma aleatoria y uniforme las apuestas entre todos los shards, de modo que ningún shard sea menos seguro que otro.

Effective Proof of Stake permite a Harmony construir una red PoS con capacidad para sharding y con seguridad adicional para ataques de tipo sybil o de particionamiento. El white paper de Harmony nos indica que la red está formada por 4 shards los cuales pueden reunir a 1000 nodos. De esta manera, cada shard está compuesto por 250 nodos equilibrando el poder de cada uno de los shards, incluso a nivel económico, ya que EPoS está diseñado para conseguir balance.

Esto es esencial, porque mientras exista un balance de poder entre los shards, un ataque de tipo sybil o un ataque de particionamiento prácticamente no tendrá ningún efecto negativo en la seguridad de la red. Además, este esquema de funcionamiento permite a la red funcionar de forma asincrónica, por lo que un shard puede estar trabajando en la validación de un grupo de transacciones mientras el resto puede trabajar en la elección de un nuevo validador para el siguiente bloque.

En todo caso, EPoS es el epicentro de ello porque este algoritmo está centrado en hacer que el staking dentro de la red esté balanceado. Por ejemplo, si el shard A tiene un mayor staking que los shards B, C y D, EPoS obligará a que el stake del shard A se balancee de tal forma, que el staking entre los shards se iguale lo más pronto posible. En caso contrario, el shard A puede ver disminuida su participación en la elección de validadores, quitando poder efectivo al shard y dando ese poder al resto de shards hasta que esté todo nuevamente balanceado. La idea es clara: si bien el poder económico decide tu participación en la red, si tienes mucho poder económico, la red buscará la forma de regularlo y hacer las cosas igualmente justas para todos, evitando que el más poderoso abuse de su posición.

EPoS y FBFT se complementan con el uso de firmas de tamaño constante Boneh-Lynn-Shacham (BLS) para comprometer bloques en una sola ronda de mensajes de consenso. De esta manera, Harmony logra hacer que las confirmaciones de red puedan darse en tan solo 2 segundos, y las confirmaciones irreversible en 5 segundos.

Infraestructura de red escalable

La capa de red de Harmony está construida sobre la base del Protocolo Gossip, usando la librería libp2p. Gossip es usado para la difusión de mensajes en red y el protocolo stream para la sincronización descentralizada de estados. Para lograr un alto rendimiento, adoptamos el código fuente RaptorQ y utilizamos el Algoritmo de Dispersión de la red entre sus nodos. Además, también se usa un esquema de enrutamiento Kademlia para lograr que la transmisión de datos entre los shards escale a medida que la red crece en números de nodos y shards.

Aleatoriedad y criptografía verificable

El uso de shards en Harmony depende de una fuente de aleatoriedad segura para que los validadores puedan ser asignados a los shards de una manera verdaderamente aleatoria para evitar los ataques. Harmony ha diseñado un protocolo de generación de aleatoriedad distribuida (DRG) que incluye tanto VRF (función aleatoria verificable) como VDF (función de retardo verificable) para conseguir las siguientes propiedades clave:

  1. Imposible de predecir: Nadie debe ser capaz de predecir el número aleatorio antes de que se genere.
  2. Imparcial: El proceso de generación del número aleatorio no debe estar sesgado por ningún participante.
  3. Verificable: La validez del número aleatorio generado debe ser verificable por cualquier observador.
  4. Escalable: El algoritmo de generación de números aleatorios debe ser escalable a un gran número de participantes.

Así, Harmony crea los pilares de funciones criptográficas y aleatorias confiables para mantener el buen funcionamiento de la red.

Tokenomics de la red

Harmony cuenta con el token nativo (ONE), el cual es usado para:

  1. Realizar staking en la red.
  2. Pagar comisiones de la red.
  3. Realizar operaciones con los smart contracts de la red.
  4. Eventualmente se usará en la gobernanza descentralizada del proyecto.

El token tiene una emisión máxima de 13,6 mil millones de tokens, de los cuales inicialmente se distribuyeron:

  1. Los Tokens de la ronda semilla de inversión comprenden el 22,4% del suministro total.
  2. El total de tokens de la IEO comprenden el 12,5% de la oferta total.
  3. Los tokens del equipo representan el 16,9% de la oferta total.
  4. Los tokens de desarrollo del protocolo comprenden el 26,4% de la oferta total (de este total, unos 505 millones de tokens se vendieron en la Ronda de Nodos para incentivar a los primeros participantes a unirse a la red como validadores).
  5. Tokens de desarrollo del ecosistema, los cuales representan el 21,8% de la oferta total.

Actualmente hay 12,8 mil millones de tokens en circulación dentro del ecosistema Harmony.