HotStuff: de cero a estado del arte

Artículo 18 de 47

38%

completado al llegar aquí

Sistemas distribuidosNota de investigación12 min de lectura

El dilema de la responsividad optimista en Tendermint: El precio de esperar al temporizador

Por qué el nuevo líder de Tendermint espera la cota Δ antes de proponer y cómo la fase extra de HotStuff permite avanzar a la velocidad real de la red.

Ruta HotStuff: 0/47

Prerequisitos recomendados

Si alguno de estos conceptos todavía está medio nebuloso, empieza por aquí. Te ahorra tropiezos y un par de cejas fruncidas.

En 1 Minuto

Comprende el compromiso entre fases y responsividad: por qué en Tendermint un líder nuevo espera la cota de retardo Δ antes de proponer, para conocer el lock más alto, y por qué HotStuff paga una fase adicional para poder avanzar al ritmo real de la red.

Prerrequisitos
  • Consenso BFT desde cero (bft-consensus-from-zero)
  • Tendermint visto desde HotStuff (tendermint-locks-hotstuff-lens)
Cuándo Detenerte

Detente cuando puedas explicar qué información necesita un líder nuevo antes de proponer, y por qué Tendermint la obtiene esperando Δ mientras HotStuff la obtiene de n - f mensajes.

Glosario Rápido de Notación

Glosario de Notación Matemática y Criptográfica

v— Vista (View / Round)

Número de vista o ronda actual. Cada vista tiene un único líder designado.

Ejemplo: view = 42
Haz clic en un símbolo para desplegar su definición formal y su aplicación en el protocolo.
Mapa conceptual

Ruta mental de la responsividad: Tendermint frente a HotStuff

  1. Problema

    El lock más alto

  2. Tendermint

    Esperar Δ

  3. HotStuff

    Una fase más

  4. Resultado

    Responsividad optimista

Dos maneras de que un líder nuevo proponga algo que las réplicas bloqueadas acepten.
Explicación Didáctica

Decodificador Didáctico de Conceptos BFT

Esperar la cota en Tendermint

En palabras simples: Un moderador nuevo que, antes de abrir la votación, espera el tiempo máximo que tarda el correo en llegar, para asegurarse de que ningún participante tiene un compromiso previo que él no conoce.

Detalle técnico: Esperar Δ después de GST garantiza que el líder ha recibido el estado de bloqueo de todas las réplicas correctas, a costa de que la ronda tarde al menos Δ aunque la red sea mucho más rápida.

Responsividad optimista en HotStuff

En palabras simples: Un moderador que puede abrir la votación en cuanto recibe respuesta de una mayoría calificada, porque las reglas garantizan que esa mayoría ya contiene la información decisiva.

Detalle técnico: Después de GST, un líder correcto solo necesita esperar las primeras n - f respuestas para formar una propuesta que hará progresar al protocolo.

Traducción de lenguaje formal a analogías intuitivas del mundo real.

En Tendermint visto desde HotStuff estudiamos los locks de Tendermint: cada réplica recuerda el valor y la ronda en que se bloqueó, y solo vota por propuestas compatibles con ese bloqueo o justificadas por evidencia más reciente. Ese mecanismo protege safety, pero crea un problema de liveness cada vez que cambia el líder.

Este artículo trata de ese problema y de las dos maneras de resolverlo. La pregunta es sencilla de formular: ¿cuánto tiene que esperar un líder nuevo antes de proponer? La respuesta separa a Tendermint de HotStuff y explica por qué HotStuff tiene tres fases de votación en lugar de dos.

Qué significa responsividad optimista

HotStuff define la responsividad optimista con precisión: después de GST, un líder correcto, una vez designado, solo necesita esperar las primeras n−fn - f respuestas para garantizar que puede crear una propuesta que hará progresar al protocolo. La palabra "optimista" indica que la garantía aplica en el buen caso, después de la estabilización y con líder correcto; antes de GST nada asegura el progreso.

La diferencia práctica está entre dos magnitudes. Δ\Delta es la cota de retardo que el protocolo usa como supuesto, elegida de forma conservadora para cubrir el peor caso de la red. δ\delta es el retardo real de los mensajes en una ejecución concreta, que normalmente es mucho menor. Un protocolo responsive avanza a un ritmo proporcional a δ\delta; uno que no lo es paga Δ\Delta en algún paso, aunque todos los mensajes hayan llegado mucho antes.

Ojo con esto: la responsividad no dice que el protocolo sea siempre más rápido en la práctica. Dice que su progreso no está atado a una espera fija calibrada para el peor caso. Cuánto se gana depende de la distancia real entre δ\delta y Δ\Delta en el despliegue.

El problema del lock oculto

