HotStuff: de cero a estado del arte

Artículo 36 de 47

77%

completado al llegar aquí

Sistemas distribuidosNota de investigación12 min de lectura

Tusk: Consenso asíncrono y aleatorizado sin timeouts en el camino feliz

Tusk ordena el DAG de Narwhal sin timeouts: una moneda aleatoria compartida elige el líder de cada ola y el orden total sale del grafo sin mensajes extra.

Ruta HotStuff: 0/47

En 1 Minuto

Comprende cómo Tusk (Danezis et al.) ordena el DAG de Narwhal de forma totalmente asíncrona: una moneda aleatoria compartida elige, a posteriori, el líder de cada ola, y el orden total se deriva del grafo sin mensajes adicionales ni timeouts.

Prerrequisitos
  • Teorema FLP explicado de forma sencilla (teorema-flp-explicado-sencillo)
  • Narwhal: mempool DAG para HotStuff (narwhal-dag-mempool-hotstuff)
  • El grafo DAG como una máquina del tiempo (grafo-dirigido-aciclico-dag-maquina-tiempo)
Cuándo Detenerte

Detente cuando puedas explicar por qué el líder de una ola se elige después de construir sus rondas, qué condición del DAG permite comprometerlo y cómo se ordenan los líderes anteriores que no alcanzaron esa condición.

Glosario Rápido de Notación

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

f— Número máximo de fallas bizantinas

Cantidad de réplicas maliciosas o con fallas arbitrarias que tolera el sistema.

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

Ruta mental del consenso asíncrono Tusk

  1. 1. Construcción del mempool DAG

    Narwhal en marcha

  2. 2. Elección del líder de la ola

    Moneda aleatoria compartida

  3. 3. Verificación de soporte

    Votos implícitos en el DAG

  4. 4. Orden total determinista

    Cero mensajes de voto

Ordenamiento del mempool DAG mediante aleatoriedad compartida, sin timeouts.
Explicación Didáctica

Decodificador Didáctico de Conceptos BFT

El consenso Tusk

En palabras simples: Varios equipos dibujan en paralelo un mapa de ciudades conectadas. Cada cierto tiempo, una tómbola transparente sortea cuál ciudad es la capital del periodo, y todos ordenan las ciudades conectadas a esa capital sin discutir entre ellos.

Detalle técnico: Protocolo de consenso asíncrono que interpreta localmente el DAG de Narwhal; una moneda aleatoria elige el líder de cada ola y el orden se deriva sin mensajes extra.

Moneda aleatoria compartida

En palabras simples: Una caja fuerte que solo se abre cuando suficientes custodios introducen su llave; antes de eso, nadie, ni siquiera un grupo pequeño de custodios corruptos, conoce la combinación.

Detalle técnico: Valor aleatorio impredecible antes de revelarse y no sesgable por f validadores bizantinos; puede implementarse con firmas de umbral.

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

Narwhal resolvió la difusión: los datos circulan como batches certificados y el DAG registra qué estaba disponible y en qué orden causal. Pero un DAG no es todavía un libro contable. Falta decidir un orden total que todas las réplicas honestas reproduzcan idéntico.

El paper de Danezis, Kokoris-Kogias, Sonnino y Spiegelman ofrece dos respuestas. Una es Narwhal-HotStuff, que pone un consenso con líder y pacemaker encima del DAG. La otra es Tusk: un protocolo asíncrono que no envía ningún mensaje propio, sino que cada réplica interpreta localmente el DAG con ayuda de una moneda aleatoria compartida.

Para entender por qué eso importa, primero hay que mirar qué se pierde cuando el progreso depende de un reloj. Si necesitas el contexto del DAG, vuelve a Narwhal: mempool DAG para HotStuff.

Qué cuesta depender de timeouts

HotStuff está diseñado para sincronía parcial: garantiza safety siempre, pero su liveness depende de que, después de GST, un líder correcto reciba los votos a tiempo. El componente que vigila eso es el pacemaker, que usa timeouts para abandonar una vista cuyo líder no progresa. El modelo está explicado en sincronía parcial y quórums BFT.

Los timeouts son una apuesta sobre la red:

  • si el plazo es corto, un líder honesto pero lento se sustituye antes de terminar, y la vista vv se pierde;
  • si el plazo es largo, un líder caído o malicioso congela el progreso durante todo ese intervalo;
  • si un adversario controla los retrasos, puede apuntar al líder conocido de la siguiente vista y hacer que sus mensajes lleguen siempre tarde.

