Guía para principiantes de Tendermint: motor de cadena de bloques tolerante a fallas bizantino

Que es Tendermint

Tendermint es un motor de cadena de bloques de bajo nivel que proporciona una replicación de estado segura y consistente en muchas máquinas. Es una herramienta débilmente síncrona (principalmente asíncrona), tolerante a fallas bizantinas (BFT) que se utiliza como un consenso plug-and-play para estados de aplicaciones arbitrarios y sistemas distribuidos.

Concebido principalmente como un mecanismo de consenso más eficiente y seguro para el protocolo de prueba de trabajo de Bitcoin, Tendermint ha evolucionado a lo largo de su existencia y ahora es el motor de consenso subyacente de la red Cosmos..

Que es Tendermint

Antecedentes de Tendermint

Tendermint es un proyecto de código abierto propuesto por Jae Kwon en 2014 en un publicación que ahora está desactualizado, pero es una lectura fascinante si tiene tiempo. Aborda el problema de la replicación segura y consistente en máquinas de estado que son intrínsecamente difíciles de lograr..

En los sistemas blockchain, la necesidad de tolerar que los actores malintencionados comprometan los nodos y propaguen mensajes falsos es una característica fundamental que les permite funcionar y llegar a un consenso honesto sobre el estado de la red. Sin embargo, los medios para lograr este consenso con el modelo de prueba de trabajo de Bitcoin son ineficientes y requieren muchos recursos. Tendermint propuso un nuevo modelo BFT, particularmente también enfocándose en permitir que el motor de consenso primario del software Tendermint se use en varias otras redes blockchain y sea universalmente compatible con otros lenguajes de programación..

Tolerancia práctica a fallas bizantinas

Leer: ¿Qué es el Consenso de Nakamoto??

Como resultado, el concepto inicial de Tendermint se ha optimizado a lo largo de los años para facilitar su uso como un motor de consenso blockchain de propósito general con una interfaz de aplicación patentada. Actualmente, Tendermint es el motor de infraestructura de Cosmos Network, una plataforma marco de múltiples cadenas, comúnmente conocida como “Internet de Blockchains”.

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

En general, Tendermint tiene algunas capacidades únicas y una tecnología intrigante. Entonces, cómo funciona?

Como funciona?

Tendermint es un motor de cadena de bloques de propósito general que puede albergar estados de aplicación arbitrarios y se compone principalmente de 2 componentes principales:

  1. Tendermint Core: el motor de consenso Tendermint BFT
  2. Application BlockChain Interface (ABCI): permite la replicación BFT de aplicaciones escritas en cualquier lenguaje de programación

Tendermint funciona como prueba de participación protocolo que es BFT. Diseñado como una herramienta plug-and-play, es intuitivo de usar y diseñado para una interoperabilidad eficiente. Se puede implementar de manera efectiva como mecanismo de consenso para cualquier red blockchain. La ABCI desacopla el mecanismo de consenso de la capa P2P del estado de la aplicación y permite una interfaz limpia entre la lógica de la aplicación y el motor de consenso..

Tendermint utiliza un mecanismo de prueba de participación, que es fundamental tener en cuenta al leer la siguiente sección. Veamos los 2 componentes principales.

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Tendermint Core

Tendermint Core, el motor de consenso subyacente del software general Tendermint, garantiza que las máquinas de la red distribuida registren el orden de las transacciones de la misma forma. Dado que Tendermint es un mecanismo de consenso BFT, hace las mismas suposiciones que otros sistemas BFT, específicamente que no más de ⅓ de los nodos en la red pueden ser bizantinos en cualquier instancia dada..

Del mismo modo, utiliza un mecanismo de votación basado en rondas como otros mecanismos BFT. Para poner mejor el concepto en contexto, a continuación se muestra una lista de mecánicas BFT similares para seleccionar el nodo líder en cada ronda:

  • Practical BFT utiliza un formato de estilo round-robin para seleccionar el nodo líder para cada ronda.
  • Prueba de tiempo transcurrido utiliza un temporizador aleatorio dentro de SGX para su proceso de selección de líder.
  • Bitcoin utiliza el Consenso de Nakamoto, donde se resuelve un rompecabezas computacional de prueba de trabajo en un formato similar a una lotería para determinar el líder de cada ronda (minería).

Tendermint utiliza una versión optimizada diseñada para escalar a miles de transacciones por segundo y permitir una sencilla funcionalidad plug-and-play. Podemos dividir la ronda en Tendermint BFT en 3 etapas:

  • Propuesta de bloque
  • Voto previo
  • Pre cometido

Los participantes en el protocolo son validadores. Los validadores proponen y votan bloques en la red en función de su participación general en la ronda. Por lo tanto, la suposición de ⅓ BFT se basa en el “peso” de cada validador, determinado por su participación correlacionada, en lugar de ⅓ del total de nodos participantes..

Los validadores mantienen un nodo de cliente completo con una copia de la cadena de bloques y usan claves públicas como identificadores. los propuesta de bloque La fase es cuando un validador propone un nuevo bloque en una ronda..

los pre-voto La fase es donde los validadores votan sobre el bloque propuesto y pasan a la fase de compromiso previo si más de ⅔ de los validadores votan previamente el bloque propuesto. Esto se conoce como polca.

En la ronda de confirmación previa, si más de ⅔ de los validadores compromete previamente el bloque votado previamente, entonces el bloque se compromete con la cadena de bloques. En particular, cada compromiso previo debe estar justificado por una polca en la misma ronda..

Los validadores que proponen bloques fallidos o firman bloques inapropiados corren el riesgo de tener su participación cortado. El proceso de 3 pasos iterado anteriormente se considera una ronda.

