HotStuff: de cero a estado del arte

Artículo 15 de 77

19%

completado

Sistemas distribuidosResearch note9 min de lectura

Sincronía parcial y quórums: la calma antes de HotStuff

Qué significa GST, por qué la red no necesita ser perfecta y cómo los quórums sostienen safety mientras liveness espera mejores condiciones.

🎯 En 1 Minuto

Separa safety de liveness bajo sincronía parcial y conecta GST, Δ y quórums con el progreso de un protocolo BFT.

📋 Prerrequisitos
  • Consenso BFT desde cero
  • Intersección de quórums
🛑 Cuándo Detenerte

Continúa cuando puedas explicar qué garantiza el protocolo antes y después de GST sin asumir una red perfecta.

La frase "parcialmente síncrono" parece inventada para dormir audiencias. Pero en consenso BFT es una de las ideas que separa un protocolo bonito en pizarra de uno que puede sobrevivir a internet.

El modelo viene de Dwork, Lynch y Stockmeyer: no asumimos que la red siempre tiene un límite conocido de entrega; asumimos que eventualmente hay un periodo suficientemente estable. A ese punto se le suele llamar GST: Global Stabilization Time.

Línea de tiempo

La historia de una red parcialmente síncrona

Antes de GST, la red puede retrasar mensajes sin piedad. Después de GST, los mensajes entre réplicas correctas llegan dentro de un límite razonable.
  1. Antes

    Asincronía práctica

    timeouts falsos, líderes sospechados, mensajes que llegan tarde

  2. GST

    La red se estabiliza

    no sabemos cuándo ocurre, pero eventualmente ocurre

  3. Después

    Progreso posible

    un líder correcto puede reunir votos y avanzar

Safety no espera a GST

Aquí está el truco: safety no debería depender de que la red esté bonita. Si la red retrasa mensajes durante minutos, el protocolo no debería finalizar dos bloques incompatibles.

Liveness sí es otra historia. Para progresar, el sistema necesita que los mensajes de suficientes réplicas correctas lleguen a tiempo. Por eso los protocolos tienen pacemakers, timeouts y cambios de líder.

Tres números que debes memorizar

Quórums

Aritmética BFT mínima

Estos números aparecen una y otra vez en HotStuff, PBFT, Tendermint y familia.

Réplicas totales

3f + 1

mínimo para tolerar f bizantinas

Quórum

2f + 1

suficiente para certificar una propuesta

Intersección

f + 1

garantiza al menos una réplica correcta compartida

La intersección es la bisagra. Si dos quórums válidos se cruzan en al menos f + 1, y como máximo f son malos, entonces hay una réplica correcta que puede impedir que dos decisiones contradictorias se certifiquen sin romper las reglas.

Responsiveness: la palabra que HotStuff puso de moda

Un protocolo responsive no tiene que esperar el peor timeout Δ cuando la red real está entregando mensajes en δ. Si el líder correcto recibe votos rápido, avanza rápido.

Figura 1

Δ contra δ

Fuentes:[1][2][4]
Δ contra δ
📖 Cómo leer esta figura (Detalle explicativo)

La línea temporal distingue el límite conocido Δ del retardo real δ después de GST. Los mensajes correctos llegan dentro de δ, mucho antes del timeout; un protocolo responsive forma el QC al recibir el quórum y avanza sin esperar hasta Δ. El timeout sigue siendo la red de seguridad para el líder o la red defectuosos.

Visual original de TrautsLab. Responsiveness quiere decir: después de que la red se estabiliza, el líder correcto progresa al ritmo real de los mensajes, no al ritmo pesimista del timeout máximo.

Por qué esto importa para HotStuff

HotStuff combina tres deseos que históricamente costaba tener juntos:

  • comunicación lineal en el camino feliz;
  • cambio de líder simple;
  • progreso responsive con líder correcto después de GST.

No significa que todo sea gratis. Timeouts mal calibrados pueden disparar cambios de vista innecesarios. Líderes malos pueden frenar. La red puede jugar sucio. Pero la estructura de quórums hace que el sistema no tenga que elegir entre "seguro" y "eventualmente vivo" de manera artesanal.

Flujo visual

Cómo se lee una ronda BFT

Este flujo todavía no es HotStuff completo; es el esqueleto mental que usaremos en los siguientes posts.
  1. líder propone
  2. réplicas verifican
  3. votan
  4. se forma QC
  5. la siguiente vista extiende evidencia segura

La señal de que lo entendiste

Si alguien te pregunta por qué HotStuff no decide con mayoría simple, responde con calma:

Porque en BFT no basta con ganar una votación; necesitas que cualquier certificado futuro se cruce con evidencia correcta del pasado.

Esa frase parece pequeña, pero carga media serie encima.

Profundización conceptual

Modelo mental: la red como clima, no como contrato

La sincronía parcial se entiende mejor si dejas de imaginar la red como un contrato y empiezas a verla como clima. En un sistema síncrono fuerte, el contrato dice: "todo mensaje llega antes de Δ". En uno asíncrono puro, nadie te promete nada útil sobre tiempos. DLS propone el punto intermedio que se parece más a producción: durante un rato puede llover horizontalmente, pero eventualmente aparece una ventana donde los mensajes entre réplicas correctas llegan dentro de un límite razonable.