El último punto es el más incómodo. En un protocolo con rotación predecible, el atacante sabe a quién retrasar. No necesita romper la criptografía; le basta con manipular el calendario de la red.

¿Por qué no prescindir del reloj sin más? Por FLP: ningún protocolo determinista puede garantizar consenso en un sistema completamente asíncrono si incluso un proceso puede fallar por crash. La salida estándar es la aleatorización. Tusk renuncia al determinismo en la elección del líder y, a cambio, obtiene progreso sin ninguna suposición temporal.

Olas: elegir al líder después de construir el DAG

Tusk agrupa las rondas del DAG de Narwhal en olas (waves). En la primera ronda de una ola, cada validador produce su vértice como siempre. En la ronda siguiente, los nuevos vértices referencian 2f+12f+1 certificados de la ronda anterior, como exige Narwhal, y esas referencias funcionan como votos implícitos. En la ronda que cierra la ola, los validadores aportan su parte de la moneda aleatoria compartida.

Cuando la moneda se revela, todos calculan el mismo líder para la ola ww:

ℓw=coin⁡(w) mod n.\ell_w = \operatorname{coin}(w) \bmod n.

El vértice que ese validador produjo en la primera ronda de la ola es el candidato a comprometerse. La clave es el orden temporal: el líder se conoce después de que el DAG de la ola ya existe. Un adversario que controla los retrasos de la red no sabe qué vértice proteger o castigar mientras las rondas se construyen. Cuando lo sabe, las referencias ya están fijadas.

La moneda debe cumplir dos propiedades: ser impredecible hasta que suficientes validadores aportan su parte, y no poder sesgarse por ff validadores bizantinos. Una construcción habitual usa firmas de umbral sobre el número de ola, de modo que el valor resultante es único y verificable.

Flujo visual

Secuencia de ordenamiento asíncrono en Tusk

Pasos ejecutados localmente por cada réplica para convertir el DAG en un libro contable.
  1. Construir el DAG con Narwhal
  2. Revelar la moneda de la ola
  3. Identificar al líder de la ola
  4. Contar referencias al líder
  5. Ordenar la historia causal del líder

Regla de commit y orden retroactivo

Una vez conocido el líder, cada réplica mira su copia local del DAG. Si al menos f+1f+1 vértices de la segunda ronda de la ola referencian el vértice del líder, la réplica lo compromete. Si no, no hace nada: no hay timeout, no hay cambio de vista, simplemente se pasa a la ola siguiente.

¿Por qué f+1f+1 basta? Por intersección de quórums. Cualquier vértice de la ronda posterior referencia 2f+12f+1 vértices de la segunda ronda. Como hay 3f+13f+1 validadores, un conjunto de f+1f+1 votantes y uno de 2f+12f+1 referencias comparten al menos un vértice. Por lo tanto, todo vértice de rondas futuras tiene un camino hacia el líder comprometido.

Esa propiedad resuelve el caso difícil: réplicas distintas pueden ver el DAG en momentos distintos. Una réplica puede comprometer el líder de la ola ww mientras otra todavía no ve suficientes votos. Cuando esta segunda réplica comprometa un líder posterior, recorre hacia atrás los líderes de olas anteriores que son alcanzables por caminos del DAG y los ordena primero. El líder de ww será alcanzable por la propiedad anterior, así que ambas réplicas terminan con la misma secuencia.

Finalmente, para cada líder en esa secuencia, la réplica toma su historia causal todavía no ordenada y la recorre con una regla determinista común. Como Narwhal certifica cada vértice con 2f+12f+1 firmas, un validador bizantino no puede mostrar vértices distintos a réplicas distintas para la misma ronda, y todas recorren el mismo grafo.

Teorema

Propiedades de Tusk según Danezis et al.

Tusk mantiene safety en un modelo completamente asíncrono y garantiza liveness con probabilidad 1, comprometiendo un líder en un número esperado constante de olas, sin timeouts y sin mensajes de consenso adicionales a los del DAG de Narwhal.
Bosquejo de Demostración: Safety se apoya en la intersección de quórums entre los votos y las referencias de cualquier vértice posterior, que garantiza caminos hacia todo líder comprometido. Liveness se apoya en que la moneda se revela después de construir la ola, de modo que el adversario no puede predecir qué vértice debe quedarse sin soporte.

Cero mensajes extra: dónde está realmente el costo

