Tendermint: ¿Qué es y cómo funciona este mecanismo de consenso?

23 de septiembre de 2024

¿Sigues preguntándote qué es Tendermint? Aquí tienes una explicación, de nivel intermedio.

Puntos clave

  • Tendermint es un software de código abierto que permite a un conjunto de tres o más nodos informáticos llegar a un consenso sobre cierta información. No es una cadena de bloques en sí misma, pero ayuda a impulsar muchas cadenas de bloques populares como la cadena Binance, THORChain y Maya.
  • Alrededor de 100 nodos activos conforman un conjunto de validadores de Tendermint eficiente, descentralizado y seguro al día de hoy. Se necesita la aceptación de dos tercios de todos estos nodos para consignar un nuevo bloque en una cadena de bloques.
  • Tendermint integra una serie de medidas de seguridad, como las garantías de "bonos", el "churning" y las migraciones de fondos recurrentes, todas ellas incorporadas en Maya Protocol.

¿Qué es Tendermint?

Tendermint, técnicamente llamado "Tendermint Core", es un software de código abierto desarrollado por Ignite. Permite que un conjunto de ordenadores llegue a un consenso sobre una información específica y se utiliza principalmente en las cadenas de bloques basadas en pruebas de autoridad. Junto con el SDK de Cosmos y el protocolo IBC -desarrollado por los mismos equipos- impulsa la red de blockchains de Cosmos, que incluye cadenas como Binance Chain, THORChain, Maya Protocol y Aztec Chain.

¿Cómo funciona?

Nodos

Tendermint proporciona las especificaciones necesarias para facilitar un acuerdo entre un conjunto de nodos sin dejar de ser tolerante a fallas bizantinas. Para conseguirlo, todos los nodos validadores deben depositar un "bono" colateral de monedas, con la idea de que los operadores de nodos no actúen de forma maliciosa si están comprometidos con los recursos de la red. Los nodos validadores también participan en el gobierno de la cadena, y su poder de voto se pondera en función de su participación total.

Aunque un mayor número de nodos da lugar a una red más segura, el número total de nodos validadores en Tendermint no escala muy bien. Esto ocurre porque todos los nodos tienen que conocer y hablar con el resto del conjunto, lo que implica un aumento exponencial de la latencia. Por ejemplo, en una red de 10 nodos, cada nodo tiene que hablar con 9 más, mientras que en una red de 100 nodos, cada nodo tiene que hablar con 99 más. Aun así, lo que Tendermint pierde en escalabilidad de número de nodos, lo gana en Transacciones por Segundo (TPS) y Finalidad Instantánea, que son componentes muy importantes a tener en un DEX multicadena.

Se consigue una mayor resistencia de la red si estos nodos validadores se despliegan en diferentes ordenadores, son controlados por diferentes organizaciones y están ubicados en diferentes zonas geográficas. En particular, cualquier persona puede pujar anónimamente para unirse o abandonar el conjunto de validadores publicando su bono en la red.

A día de hoy, unos 100 nodos activos podrían ser un buen número para tener un conjunto de validadores Tendermint eficiente, descentralizado y seguro. 

Rondas de validación

El proceso de consenso funciona por rondas, con uno de los nodos activos asumiendo el papel de proponente y el resto como validadores cada vez. Estos roles cambian en cada bloque (ronda) y continúan sin fin. 

En cada ronda, el nodo proponente designado recoge todas las transacciones que han aparecido desde que se aceptó el último bloque y las organiza en un nuevo bloque de información que se propone a los nodos validadores para su análisis. Estos nodos validadores comunican entonces su aceptación o rechazo del bloque a todos los demás.

Si 2/3 de los nodos notan que 2/3 de los votos para el bloque fueron positivos, entonces han alcanzado un consenso, lo que resulta en un nuevo bloque comprometido a la cadena y la nueva información empujada a la capa de aplicación. Recuerde que Tendermint por sí mismo no es una cadena de bloques, sino sólo el motor de consenso.

La red incorpora una serie de medidas de seguridad para aumentar la seguridad, evitar la colusión y contrarrestar los nodos maliciosos o que no responden. Una de las más destacadas es el "churning", que consiste en una reorganización recurrente de los validadores activos elegidos entre los establecidos automáticamente. Los fondos de los usuarios también se migran constantemente a nuevas "bóvedas".

En el Protocolo Maya

El Protocolo Maya utiliza Tendermint como su motor de consenso, lo que nos permite ejecutar una red segura y resistente que puede crecer y fortalecerse sobre la marcha. Junto con otras tecnologías, Tendermint nos permitirá formar parte del ecosistema de blockchains de Cosmos y exportar una coordinación segura a otros proyectos, como la Cadena Azteca.

Siempre puede encontrar más información sobre Tendermint en su página web oficial o en su Whitepaper. O puede seguir explorando nuestros artículos relacionados dentro de la Academia Maya. Asegúrese de compartir sus opiniones con nosotros a través de Twitter o en nuestro servidor Discord. ¡Nos leemos pronto!