Tendermint es principalmente asincrónico (o débilmente sincrónico) por lo que pueden pasar varias rondas antes de que se confirme un bloqueo. El proceso de propuesta es parcialmente sincrónico mientras que el proceso de votación es asincrónico. Según Tendermint:

“Los validadores pueden fallar en confirmar un bloque por una serie de razones arbitrarias; es decir, el proponente actual puede estar fuera de línea o una red puede estar experimentando latencia. Tendermint permite omitir un validador. Los validadores esperan un poco de tiempo para recibir un bloque de propuesta completo del proponente antes de votar para pasar a la siguiente ronda. Esta dependencia de un tiempo de espera es lo que hace que Tendermint sea un protocolo débilmente sincrónico, en lugar de uno asincrónico. Sin embargo, el resto del protocolo es asincrónico y los validadores solo progresan después de escuchar a más de ⅔ del conjunto de validadores “.

Debido a su diseño, Tendermint garantiza que la seguridad nunca será violada, por lo que una cadena de bloques Tendermint nunca se bifurcará. Sin embargo, la red puede detenerse debido al requisito de que una gran mayoría de los validadores tenga un tiempo de actividad del 100%..

En general, el mecanismo de consenso sacrifica un grado de vitalidad por la seguridad del consenso y la finalidad instantánea.

Interfaz BlockChain de aplicaciones (ABCI)

El ABCI es un componente crítico de la flexibilidad de Tendermint y permite que la replicación BFT de aplicaciones se escriba en cualquier lenguaje de programación..

Tendermint describe la motivación detrás de ABCI como el diseño de pila monolítica de las plataformas de criptomonedas actuales como Bitcoin y Ethereum. Los diseños monolíticos conducen a complejidades de mantenimiento del protocolo y limitan la capacidad de otros lenguajes de programación para interactuar con la cadena de bloques. Por ejemplo, Ethereum admite una máquina virtual de código de bytes completo de Turing, pero los lenguajes de programación se limitan a aquellos que pueden compilar hasta ese código de bytes, como Solidity y Vyper..

La implementación principal de ABCI es el protocolo de socket Tendermint (TSP) y es la forma en que Tendermint Core se comunica con la aplicación. Si bien Tendermint Core es responsable de mantener y verificar el orden canónico de las transacciones en los bloques de la cadena de bloques, la ABCI valida las firmas criptográficas, mantiene la base de datos de transacciones y permite a los clientes consultar la base de datos de transacciones..

La ABCI utiliza 3 tipos de mensajes principales:

  • EntregarTX
  • CheckTX
  • Cometer

los EntregarTX El mensaje acompaña a cada transacción en la cadena de bloques y solo puede actualizar el estado de la aplicación después de la validación..

los CheckTX El mensaje es para validar transacciones y primero lo verifica el mempool de Tendermint Core. Solo las transacciones válidas se propagan a través de la red.

los Cometer El mensaje calcula un compromiso con el estado actual de la aplicación, lo que permite que las pruebas de Merkle se verifiquen con un hash de bloque firmado por un quórum.

El ABCI está orientado a la conexión y Tendermint Core mantiene tres conexiones ABCI a la aplicación.

  • Conexión Mempool
  • Conexión de consenso
  • Conexión de consulta

los Conexión Mempool utiliza el mensaje CheckTX y es para verificar si las transacciones deben retransmitirse antes de que se confirmen.

los Conexión de consenso ejecuta transacciones que se han comprometido.

los Conexión de consulta permite a los clientes consultar el estado de la aplicación.

El ABCI es un componente dinámico del software Tendermint y es parte integral de la capacidad del marco de múltiples cadenas de la red Cosmos, que funciona como el motor de cadena de bloques subyacente de la red..

Crédito de imagen: documentación de Tendermint

Tendermint & La red cosmos

La red cosmos es un marco de blockchain multicadena que se centra en abordar los principales problemas de escalabilidad e interoperabilidad de los sistemas blockchain.

Interoperabilidad blockchain

Leer: Interoperabilidad de blockchain: problemas & Soluciones futuras

Está impulsado por el motor de cadena de bloques BFT clásico de Tendermint y actúa como una estructura más amplia para que las cadenas de bloques independientes se conecten y funcionen dentro de un entorno estandarizado de comunicación. La red permite que las cadenas de bloques públicas y privadas se comuniquen e intercambien valor entre sí y aprovecha la escalabilidad interoperable a través del mecanismo de consenso de prueba de participación de Tendermint..

Además, la ABCI de Tendermint permite a los desarrolladores crear fácilmente diversas cadenas de bloques como parte del ecosistema, utilizando cualquier lenguaje de programación. los SDK de Cosmos es un marco ABCI escrito en el lenguaje de programación Go, y Loción JS es un marco ABCI escrito en JavaScript.

Existe un entusiasmo sustancial en torno a los marcos de cadenas múltiples como Cosmos y Polkadot. Puede encontrar más información y recursos sobre Cosmos y su integración con Tendermint en su documentación.

Conclusión

Tendermint representa otro avance en la investigación y el desarrollo de la tolerancia a fallas bizantinas en redes distribuidas, particularmente en sistemas blockchain. Este tipo de innovaciones son cruciales para el desarrollo de redes blockchain más escalables e interoperables como Cosmos..

Tendermint y progresiones similares en el consenso de BFT son excelentes ejemplos de lo lejos que ha llegado la industria de las criptomonedas para empujar el sobre en tecnologías de vanguardia. Se necesita mucha más innovación para que el concepto más amplio detrás de la tecnología blockchain alcance su verdadero potencial, pero los proyectos están en el camino correcto y están cambiando dinámicamente el panorama de la computación distribuida..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map