Ese "eventualmente" es GST. Lo importante es que las réplicas no saben cuándo ocurrió. Si lo supieran, el problema sería más cómodo: esperarían hasta GST y listo, cafecito. Como no lo saben, usan timeouts, rondas y cambios de líder para tantear el terreno. Un timeout no prueba que alguien sea bizantino; solo dice que, desde la silla de esa réplica, el mundo no respondió a tiempo.

Por eso la sincronía parcial es tan útil para HotStuff. Permite diseñar protocolos cuya seguridad no depende del reloj, pero cuyo progreso sí se activa cuando la red deja de comportarse como una licuadora con Wi-Fi.

Invariante: safety no debe pedirle permiso al reloj

El invariante fuerte es este: aunque la red esté antes de GST, aunque los mensajes lleguen tarde y aunque las réplicas sospechen falsamente del líder, el protocolo no debe finalizar dos historias incompatibles. Safety es una propiedad de todos los prefijos finitos de una ejecución. Si se rompe en el segundo 17, ya no sirve decir "pero en el segundo 80 la red se estabilizaba". El daño ya ocurrió.

Liveness sí tiene otra naturaleza. Para que el sistema avance, necesita que suficientes mensajes correctos lleguen, que haya un líder correcto durante una ventana útil y que el pacemaker no mantenga a las réplicas corriendo en círculos. Por eso los papers separan con tanto cuidado "nunca decide mal" de "eventualmente decide". En una buena explicación de HotStuff, estas dos garantías no se mezclan en una sopa.

Quórums sostienen el lado de safety: la intersección obliga a que la memoria honesta cruce certificados. GST sostiene el lado de liveness: después de estabilizarse la red, esa memoria puede circular a tiempo.

Escenario adversarial: timeouts que parecen evidencia

Supón que el líder es correcto, pero la red retrasa sus mensajes a un subconjunto de réplicas. Algunas ven una propuesta válida; otras disparan timeout y pasan a la siguiente vista. Si el protocolo tratara cada timeout como prueba de corrupción, castigaría a nodos correctos por culpa de la red. Peor aún: podría hacer que grupos distintos avancen con percepciones incompatibles.

La defensa no es ignorar timeouts; sin timeouts nunca escaparías de un líder muerto. La defensa es hacer que el timeout solo cambie el ritmo del protocolo, no la verdad de las decisiones. Una réplica puede sospechar, moverse de vista y enviar evidencia al próximo líder, pero no debería borrar su lock ni votar por una rama incompatible solo porque se impacientó. El reloj ayuda a buscar progreso; no autoriza a romper safety.

Este patrón se repite en HotStuff: un pacemaker puede mover vistas, pero la seguridad vive en la evidencia certificada. Si alguna explicación convierte el pacemaker en el guardián de safety, sospecha. El pacemaker toca la campana; los QCs y locks deciden qué caminos son seguros.

Cómo leer el paper desde aquí

Cuando un paper dice "partial synchrony", identifica cuál de estas preguntas responde:

  1. ¿Existe un límite de entrega pero no se conoce?
  2. ¿El límite se conoce, pero solo vale después de un tiempo desconocido?
  3. ¿La seguridad vale siempre o solo después de estabilización?
  4. ¿La terminación/progreso depende de un líder correcto, de aleatoriedad, de fallback asíncrono o de un pacemaker específico?

En DLS, busca la separación entre safety y termination. En HotStuff, lee responsiveness como una propiedad posterior a estabilización: si el líder correcto puede recolectar votos rápido, no debería esperar el timeout máximo. Para comparar esa promesa con PBFT, Tendermint y HotStuff-2, usa la lectura comparativa como mapa, no como reemplazo del paper primario. Para analizar qué ocurre cuando el adversario manipula el retardo, contrasta además con el estudio específico de responsiveness encadenada.

La frase operativa es: los relojes ayudan a vivir; los quórums ayudan a no mentir.

Una buena lectura práctica consiste en dibujar dos líneas: arriba, lo que el protocolo promete incluso si la red está insoportable; abajo, lo que promete cuando la red mejora. Si un argumento de liveness se cuela en la línea de safety, hay olor a bug. Si un argumento de safety depende de "esperemos un poquito más", también. Esa separación mental es pequeña, pero evita una cantidad absurda de malentendidos.

Referencias

Bibliografía académica

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

    C. Dwork, N. Lynch, and L. Stockmeyer, "Consensus in the Presence of Partial Synchrony," Journal of the ACM, vol. 35, no. 2, pp. 288-323, 1988.

    PaperID: BFT-DLS-1988🔗 Abrir fuente

    Base formal para GST, sincronía parcial y progreso eventual.

  2. [2]

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

    PaperID: HOTSTUFF-2019🔗 Abrir fuente

    Usa sincronía parcial para razonar sobre responsiveness y view-change.

  3. [3]

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

    Nota técnicaID: HOTSTUFF2-EXPLAINER-2023🔗 Abrir fuente

    Resumen técnico útil para contrastar familias BFT sin perder el modelo.

  4. [4]

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

    PreprintID: RESPONSIVENESS-2025🔗 Abrir fuente

    Análisis de responsiveness encadenada bajo retardos de red adversariales.

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

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.