¿Sigues preguntándote qué es Tendermint? Aquí tienes una explicación, de nivel intermedio.
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.
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.
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".
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!