La afirmación de que Tusk tiene costo de comunicación cero para el orden es literal: no existen mensajes de propuesta, voto ni cambio de vista propios de Tusk. Las referencias que actúan como votos ya forman parte de los vértices que Narwhal construye de todos modos.

Eso no significa que el orden sea gratuito. El costo se desplaza a tres lugares:

  • Latencia en rondas. Un líder solo puede comprometerse cuando la ola termina y la moneda se revela, de modo que la latencia de commit se mide en varias rondas del DAG, no en un par de intercambios.
  • Mala suerte con la moneda. Si la moneda elige a un validador lento o bizantino cuyo vértice no reunió soporte, esa ola no compromete nada y el sistema espera a la siguiente.
  • Trabajo local. Cada réplica recorre el DAG para contar referencias y ordenar historias causales; es cómputo y memoria, no red.
Impacto de Negocio & Finanzas

Qué compra Tusk y qué cobra

Problema Comercial / Operacional

Un consenso con pacemaker depende de timeouts bien calibrados y de un líder predecible, dos puntos que un adversario de red puede explotar.

Solución del Paper (Insight Técnico)

Tusk elige al líder después de construir la ola y deriva el orden del DAG, por lo que el progreso no depende de ningún reloj.

Impacto para el Producto / Negocio: El sistema sigue comprometiendo bajo retrasos arbitrarios, a cambio de una latencia de commit medida en rondas del DAG.
Timeouts para livenessNingunomodelo completamente asíncrono
Elección de líderMoneda compartidarevelada al cerrar la ola
Regla de commitf + 1 referenciasvotos implícitos en el DAG
Mensajes de consenso extraCerotodo viaja en Narwhal

Límites de Tusk y lo que vino después

Asíncrono no significa inmune a la red. Si los mensajes tardan, las rondas tardan, y el commit con ellas. Lo que Tusk garantiza es que ningún patrón de retrasos puede detener el progreso indefinidamente ni romper safety.

Cuando la red es estable, esa robustez tiene un precio visible: un protocolo parcialmente síncrono puede comprometer en menos rondas porque no espera a que una moneda revele al líder. Bullshark ataca exactamente ese hueco. Mantiene el DAG de Narwhal y añade un camino rápido para periodos de sincronía, conservando un comportamiento asíncrono como respaldo.

La comparación honesta con HotStuff sobre Narwhal tampoco es una escalera. Narwhal-HotStuff aprovecha el mismo mempool y puede tener baja latencia cuando los líderes son honestos y la red coopera, pero hereda la dependencia del pacemaker. Tusk elimina esa dependencia a cambio de latencia en el caso común. Elegir entre ambos es elegir qué falla te preocupa más: un adversario de red sofisticado o algunas rondas de latencia adicional en un día tranquilo.

Consenso asíncrono sobre DAG

Checklist de Tusk

5 de 5 revisados

Ideas que deberías poder justificar antes de pasar a Bullshark.
Referencias

Bibliografía académica

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

    G. Danezis, L. Kokoris-Kogias, A. Sonnino, and A. Spiegelman, "Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus," in Proc. EuroSys, pp. 34-50, 2022, doi: 10.1145/3492321.3519594

    PaperID: NARWHAL-TUSK-2021Abrir fuente (abre en otra pestaña)

    Versión publicada en EuroSys 2022 para el DAG mempool y la separación entre disponibilidad de datos y orden total; el ID estable conserva el año del preprint.

  2. [2]

    M. J. Fischer, N. A. Lynch, and M. S. Paterson, "Impossibility of Distributed Consensus with One Faulty Process," JACM, vol. 32, no. 2, pp. 374-382, 1985, doi: 10.1145/3149.214121

    Resultado de imposibilidad para consenso determinista en un sistema completamente asíncrono con una falla por crash.

  3. [3]

    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.

  4. [4]

    A. Spiegelman, N. Giridharan, A. Sonnino, and L. Kokoris-Kogias, "Bullshark," arXiv:2201.05677, 2022.

    DAG-BFT de frontera para comparar con Narwhal/Tusk y HotStuff-like ordering.

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

Siguiente lectura: de Tusk a los motores DAG de producción

El siguiente paso natural son los motores DAG-BFT que parten de esta idea, empezando por Bullshark. Para situar Tusk dentro del panorama completo, revisa el mapa de frontera HotStuff-2 y DAG-BFT y el mapa de blockchain y consenso, que muestra qué capítulos ya están publicados.

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.