El mundo de blockchain puede ser un lugar confuso incluso cuando se analiza el protocolo "más simple" como Bitcoin. Las cosas se vuelven un poco más complicadas cuando pasamos a protocolos más nuevos como Ethereum, o incluso a otros más nuevos que toman lo que nos enseñaron las generaciones 1 y 2 y buscan desarrollarlo con nuevas ideas y conceptos.
Uno de esos proyectos que busca revolucionar la forma en que abordamos el desarrollo y uso de la tecnología blockchain es Tendermint.
Tendermint es un nuevo protocolo que ayuda a ordenar eventos en una red distribuida en condiciones adversas. Más comúnmente conocido como algoritmo de consenso bizantino tolerante a fallas (BFT) o transmisión atómica, el problema ha atraído una atención significativa en los últimos años debido al éxito generalizado de las monedas digitales basadas en blockchain, como Bitcoin y Ethereum.
Estas dos monedas resolvieron con éxito el problema de gestionar dicha red en un entorno público sin una autoridad central, creando lo que ahora llamamos cadenas de bloques públicas descentralizadas. Tendermint moderniza el trabajo académico clásico sobre el tema y simplifica el diseño del algoritmo BFT al confiar en un protocolo de chismes de igual a igual entre nodos.
Lo que aprenderás 👉
Tendermint existe en una pila con Cosmos, una plataforma blockchain que sirve como mediador y se describe a sí misma como "Internet de Blockchains"; esta plataforma lanzó su blockchain hace apenas un par de días, iniciando la existencia práctica del ecosistema Cosmos/Tendermint. Todo el ecosistema funciona de manera similar a Ethereum, excepto que es más modular, flexible y más fácil de desarrollar.
Cosmos SDK actúa como la capa de aplicación del ecosistema (similar al EVM de Ethereum), mientras que Tendermint representa tanto la capa de consenso (algoritmo de consenso de prueba de participación tolerante a BFT) como la capa de red (Tendermint Core).
El algoritmo de consenso + el protocolo de red p2p que se combinan en la pila Tendermint Core están conectados al SDK de Cosmos a través de otro elemento separado del ecosistema llamado Application Blockchain Interface (ABCI).
Cosmos SDK es la implementación básica de ABCI y representa la parte modular del ecosistema; Es una capa de aplicación básica que los desarrolladores pueden aprovechar y mejorar con funciones personalizadas. Esto permite que las cadenas de bloques ya existentes creen aplicaciones basadas en Tendermint que pueden conectarse al ecosistema e intercambiar mensajes y valor entre sí.
Es por eso que Tendermint y Cosmos utilizan el apodo de "Internet de Blockchains"; Todo el sistema quiere convertirse en un centro que permita la interoperabilidad entre diferentes cadenas de bloques.
Una empresa californiana con fines de lucro detrás del proyecto (también llamada Tendermint), separó los tres elementos principales mencionados anteriormente y luego conectó la capa de red/consenso bajo la pila de Tendermint.
Esto se hace para que los componentes de la tecnología sean más fáciles de usar y reparar, sin tener que desarrollar todo el ecosistema cuando se desea cambiar algo. Los desarrolladores principales, Jae Kwon como Ethan Buchman, querían crear algo que fuera fácil de entender, implementar y desarrollar, y Tendermint es el resultado final de sus esfuerzos.
⚡️ Antes de Tendermint, construir una cadena de bloques requería construir las tres capas (redes, consenso, aplicación) desde cero. Ethereum simplificó esto al proporcionar una cadena de bloques de máquina virtual en la que cualquiera podría implementar lógica personalizada en forma de contratos inteligentes. Quedaba un problema: el desarrollo de la propia cadena de bloques. Tendermint simplifica significativamente el proceso, ya que los desarrolladores solo deben preocuparse por la capa de aplicación.
Las capas de creación de redes y consenso ya se proporcionan a través del motor Tendermint Core; todo lo que necesita hacer es adaptar ABCI a través del lenguaje de programación de su elección, desarrollar su aplicación única y comenzar a utilizar las funciones de Tendermint.
El equipo de Tendermint hizo algo como esto tomando el código base de Ethereum, eliminando PoW y conectando el resultado final sobre su Tendermint Core. Esto creó Ethermint, un protocolo similar a Ethereum que tenía capacidades de prueba de participación. Todas las herramientas Ethereum existentes (Truffle, Metamask, etc.) son compatibles con Ethermint y puede trasladar sus contratos inteligentes allí sin ningún trabajo adicional.
Un elemento importante de toda la ecuación que todavía no mencionamos pero que es muy importante para la interoperabilidad de blockchain es el protocolo de comunicación entre cadenas de bloques (IBC). IBC permite que cadenas heterogéneas transfieran valor y datos entre sí, lo que en última instancia desbloquea la interoperabilidad entre cadenas de bloques que tienen diferentes aplicaciones y conjuntos de validadores.
Para evitar problemas de escalabilidad que pueden surgir con cientos o miles de blockchains futuras, Cosmos propone una arquitectura modular con dos clases de blockchain: Hubs y Zones.
Las zonas son cadenas de bloques heterogéneas regulares y los centros son cadenas de bloques diseñadas específicamente para conectar zonas entre sí. Cuando una Zona crea una conexión IBC con un Hub, puede acceder automáticamente (es decir, enviar y recibir desde) cualquier otra zona que esté conectada a ella. Como resultado, cada Zona sólo necesita establecer un número limitado de conexiones con un conjunto restringido de Hubs.
Los centros también evitan el doble gasto entre zonas. Esto significa que cuando una Zona recibe un token de un Hub, solo necesita confiar en la Zona de origen de este token y en el Hub. El primer centro (Cosmos Hub) ya se lanzó hace un par de días. Algunas cadenas no serán completamente compatibles con Tendermint; Para solucionar este problema, los desarrolladores idearon las llamadas zonas de clavija .
La criptografía de Tendermint en sí no es tan avanzada, siendo las firmas ECDSA la pieza de tecnología más "exótica" del ecosistema. La agregación de firmas BLS, las pruebas de conocimiento cero y las cuentas de Ristretto se mencionaron durante la reciente transmisión en vivo posterior al lanzamiento, pero ninguna de ellas parece estar en el horizonte todavía.
La tecnología se puede utilizar para la creación de cadenas tanto públicas como privadas; las primeras operan a través de PoS y las segundas a través de nodos autorizados; ambos sistemas serán BFT. Los bloques en Tendermint Core pueden tener un tiempo de bloqueo de un segundo y se consideran instantáneamente definitivos; de lo contrario, sería seguro asumir que la red está sufriendo un ataque del 33% (más de un tercio de los validadores son maliciosos).
Una cadena de bloques debe ser tolerante a fallas bizantinas, es decir, capaz de tolerar nodos potencialmente maliciosos que comunican estados y mensajes falsos a la red y ponen en peligro el consenso. La ciencia sobre los sistemas bizantinos tolerantes a fallas era escasa ya que este tema no era tan popular en el mundo académico.
La poca investigación que se realizó se centró en redes de tamaño de muestra pequeño de hasta 7 nodos; Los desarrolladores de Tendermint querían algo que pudiera escalar a un nivel superior. Incluso cuando Bitcoin introdujo un sistema capaz de soportar miles de nodos independientes, el sistema tenía (y todavía tiene) un único dominio administrativo que limita significativamente su escalabilidad.
Kwon y sus socios imaginaron un protocolo BFT que podría escalar a cientos de nodos en el entorno sin permiso con Prueba de participación (PoS) como mecanismo de seguridad subyacente. Se les ocurrió el sistema basado en BFT que tiene dos elementos clave que ya hemos nombrado: Tendermint Core, que se utiliza para alcanzar consenso y "chismorrear", y Cosmos SDK, que sirve como capa de aplicación.
Su algoritmo BFT Proof-of-Stake supera el problema de los generales bizantinos mediante el uso de un modelo de red parcialmente síncrono, lo que significa que los validadores que votan en un bloque no necesitan actuar al mismo tiempo. Los bloques en este sistema no se votan según un cronograma ni tienen un tamaño determinado.
⚡️ En Bitcoin, que se considera "totalmente sincrónico", tenemos un período de tiempo establecido de 10 minutos que los nodos tienen para buscar, recopilar, validar y agregar transacciones a un bloque. Con Ethereum, este período de tiempo es de sólo 15 segundos. Todo esto está muy bien hasta que se rompe la sincronía; algunos de los nodos pueden desconectarse y sufrir problemas de latencia, en cuyo caso la cadena puede detenerse o bifurcarse.
Tendermint pretende implementar un modelo más centralizado, que rechace estas limitaciones de tiempo debido a que sus nodos operan de manera asincrónica.
El protocolo es más asincrónico: en lugar de que cada ronda tome un período de tiempo predeterminado, cada paso de una ronda progresa después de que más de 2/3 de los nodos lleguen a un consenso. Esta falta de sincronización es parcial y el proyecto se refiere a ella como “débilmente asíncrona”. Los validadores son bien conocidos y pueden comunicarse entre sí para coordinar sus esfuerzos y garantizar que siempre se alcance el consenso de la red. Todo esto implica que su red, de hecho, nunca se bifurcará.
Tendermint reasigna periódicamente a los validadores el derecho de proponer un bloque para mitigar ligeramente los posibles problemas con la centralización de este proceso. Una vez propuestos los bloques, los validadores votan en un proceso determinista de múltiples rondas.
Para ampliar esto debemos darnos cuenta de que en el mundo de los protocolos, tenemos protocolos no deterministas y deterministas. Los protocolos no deterministas son los que vemos en sistemas completamente asíncronos. El consenso de un caso puramente asincrónico puede depender de oráculos aleatorios y generalmente genera una sobrecarga de mensajes de alta complejidad, ya que dependen de una transmisión confiable para todas las comunicaciones.
Tendermint evita estos altos gastos generales siguiendo la ruta determinista; En realidad, nada es aleatorio, sino que se realiza a través de una función matemática definida que nos permite hacer una predicción de que el protocolo tiene la garantía de tomar decisiones.
Con Tendermint, los validadores se rotan con la ayuda de un formato determinista de turnos ponderados. Cuanto más interés tenga un validador, más veces podrá ser elegido líder. Actualmente, el protocolo tiene un límite de cien validadores; sin embargo, el equipo posiblemente considere agregar más validadores si es necesario. Esto garantiza que el sistema sea seguro en entornos asincrónicos y activo en entornos débilmente sincrónicos. En general, el mecanismo de consenso sacrifica cierto grado de vivacidad por la seguridad del consenso y una finalidad instantánea.
Tendermint es un concepto interesante que quizás parezca y suene más complicado en el papel de lo que realmente es. Es básicamente un EOS de interoperabilidad y tiene muchas similitudes con Ethereum y una gran cantidad de sus proyectos clonados. El principal objetivo de Tendermint es abordar la cuestión de la interoperabilidad de blockchain y se enfrenta a una fuerte oposición en ese mercado. Ark, ICON, Polkadot, AION y proyectos similares tienen el mismo objetivo en mente, por lo que queda por ver quién saldrá victorioso.
Descargo de responsabilidad:
Este artículo está reimpreso de Captainaltcoin]. Todos los derechos de autor pertenecen al autor original [Dobrica Blagojevic]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
El mundo de blockchain puede ser un lugar confuso incluso cuando se analiza el protocolo "más simple" como Bitcoin. Las cosas se vuelven un poco más complicadas cuando pasamos a protocolos más nuevos como Ethereum, o incluso a otros más nuevos que toman lo que nos enseñaron las generaciones 1 y 2 y buscan desarrollarlo con nuevas ideas y conceptos.
Uno de esos proyectos que busca revolucionar la forma en que abordamos el desarrollo y uso de la tecnología blockchain es Tendermint.
Tendermint es un nuevo protocolo que ayuda a ordenar eventos en una red distribuida en condiciones adversas. Más comúnmente conocido como algoritmo de consenso bizantino tolerante a fallas (BFT) o transmisión atómica, el problema ha atraído una atención significativa en los últimos años debido al éxito generalizado de las monedas digitales basadas en blockchain, como Bitcoin y Ethereum.
Estas dos monedas resolvieron con éxito el problema de gestionar dicha red en un entorno público sin una autoridad central, creando lo que ahora llamamos cadenas de bloques públicas descentralizadas. Tendermint moderniza el trabajo académico clásico sobre el tema y simplifica el diseño del algoritmo BFT al confiar en un protocolo de chismes de igual a igual entre nodos.
Lo que aprenderás 👉
Tendermint existe en una pila con Cosmos, una plataforma blockchain que sirve como mediador y se describe a sí misma como "Internet de Blockchains"; esta plataforma lanzó su blockchain hace apenas un par de días, iniciando la existencia práctica del ecosistema Cosmos/Tendermint. Todo el ecosistema funciona de manera similar a Ethereum, excepto que es más modular, flexible y más fácil de desarrollar.
Cosmos SDK actúa como la capa de aplicación del ecosistema (similar al EVM de Ethereum), mientras que Tendermint representa tanto la capa de consenso (algoritmo de consenso de prueba de participación tolerante a BFT) como la capa de red (Tendermint Core).
El algoritmo de consenso + el protocolo de red p2p que se combinan en la pila Tendermint Core están conectados al SDK de Cosmos a través de otro elemento separado del ecosistema llamado Application Blockchain Interface (ABCI).
Cosmos SDK es la implementación básica de ABCI y representa la parte modular del ecosistema; Es una capa de aplicación básica que los desarrolladores pueden aprovechar y mejorar con funciones personalizadas. Esto permite que las cadenas de bloques ya existentes creen aplicaciones basadas en Tendermint que pueden conectarse al ecosistema e intercambiar mensajes y valor entre sí.
Es por eso que Tendermint y Cosmos utilizan el apodo de "Internet de Blockchains"; Todo el sistema quiere convertirse en un centro que permita la interoperabilidad entre diferentes cadenas de bloques.
Una empresa californiana con fines de lucro detrás del proyecto (también llamada Tendermint), separó los tres elementos principales mencionados anteriormente y luego conectó la capa de red/consenso bajo la pila de Tendermint.
Esto se hace para que los componentes de la tecnología sean más fáciles de usar y reparar, sin tener que desarrollar todo el ecosistema cuando se desea cambiar algo. Los desarrolladores principales, Jae Kwon como Ethan Buchman, querían crear algo que fuera fácil de entender, implementar y desarrollar, y Tendermint es el resultado final de sus esfuerzos.
⚡️ Antes de Tendermint, construir una cadena de bloques requería construir las tres capas (redes, consenso, aplicación) desde cero. Ethereum simplificó esto al proporcionar una cadena de bloques de máquina virtual en la que cualquiera podría implementar lógica personalizada en forma de contratos inteligentes. Quedaba un problema: el desarrollo de la propia cadena de bloques. Tendermint simplifica significativamente el proceso, ya que los desarrolladores solo deben preocuparse por la capa de aplicación.
Las capas de creación de redes y consenso ya se proporcionan a través del motor Tendermint Core; todo lo que necesita hacer es adaptar ABCI a través del lenguaje de programación de su elección, desarrollar su aplicación única y comenzar a utilizar las funciones de Tendermint.
El equipo de Tendermint hizo algo como esto tomando el código base de Ethereum, eliminando PoW y conectando el resultado final sobre su Tendermint Core. Esto creó Ethermint, un protocolo similar a Ethereum que tenía capacidades de prueba de participación. Todas las herramientas Ethereum existentes (Truffle, Metamask, etc.) son compatibles con Ethermint y puede trasladar sus contratos inteligentes allí sin ningún trabajo adicional.
Un elemento importante de toda la ecuación que todavía no mencionamos pero que es muy importante para la interoperabilidad de blockchain es el protocolo de comunicación entre cadenas de bloques (IBC). IBC permite que cadenas heterogéneas transfieran valor y datos entre sí, lo que en última instancia desbloquea la interoperabilidad entre cadenas de bloques que tienen diferentes aplicaciones y conjuntos de validadores.
Para evitar problemas de escalabilidad que pueden surgir con cientos o miles de blockchains futuras, Cosmos propone una arquitectura modular con dos clases de blockchain: Hubs y Zones.
Las zonas son cadenas de bloques heterogéneas regulares y los centros son cadenas de bloques diseñadas específicamente para conectar zonas entre sí. Cuando una Zona crea una conexión IBC con un Hub, puede acceder automáticamente (es decir, enviar y recibir desde) cualquier otra zona que esté conectada a ella. Como resultado, cada Zona sólo necesita establecer un número limitado de conexiones con un conjunto restringido de Hubs.
Los centros también evitan el doble gasto entre zonas. Esto significa que cuando una Zona recibe un token de un Hub, solo necesita confiar en la Zona de origen de este token y en el Hub. El primer centro (Cosmos Hub) ya se lanzó hace un par de días. Algunas cadenas no serán completamente compatibles con Tendermint; Para solucionar este problema, los desarrolladores idearon las llamadas zonas de clavija .
La criptografía de Tendermint en sí no es tan avanzada, siendo las firmas ECDSA la pieza de tecnología más "exótica" del ecosistema. La agregación de firmas BLS, las pruebas de conocimiento cero y las cuentas de Ristretto se mencionaron durante la reciente transmisión en vivo posterior al lanzamiento, pero ninguna de ellas parece estar en el horizonte todavía.
La tecnología se puede utilizar para la creación de cadenas tanto públicas como privadas; las primeras operan a través de PoS y las segundas a través de nodos autorizados; ambos sistemas serán BFT. Los bloques en Tendermint Core pueden tener un tiempo de bloqueo de un segundo y se consideran instantáneamente definitivos; de lo contrario, sería seguro asumir que la red está sufriendo un ataque del 33% (más de un tercio de los validadores son maliciosos).
Una cadena de bloques debe ser tolerante a fallas bizantinas, es decir, capaz de tolerar nodos potencialmente maliciosos que comunican estados y mensajes falsos a la red y ponen en peligro el consenso. La ciencia sobre los sistemas bizantinos tolerantes a fallas era escasa ya que este tema no era tan popular en el mundo académico.
La poca investigación que se realizó se centró en redes de tamaño de muestra pequeño de hasta 7 nodos; Los desarrolladores de Tendermint querían algo que pudiera escalar a un nivel superior. Incluso cuando Bitcoin introdujo un sistema capaz de soportar miles de nodos independientes, el sistema tenía (y todavía tiene) un único dominio administrativo que limita significativamente su escalabilidad.
Kwon y sus socios imaginaron un protocolo BFT que podría escalar a cientos de nodos en el entorno sin permiso con Prueba de participación (PoS) como mecanismo de seguridad subyacente. Se les ocurrió el sistema basado en BFT que tiene dos elementos clave que ya hemos nombrado: Tendermint Core, que se utiliza para alcanzar consenso y "chismorrear", y Cosmos SDK, que sirve como capa de aplicación.
Su algoritmo BFT Proof-of-Stake supera el problema de los generales bizantinos mediante el uso de un modelo de red parcialmente síncrono, lo que significa que los validadores que votan en un bloque no necesitan actuar al mismo tiempo. Los bloques en este sistema no se votan según un cronograma ni tienen un tamaño determinado.
⚡️ En Bitcoin, que se considera "totalmente sincrónico", tenemos un período de tiempo establecido de 10 minutos que los nodos tienen para buscar, recopilar, validar y agregar transacciones a un bloque. Con Ethereum, este período de tiempo es de sólo 15 segundos. Todo esto está muy bien hasta que se rompe la sincronía; algunos de los nodos pueden desconectarse y sufrir problemas de latencia, en cuyo caso la cadena puede detenerse o bifurcarse.
Tendermint pretende implementar un modelo más centralizado, que rechace estas limitaciones de tiempo debido a que sus nodos operan de manera asincrónica.
El protocolo es más asincrónico: en lugar de que cada ronda tome un período de tiempo predeterminado, cada paso de una ronda progresa después de que más de 2/3 de los nodos lleguen a un consenso. Esta falta de sincronización es parcial y el proyecto se refiere a ella como “débilmente asíncrona”. Los validadores son bien conocidos y pueden comunicarse entre sí para coordinar sus esfuerzos y garantizar que siempre se alcance el consenso de la red. Todo esto implica que su red, de hecho, nunca se bifurcará.
Tendermint reasigna periódicamente a los validadores el derecho de proponer un bloque para mitigar ligeramente los posibles problemas con la centralización de este proceso. Una vez propuestos los bloques, los validadores votan en un proceso determinista de múltiples rondas.
Para ampliar esto debemos darnos cuenta de que en el mundo de los protocolos, tenemos protocolos no deterministas y deterministas. Los protocolos no deterministas son los que vemos en sistemas completamente asíncronos. El consenso de un caso puramente asincrónico puede depender de oráculos aleatorios y generalmente genera una sobrecarga de mensajes de alta complejidad, ya que dependen de una transmisión confiable para todas las comunicaciones.
Tendermint evita estos altos gastos generales siguiendo la ruta determinista; En realidad, nada es aleatorio, sino que se realiza a través de una función matemática definida que nos permite hacer una predicción de que el protocolo tiene la garantía de tomar decisiones.
Con Tendermint, los validadores se rotan con la ayuda de un formato determinista de turnos ponderados. Cuanto más interés tenga un validador, más veces podrá ser elegido líder. Actualmente, el protocolo tiene un límite de cien validadores; sin embargo, el equipo posiblemente considere agregar más validadores si es necesario. Esto garantiza que el sistema sea seguro en entornos asincrónicos y activo en entornos débilmente sincrónicos. En general, el mecanismo de consenso sacrifica cierto grado de vivacidad por la seguridad del consenso y una finalidad instantánea.
Tendermint es un concepto interesante que quizás parezca y suene más complicado en el papel de lo que realmente es. Es básicamente un EOS de interoperabilidad y tiene muchas similitudes con Ethereum y una gran cantidad de sus proyectos clonados. El principal objetivo de Tendermint es abordar la cuestión de la interoperabilidad de blockchain y se enfrenta a una fuerte oposición en ese mercado. Ark, ICON, Polkadot, AION y proyectos similares tienen el mismo objetivo en mente, por lo que queda por ver quién saldrá victorioso.
Descargo de responsabilidad:
Este artículo está reimpreso de Captainaltcoin]. Todos los derechos de autor pertenecen al autor original [Dobrica Blagojevic]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.