Para entender por qué un líder nuevo podría necesitar esperar, imaginemos el escenario que preocupa a todos los protocolos con locks. En una ronda anterior, alguna réplica correcta se bloqueó en un valor porque vio suficiente evidencia de que podía haberse decidido. Esa réplica, por las reglas de safety, rechazará propuestas incompatibles con su lock que no traigan justificación más reciente.

El líder nuevo recoge mensajes de n−fn - f réplicas. Pero nada garantiza que la réplica bloqueada esté entre ellas: puede ser una de las ff que todavía no respondieron. Si el líder propone basándose solo en lo que vio, puede proponer algo que la réplica bloqueada rechaza. Si suficientes réplicas correctas quedan en esa situación, ninguna propuesta reúne el quórum y el protocolo no avanza, aunque la red sea perfectamente estable.

El líder tiene entonces tres opciones: pedir a cada réplica una prueba completa de su estado, como hace PBFT en su cambio de vista; esperar lo suficiente para oír a todas las réplicas correctas; o cambiar el protocolo para que lo que ve entre n−fn - f mensajes siempre baste.

La solución de Tendermint: esperar la cota máxima

Tendermint elige la segunda opción. Su protocolo avanza por rondas con pasos de propuesta, prevote y precommit, usa timeouts que crecen con el número de ronda y difunde mensajes por gossip, de modo que después de GST cada réplica correcta termina recibiendo lo que las demás enviaron. Las réplicas recuerdan no solo su lock, sino también el valor más reciente que vieron respaldado por un quórum de prevotes (validValue), y el proponente de una ronda propone ese valor cuando lo tiene.

Leído desde HotStuff, el efecto es que un líder nuevo debe esperar la cota máxima de retardo antes de proponer: solo así, después de GST, tiene garantizado haber recibido el lock más alto de toda réplica correcta. La ventaja es que el cambio de líder sigue siendo barato en comunicación y que bastan dos fases de votación. El precio es la pérdida de responsividad: esa espera dura Δ\Delta aunque la red entregue todo en δ≪Δ\delta \ll \Delta.

Cuidado técnico

Esperar Δ no es un defecto de implementación

La espera del líder en Tendermint no se elimina bajando un parámetro de configuración: es la forma en que el protocolo garantiza que el líder conoce el lock más alto de las réplicas correctas antes de proponer. Quitarla sin cambiar las reglas de bloqueo puede dejar a réplicas correctas rechazando todas las propuestas.
Bosquejo de Demostración: Con dos fases, un lock puede existir en una réplica correcta sin aparecer en ningún subconjunto concreto de n - f mensajes. Solo esperar el retardo máximo después de GST asegura haber oído a todas las réplicas correctas.

La solución de HotStuff: una fase más

HotStuff elige la tercera opción. Añade una fase de votación entre la formación del primer certificado y el bloqueo, de modo que una réplica correcta solo se bloquea cuando ya existe un quórum de réplicas que conocen el certificado correspondiente. Como consecuencia, si alguna réplica correcta está bloqueada, cualquier conjunto de n−fn - f mensajes new-view contiene un highQC al menos tan alto como ese lock.

El líder ya no tiene que esperar a nadie en particular: recoge n−fn - f mensajes new-view, extiende el highQC más alto que encuentra y las réplicas bloqueadas lo aceptan, porque la regla safeNode permite votar por una propuesta cuyo QC es más reciente que el lockedQC local. Además, como cada réplica envía un solo QC, el cambio de líder es lineal en comunicación, que era precisamente lo que PBFT no lograba. El análisis de esa regla de commit está en QC, highQC y la regla de tres cadenas.

El costo es visible en el camino feliz: una fase adicional significa un viaje de ida y vuelta más antes de confirmar una decisión. HotStuff cambia latencia de commit en el caso estable por responsividad y linealidad en el cambio de líder.

Figura 1

Cambio de líder: esperar la cota de red o avanzar con el highQC

Fuentes:

[1][2]
Cambio de líder: esperar la cota de red o avanzar con el highQC
Cómo leer esta figura

Dos paneles. A la izquierda, Tendermint: tras la caída del líder, el nuevo líder espera un tiempo Δ y luego propone. A la derecha, HotStuff: tras la caída del líder, el nuevo líder recibe n − f mensajes new-view, toma el highQC más alto y propone al ritmo real de la red δ, sin esperar Δ.

Visual original de TrautsLab. En Tendermint el nuevo líder espera la cota de red Δ antes de proponer para conocer el lock más alto; en HotStuff propone en cuanto reúne n − f mensajes new-view con su highQC.

El compromiso, sin marketing

Visto en conjunto, ninguna de las dos opciones domina a la otra en todos los ejes. Tendermint tiene dos fases y un cambio de líder lineal, pero no es responsive. HotStuff es responsive y lineal, pero confirma con una fase más. PBFT es responsive con dos fases, pero su cambio de vista no es lineal. Malkhi y Nayak organizan precisamente estos protocolos como puntos distintos de un mismo compromiso entre fases, comunicación en el cambio de vista y responsividad.

La historia no terminó con HotStuff. La misma comparación presenta HotStuff-2 como una forma de recuperar las dos fases sin perder la linealidad, pagando la espera solo en las situaciones de cambio de líder en que es estrictamente necesaria. Ese desarrollo se estudia en HotStuff-2 y la frontera DAG-BFT.

Conviene también no idealizar la propiedad. Un estudio reciente sobre protocolos BFT encadenados analiza cómo se comporta la responsividad cuando el retardo de la red varía, y advierte que su beneficio depende del modelo de red y de las condiciones concretas, no es una ventaja universal. La conclusión práctica es medir: la distancia entre δ\delta y Δ\Delta en el despliegue real decide cuánto vale ahorrar la espera frente a pagar una fase más.

Matriz de decisión

Tres respuestas al problema del lock oculto

Precaución

Probarlo todo (PBFT)

El líder reenvía evidencia completa de los reportes recibidos.

Ideal para
Comités pequeños donde el cambio de vista es raro.
Ojo con
Responsive y con dos fases, pero el cambio de vista no es lineal.

Esperar Δ (Tendermint)

El líder espera la cota máxima de retardo antes de proponer.

Ideal para
Despliegues donde dos fases y mensajes simples pesan más que la latencia del cambio de líder.
Ojo con
Lineal y con dos fases, pero no responsive: cada espera dura Δ aunque la red sea más rápida.
Recomendado

Una fase más (HotStuff)

El highQC entre n - f mensajes siempre basta.

Ideal para
Rotación frecuente de líderes y redes donde δ es mucho menor que Δ.
Ojo con
Lineal y responsive, pero el commit cuesta una fase adicional.
Cómo obtiene un líder nuevo la información necesaria para proponer algo que las réplicas bloqueadas acepten.
Impacto de Negocio & Finanzas

Impacto operativo de la responsividad

Problema Comercial / Operacional

Si la cota Δ se elige de forma conservadora para cubrir el peor caso de la red, un protocolo no responsive paga esa espera en cada cambio de líder aunque la red real sea mucho más rápida.

Solución del Paper (Insight Técnico)

Un protocolo responsive desacopla la latencia del caso normal del parámetro conservador: Δ sigue existiendo como red de seguridad para abandonar vistas, no como ritmo del progreso.

Impacto para el Producto / Negocio: La elección entre esperar Δ y pagar una fase más debe basarse en la latencia real medida, la frecuencia de cambios de líder y el tamaño del comité.
TendermintEspera Δen el cambio de líder
HotStuffAvanza a δtras GST con líder correcto
Costo HotStuff+1 faseen el camino feliz
DecisiónMedir δ y Δsegún el despliegue
Responsiveness Dilemma

Checklist mental de responsividad BFT

4 de 4 revisados

Diferencias clave entre Tendermint y HotStuff.
Referencias

Bibliografía académica

Formato IEEENumerado para ingeniería, sistemas y protocolos.
  1. [1]

    E. Buchman, J. Kwon, and Z. Milosevic, "The latest gossip on BFT consensus," arXiv:1807.04938, 2018.

    PaperID: BFT-TENDERMINT-2018Abrir fuente (abre en otra pestaña)

    Fuente para locks, rondas y finality estilo blockchain en Tendermint.

  2. [2]

    M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, "HotStuff: BFT Consensus in the Lens of Blockchain," PODC, 2019.

    Fuente central para QC, highQC, Chained HotStuff, view-change lineal y three-chain commit.

  3. [3]

    D. Malkhi and K. Nayak, "What is the difference between PBFT, Tendermint, HotStuff, and HotStuff-2?," Decentralized Thoughts, 2023.

    Engineering noteID: HOTSTUFF2-EXPLAINER-2023Abrir fuente (abre en otra pestaña)

    Comparación técnica para ubicar PBFT, Tendermint, HotStuff y HotStuff-2.

  4. [4]

    Y. Tang et al., "Unraveling Responsiveness of Chained BFT Consensus with Network Delay," arXiv:2501.03695, 2025.

    PreprintID: RESPONSIVENESS-2025Abrir fuente (abre en otra pestaña)

    Advertencia útil: responsiveness depende del modelo de red y no es magia universal.

Fuentes primarias, papers seminales y especificaciones técnicas citadas en esta investigación.

Siguiente lectura

Continúa con Uno, dos y tres chains: la taxonomía de commit, donde el número de fases se traduce en reglas de commit sobre cadenas de certificados.

Rutas vecinas

Si este tema te abrió hambre, sigue por aquí.

Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.

Sigue leyendo

Ideas conectadas con este artículo

Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.

Los comentarios se cargan al final de la lectura para no meter peso antes de tiempo.